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

#include "onnx/onnx-ml.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/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.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;
#ifdef PROTOBUF_MESSAGE_GLOBALS
namespace {
PROTOBUF_CONSTINIT ::google::protobuf::internal::ReflectionData
    file_reflection_data[] = {
        // ::onnx::AttributeProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::ValueInfoProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::NodeProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::IntIntListEntryProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::NodeDeviceConfigurationProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::ShardingSpecProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::ShardedDimProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::SimpleShardedDimProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TrainingInfoProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::ModelProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::DeviceConfigurationProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::StringStringEntryProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TensorAnnotation
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::GraphProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TensorProto_Segment
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TensorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::SparseTensorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TensorShapeProto_Dimension
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TensorShapeProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto_Tensor
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto_Sequence
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto_Map
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto_Optional
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto_SparseTensor
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto_Opaque
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::TypeProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::OperatorSetIdProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
        // ::onnx::FunctionProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_onnx_2fonnx_2dml_2eproto, /* tracker*/ nullptr,},
};
}  // namespace
#endif
namespace onnx {
class TypeProto_Opaque::_Internal {
 public:
  using HasBits = decltype(::std::declval<TypeProto_Opaque>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _impl_._has_bits_);
};

constexpr TypeProto_Opaque::ParseTableT_ TypeProto_Opaque::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TypeProto_Opaque>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _impl_.name_)}},
      // optional string domain = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _impl_.domain_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string domain = 1;
      {PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _impl_.domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string name = 2;
      {PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr TypeProto_Opaque::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr TypeProto_Opaque::TypeProto_Opaque(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto_Opaque::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_Opaque(arena);
}
constexpr auto TypeProto_Opaque::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TypeProto_Opaque), alignof(TypeProto_Opaque));
}
constexpr auto TypeProto_Opaque::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto_Opaque::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_Opaque>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_Opaque::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_Opaque>(), &TypeProto_Opaque::ByteSizeLong,
              &TypeProto_Opaque::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_Opaque, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[24],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProto_OpaqueGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProto_OpaqueGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_Opaque_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto_Opaque::InternalGenerateClassData_(
            _default, &TypeProto_Opaque_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Opaque>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProto_OpaqueGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto_Opaque _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Opaque>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProto_OpaqueGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TensorShapeProto_Dimension::ParseTableT_ TensorShapeProto_Dimension::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_._has_bits_),
      0, // no _extensions_
      3, 0,  // 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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TensorShapeProto_Dimension>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string denotation = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.denotation_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 dim_value = 1;
      {PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.value_.dim_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)},
      // string dim_param = 2;
      {PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.value_.dim_param_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string denotation = 3;
      {PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.denotation_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr TensorShapeProto_Dimension::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        denotation_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_{},
        _oneof_case_{} {}

template <typename>
constexpr TensorShapeProto_Dimension::TensorShapeProto_Dimension(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TensorShapeProto_Dimension::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorShapeProto_Dimension(arena);
}
constexpr auto TensorShapeProto_Dimension::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TensorShapeProto_Dimension), alignof(TensorShapeProto_Dimension));
}
constexpr auto TensorShapeProto_Dimension::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TensorShapeProto_Dimension::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorShapeProto_Dimension>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorShapeProto_Dimension::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorShapeProto_Dimension>(), &TensorShapeProto_Dimension::ByteSizeLong,
              &TensorShapeProto_Dimension::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[17],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TensorShapeProto_DimensionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TensorShapeProto_DimensionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TensorShapeProto_Dimension_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TensorShapeProto_Dimension::InternalGenerateClassData_(
            _default, &TensorShapeProto_Dimension_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TensorShapeProto_Dimension>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TensorShapeProto_DimensionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TensorShapeProto_Dimension _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TensorShapeProto_Dimension>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TensorShapeProto_DimensionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TensorProto_Segment::ParseTableT_ TensorProto_Segment::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TensorProto_Segment>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 end = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(TensorProto_Segment, _impl_.end_), 1>(),
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.end_)}},
      // optional int64 begin = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(TensorProto_Segment, _impl_.begin_), 0>(),
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.begin_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 begin = 1;
      {PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.begin_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 end = 2;
      {PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.end_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr TensorProto_Segment::TensorProto_Segment(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TensorProto_Segment::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorProto_Segment(arena);
}
constexpr auto TensorProto_Segment::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TensorProto_Segment), alignof(TensorProto_Segment));
}
constexpr auto TensorProto_Segment::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TensorProto_Segment::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorProto_Segment>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorProto_Segment::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorProto_Segment>(), &TensorProto_Segment::ByteSizeLong,
              &TensorProto_Segment::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[14],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TensorProto_SegmentGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TensorProto_SegmentGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TensorProto_Segment_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TensorProto_Segment::InternalGenerateClassData_(
            _default, &TensorProto_Segment_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TensorProto_Segment>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TensorProto_SegmentGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TensorProto_Segment _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TensorProto_Segment>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TensorProto_SegmentGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr StringStringEntryProto::ParseTableT_ StringStringEntryProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string value = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.value_)}},
      // optional string key = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.key_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string key = 1;
      {PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.key_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string value = 2;
      {PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.value_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr StringStringEntryProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr StringStringEntryProto::StringStringEntryProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL StringStringEntryProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) StringStringEntryProto(arena);
}
constexpr auto StringStringEntryProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(StringStringEntryProto), alignof(StringStringEntryProto));
}
constexpr auto StringStringEntryProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &StringStringEntryProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<StringStringEntryProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &StringStringEntryProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<StringStringEntryProto>(), &StringStringEntryProto::ByteSizeLong,
              &StringStringEntryProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[11],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct StringStringEntryProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr StringStringEntryProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 StringStringEntryProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(StringStringEntryProto::InternalGenerateClassData_(
            _default, &StringStringEntryProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<StringStringEntryProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~StringStringEntryProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) StringStringEntryProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<StringStringEntryProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(StringStringEntryProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SimpleShardedDimProto::ParseTableT_ SimpleShardedDimProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SimpleShardedDimProto, _impl_._has_bits_),
      0, // no _extensions_
      3, 0,  // 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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::SimpleShardedDimProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 num_shards = 3;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SimpleShardedDimProto, _impl_.num_shards_), 0>(),
       {24, 0, 0,
        PROTOBUF_FIELD_OFFSET(SimpleShardedDimProto, _impl_.num_shards_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 dim_value = 1;
      {PROTOBUF_FIELD_OFFSET(SimpleShardedDimProto, _impl_.dim_.dim_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)},
      // string dim_param = 2;
      {PROTOBUF_FIELD_OFFSET(SimpleShardedDimProto, _impl_.dim_.dim_param_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 num_shards = 3;
      {PROTOBUF_FIELD_OFFSET(SimpleShardedDimProto, _impl_.num_shards_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SimpleShardedDimProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        num_shards_{::int64_t{0}},
        dim_{},
        _oneof_case_{} {}

template <typename>
constexpr SimpleShardedDimProto::SimpleShardedDimProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SimpleShardedDimProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SimpleShardedDimProto(arena);
}
constexpr auto SimpleShardedDimProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SimpleShardedDimProto), alignof(SimpleShardedDimProto));
}
constexpr auto SimpleShardedDimProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SimpleShardedDimProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<SimpleShardedDimProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SimpleShardedDimProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<SimpleShardedDimProto>(), &SimpleShardedDimProto::ByteSizeLong,
              &SimpleShardedDimProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SimpleShardedDimProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[7],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct SimpleShardedDimProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SimpleShardedDimProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SimpleShardedDimProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SimpleShardedDimProto::InternalGenerateClassData_(
            _default, &SimpleShardedDimProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SimpleShardedDimProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SimpleShardedDimProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SimpleShardedDimProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SimpleShardedDimProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SimpleShardedDimProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr OperatorSetIdProto::ParseTableT_ OperatorSetIdProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::OperatorSetIdProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 version = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(OperatorSetIdProto, _impl_.version_), 1>(),
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.version_)}},
      // optional string domain = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.domain_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string domain = 1;
      {PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 version = 2;
      {PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr OperatorSetIdProto::OperatorSetIdProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL OperatorSetIdProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) OperatorSetIdProto(arena);
}
constexpr auto OperatorSetIdProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OperatorSetIdProto), alignof(OperatorSetIdProto));
}
constexpr auto OperatorSetIdProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &OperatorSetIdProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<OperatorSetIdProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &OperatorSetIdProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<OperatorSetIdProto>(), &OperatorSetIdProto::ByteSizeLong,
              &OperatorSetIdProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[26],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct OperatorSetIdProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr OperatorSetIdProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 OperatorSetIdProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(OperatorSetIdProto::InternalGenerateClassData_(
            _default, &OperatorSetIdProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<OperatorSetIdProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~OperatorSetIdProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) OperatorSetIdProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<OperatorSetIdProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(OperatorSetIdProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IntIntListEntryProto::ParseTableT_ IntIntListEntryProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IntIntListEntryProto, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::IntIntListEntryProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated int64 value = 2;
      {::_pbi::TcParser::FastV64R1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(IntIntListEntryProto, _impl_.value_)}},
      // optional int64 key = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(IntIntListEntryProto, _impl_.key_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(IntIntListEntryProto, _impl_.key_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 key = 1;
      {PROTOBUF_FIELD_OFFSET(IntIntListEntryProto, _impl_.key_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated int64 value = 2;
      {PROTOBUF_FIELD_OFFSET(IntIntListEntryProto, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr IntIntListEntryProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::IntIntListEntryProto,
            PROTOBUF_FIELD_OFFSET(::onnx::IntIntListEntryProto, _impl_.value_)>()
         }
        ,
        key_{::int64_t{0}} {}

template <typename>
constexpr IntIntListEntryProto::IntIntListEntryProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL IntIntListEntryProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IntIntListEntryProto(arena);
}
constexpr auto IntIntListEntryProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(IntIntListEntryProto), alignof(IntIntListEntryProto));
}
constexpr auto IntIntListEntryProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &IntIntListEntryProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<IntIntListEntryProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IntIntListEntryProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<IntIntListEntryProto>(), &IntIntListEntryProto::ByteSizeLong,
              &IntIntListEntryProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IntIntListEntryProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[3],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct IntIntListEntryProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IntIntListEntryProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IntIntListEntryProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IntIntListEntryProto::InternalGenerateClassData_(
            _default, &IntIntListEntryProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IntIntListEntryProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IntIntListEntryProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IntIntListEntryProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IntIntListEntryProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IntIntListEntryProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DeviceConfigurationProto::ParseTableT_ DeviceConfigurationProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::DeviceConfigurationProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_.name_)}},
      // optional int32 num_devices = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DeviceConfigurationProto, _impl_.num_devices_), 2>(),
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_.num_devices_)}},
      // repeated string device = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_.device_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 num_devices = 2;
      {PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_.num_devices_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated string device = 3;
      {PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_.device_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DeviceConfigurationProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        device_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::DeviceConfigurationProto,
            PROTOBUF_FIELD_OFFSET(::onnx::DeviceConfigurationProto, _impl_.device_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        num_devices_{0} {}

template <typename>
constexpr DeviceConfigurationProto::DeviceConfigurationProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DeviceConfigurationProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DeviceConfigurationProto(arena);
}
constexpr auto DeviceConfigurationProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(DeviceConfigurationProto), alignof(DeviceConfigurationProto));
}
constexpr auto DeviceConfigurationProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &DeviceConfigurationProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<DeviceConfigurationProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DeviceConfigurationProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<DeviceConfigurationProto>(), &DeviceConfigurationProto::ByteSizeLong,
              &DeviceConfigurationProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DeviceConfigurationProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[10],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct DeviceConfigurationProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DeviceConfigurationProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DeviceConfigurationProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DeviceConfigurationProto::InternalGenerateClassData_(
            _default, &DeviceConfigurationProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DeviceConfigurationProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DeviceConfigurationProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DeviceConfigurationProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DeviceConfigurationProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DeviceConfigurationProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TensorShapeProto::ParseTableT_ TensorShapeProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TensorShapeProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.TensorShapeProto.Dimension dim = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_.dim_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .onnx.TensorShapeProto.Dimension dim = 1;
      {PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_.dim_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorShapeProto_Dimension>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorShapeProto_Dimension_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TensorShapeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dim_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorShapeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto, _impl_.dim_)>()
         }
     {}

template <typename>
constexpr TensorShapeProto::TensorShapeProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TensorShapeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorShapeProto(arena);
}
constexpr auto TensorShapeProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TensorShapeProto), alignof(TensorShapeProto));
}
constexpr auto TensorShapeProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TensorShapeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorShapeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorShapeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorShapeProto>(), &TensorShapeProto::ByteSizeLong,
              &TensorShapeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[18],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TensorShapeProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TensorShapeProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TensorShapeProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TensorShapeProto::InternalGenerateClassData_(
            _default, &TensorShapeProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TensorShapeProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TensorShapeProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TensorShapeProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TensorShapeProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TensorShapeProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TensorProto::ParseTableT_ TensorProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_._has_bits_),
      0, // no _extensions_
      16, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294918144,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TensorProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.StringStringEntryProto metadata_props = 16;
      {::_pbi::TcParser::FastMtR2,
       {386, 8, 2,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.metadata_props_)}},
      // repeated int64 dims = 1;
      {::_pbi::TcParser::FastV64R1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.dims_)}},
      // optional int32 data_type = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TensorProto, _impl_.data_type_), 13>(),
       {16, 13, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_type_)}},
      // optional .onnx.TensorProto.Segment segment = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 12, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.segment_)}},
      // repeated float float_data = 4 [packed = true];
      {::_pbi::TcParser::FastF32P1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.float_data_)}},
      // repeated int32 int32_data = 5 [packed = true];
      {::_pbi::TcParser::FastV32P1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int32_data_)}},
      // repeated bytes string_data = 6;
      {::_pbi::TcParser::FastBR1,
       {50, 3, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.string_data_)}},
      // repeated int64 int64_data = 7 [packed = true];
      {::_pbi::TcParser::FastV64P1,
       {58, 4, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int64_data_)}},
      // optional string name = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 9, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.name_)}},
      // optional bytes raw_data = 9;
      {::_pbi::TcParser::FastBS1,
       {74, 10, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.raw_data_)}},
      // repeated double double_data = 10 [packed = true];
      {::_pbi::TcParser::FastF64P1,
       {82, 5, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.double_data_)}},
      // repeated uint64 uint64_data = 11 [packed = true];
      {::_pbi::TcParser::FastV64P1,
       {90, 6, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.uint64_data_)}},
      // optional string doc_string = 12;
      {::_pbi::TcParser::FastBS1,
       {98, 11, 0,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.doc_string_)}},
      // repeated .onnx.StringStringEntryProto external_data = 13;
      {::_pbi::TcParser::FastMtR1,
       {106, 7, 1,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.external_data_)}},
      // optional .onnx.TensorProto.DataLocation data_location = 14;
      {::_pbi::TcParser::FastEr0S1,
       {112, 14, 1,
        PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_location_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated int64 dims = 1;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.dims_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
      // optional int32 data_type = 2;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_type_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .onnx.TensorProto.Segment segment = 3;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.segment_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated float float_data = 4 [packed = true];
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.float_data_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedFloat)},
      // repeated int32 int32_data = 5 [packed = true];
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int32_data_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // repeated bytes string_data = 6;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.string_data_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated int64 int64_data = 7 [packed = true];
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int64_data_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
      // optional string name = 8;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.name_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes raw_data = 9;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.raw_data_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated double double_data = 10 [packed = true];
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.double_data_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedDouble)},
      // repeated uint64 uint64_data = 11 [packed = true];
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.uint64_data_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
      // optional string doc_string = 12;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.StringStringEntryProto external_data = 13;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.external_data_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .onnx.TensorProto.DataLocation data_location = 14;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_location_), _Internal::kHasBitsOffset + 14, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // repeated .onnx.StringStringEntryProto metadata_props = 16;
      {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.metadata_props_), _Internal::kHasBitsOffset + 8, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorProto_Segment>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorProto_Segment_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
        {0, 1},
    }},
    {{
    }},
  };
}


inline constexpr TensorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dims_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.dims_)>()
         }
        ,
        float_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.float_data_)>()
         }
        ,
        int32_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int32_data_)>()
         }
        ,
        _int32_data_cached_byte_size_{0},
        string_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.string_data_)>()
         }
        ,
        int64_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int64_data_)>()
         }
        ,
        _int64_data_cached_byte_size_{0},
        double_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.double_data_)>()
         }
        ,
        uint64_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.uint64_data_)>()
         }
        ,
        _uint64_data_cached_byte_size_{0},
        external_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.external_data_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.metadata_props_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        raw_data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        segment_{nullptr},
        data_type_{0},
        data_location_{static_cast< ::onnx::TensorProto_DataLocation >(0)} {}

template <typename>
constexpr TensorProto::TensorProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TensorProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorProto(arena);
}
constexpr auto TensorProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TensorProto), alignof(TensorProto));
}
constexpr auto TensorProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TensorProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorProto>(), &TensorProto::ByteSizeLong,
              &TensorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[15],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TensorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TensorProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TensorProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TensorProto::InternalGenerateClassData_(
            _default, &TensorProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TensorProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TensorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TensorProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TensorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TensorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TensorAnnotation::ParseTableT_ TensorAnnotation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TensorAnnotation, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TensorAnnotation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.StringStringEntryProto quant_parameter_tensor_names = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TensorAnnotation, _impl_.quant_parameter_tensor_names_)}},
      // optional string tensor_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(TensorAnnotation, _impl_.tensor_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string tensor_name = 1;
      {PROTOBUF_FIELD_OFFSET(TensorAnnotation, _impl_.tensor_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.StringStringEntryProto quant_parameter_tensor_names = 2;
      {PROTOBUF_FIELD_OFFSET(TensorAnnotation, _impl_.quant_parameter_tensor_names_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TensorAnnotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        quant_parameter_tensor_names_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorAnnotation,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorAnnotation, _impl_.quant_parameter_tensor_names_)>()
         }
        ,
        tensor_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr TensorAnnotation::TensorAnnotation(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TensorAnnotation::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorAnnotation(arena);
}
constexpr auto TensorAnnotation::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TensorAnnotation), alignof(TensorAnnotation));
}
constexpr auto TensorAnnotation::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TensorAnnotation::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorAnnotation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorAnnotation::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorAnnotation>(), &TensorAnnotation::ByteSizeLong,
              &TensorAnnotation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorAnnotation, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[12],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TensorAnnotationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TensorAnnotationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TensorAnnotation_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TensorAnnotation::InternalGenerateClassData_(
            _default, &TensorAnnotation_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TensorAnnotation>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TensorAnnotationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TensorAnnotation _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TensorAnnotation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TensorAnnotationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ShardedDimProto::ParseTableT_ ShardedDimProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ShardedDimProto, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::ShardedDimProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.SimpleShardedDimProto simple_sharding = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ShardedDimProto, _impl_.simple_sharding_)}},
      // optional int64 axis = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ShardedDimProto, _impl_.axis_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(ShardedDimProto, _impl_.axis_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 axis = 1;
      {PROTOBUF_FIELD_OFFSET(ShardedDimProto, _impl_.axis_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated .onnx.SimpleShardedDimProto simple_sharding = 2;
      {PROTOBUF_FIELD_OFFSET(ShardedDimProto, _impl_.simple_sharding_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::SimpleShardedDimProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::SimpleShardedDimProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ShardedDimProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        simple_sharding_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardedDimProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardedDimProto, _impl_.simple_sharding_)>()
         }
        ,
        axis_{::int64_t{0}} {}

template <typename>
constexpr ShardedDimProto::ShardedDimProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ShardedDimProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ShardedDimProto(arena);
}
constexpr auto ShardedDimProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ShardedDimProto), alignof(ShardedDimProto));
}
constexpr auto ShardedDimProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ShardedDimProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ShardedDimProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ShardedDimProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ShardedDimProto>(), &ShardedDimProto::ByteSizeLong,
              &ShardedDimProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ShardedDimProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[6],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct ShardedDimProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ShardedDimProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ShardedDimProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ShardedDimProto::InternalGenerateClassData_(
            _default, &ShardedDimProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ShardedDimProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ShardedDimProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ShardedDimProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ShardedDimProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ShardedDimProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TypeProto_Tensor::ParseTableT_ TypeProto_Tensor::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TypeProto_Tensor>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .onnx.TensorShapeProto shape = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.shape_)}},
      // optional int32 elem_type = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeProto_Tensor, _impl_.elem_type_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.elem_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 elem_type = 1;
      {PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.elem_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .onnx.TensorShapeProto shape = 2;
      {PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.shape_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorShapeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorShapeProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr TypeProto_Tensor::TypeProto_Tensor(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto_Tensor::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_Tensor(arena);
}
constexpr auto TypeProto_Tensor::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TypeProto_Tensor), alignof(TypeProto_Tensor));
}
constexpr auto TypeProto_Tensor::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto_Tensor::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_Tensor>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_Tensor::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_Tensor>(), &TypeProto_Tensor::ByteSizeLong,
              &TypeProto_Tensor::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[19],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProto_TensorGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProto_TensorGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_Tensor_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto_Tensor::InternalGenerateClassData_(
            _default, &TypeProto_Tensor_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Tensor>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProto_TensorGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto_Tensor _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Tensor>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProto_TensorGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TypeProto_SparseTensor::ParseTableT_ TypeProto_SparseTensor::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensor, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TypeProto_SparseTensor>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .onnx.TensorShapeProto shape = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensor, _impl_.shape_)}},
      // optional int32 elem_type = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeProto_SparseTensor, _impl_.elem_type_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensor, _impl_.elem_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 elem_type = 1;
      {PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensor, _impl_.elem_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .onnx.TensorShapeProto shape = 2;
      {PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensor, _impl_.shape_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorShapeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorShapeProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr TypeProto_SparseTensor::TypeProto_SparseTensor(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto_SparseTensor::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_SparseTensor(arena);
}
constexpr auto TypeProto_SparseTensor::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TypeProto_SparseTensor), alignof(TypeProto_SparseTensor));
}
constexpr auto TypeProto_SparseTensor::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto_SparseTensor::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_SparseTensor>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_SparseTensor::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_SparseTensor>(), &TypeProto_SparseTensor::ByteSizeLong,
              &TypeProto_SparseTensor::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensor, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[23],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProto_SparseTensorGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProto_SparseTensorGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_SparseTensor_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto_SparseTensor::InternalGenerateClassData_(
            _default, &TypeProto_SparseTensor_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_SparseTensor>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProto_SparseTensorGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto_SparseTensor _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_SparseTensor>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProto_SparseTensorGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SparseTensorProto::ParseTableT_ SparseTensorProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SparseTensorProto, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::SparseTensorProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .onnx.TensorProto values = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.values_)}},
      // optional .onnx.TensorProto indices = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 2, 1,
        PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.indices_)}},
      // repeated int64 dims = 3;
      {::_pbi::TcParser::FastV64R1,
       {24, 0, 0,
        PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.dims_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .onnx.TensorProto values = 1;
      {PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.values_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .onnx.TensorProto indices = 2;
      {PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.indices_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated int64 dims = 3;
      {PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.dims_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr SparseTensorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dims_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::SparseTensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::SparseTensorProto, _impl_.dims_)>()
         }
        ,
        values_{nullptr},
        indices_{nullptr} {}

template <typename>
constexpr SparseTensorProto::SparseTensorProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SparseTensorProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SparseTensorProto(arena);
}
constexpr auto SparseTensorProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SparseTensorProto), alignof(SparseTensorProto));
}
constexpr auto SparseTensorProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SparseTensorProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<SparseTensorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SparseTensorProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<SparseTensorProto>(), &SparseTensorProto::ByteSizeLong,
              &SparseTensorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[16],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct SparseTensorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SparseTensorProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SparseTensorProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SparseTensorProto::InternalGenerateClassData_(
            _default, &SparseTensorProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SparseTensorProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SparseTensorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SparseTensorProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SparseTensorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SparseTensorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ShardingSpecProto::ParseTableT_ ShardingSpecProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::ShardingSpecProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.ShardedDimProto sharded_dim = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 2, 1,
        PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.sharded_dim_)}},
      // optional string tensor_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 3, 0,
        PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.tensor_name_)}},
      // repeated int64 device = 2;
      {::_pbi::TcParser::FastV64R1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.device_)}},
      // repeated .onnx.IntIntListEntryProto index_to_device_group_map = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.index_to_device_group_map_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string tensor_name = 1;
      {PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.tensor_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated int64 device = 2;
      {PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.device_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
      // repeated .onnx.IntIntListEntryProto index_to_device_group_map = 3;
      {PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.index_to_device_group_map_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.ShardedDimProto sharded_dim = 4;
      {PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_.sharded_dim_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::IntIntListEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::IntIntListEntryProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::ShardedDimProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::ShardedDimProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ShardingSpecProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        device_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardingSpecProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.device_)>()
         }
        ,
        index_to_device_group_map_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardingSpecProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.index_to_device_group_map_)>()
         }
        ,
        sharded_dim_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardingSpecProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.sharded_dim_)>()
         }
        ,
        tensor_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr ShardingSpecProto::ShardingSpecProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ShardingSpecProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ShardingSpecProto(arena);
}
constexpr auto ShardingSpecProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ShardingSpecProto), alignof(ShardingSpecProto));
}
constexpr auto ShardingSpecProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ShardingSpecProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ShardingSpecProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ShardingSpecProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ShardingSpecProto>(), &ShardingSpecProto::ByteSizeLong,
              &ShardingSpecProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ShardingSpecProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[5],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct ShardingSpecProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ShardingSpecProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ShardingSpecProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ShardingSpecProto::InternalGenerateClassData_(
            _default, &ShardingSpecProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ShardingSpecProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ShardingSpecProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ShardingSpecProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ShardingSpecProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ShardingSpecProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TypeProto::ParseTableT_ TypeProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TypeProto, _impl_._has_bits_),
      0, // no _extensions_
      9, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966790,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      6,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TypeProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string denotation = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 0, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.denotation_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .onnx.TypeProto.Tensor tensor_type = 1;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.tensor_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .onnx.TypeProto.Sequence sequence_type = 4;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.sequence_type_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .onnx.TypeProto.Map map_type = 5;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.map_type_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string denotation = 6;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.denotation_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .onnx.TypeProto.Opaque opaque_type = 7;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.opaque_type_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .onnx.TypeProto.SparseTensor sparse_tensor_type = 8;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.sparse_tensor_type_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .onnx.TypeProto.Optional optional_type = 9;
      {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.optional_type_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto_Tensor>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_Tensor_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto_Sequence>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_Sequence_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto_Map>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_Map_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto_Opaque>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_Opaque_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto_SparseTensor>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_SparseTensor_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto_Optional>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_Optional_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TypeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        denotation_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_{},
        _oneof_case_{} {}

template <typename>
constexpr TypeProto::TypeProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto(arena);
}
constexpr auto TypeProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TypeProto), alignof(TypeProto));
}
constexpr auto TypeProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto>(), &TypeProto::ByteSizeLong,
              &TypeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[25],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto::InternalGenerateClassData_(
            _default, &TypeProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TypeProto_Map::ParseTableT_ TypeProto_Map::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TypeProto_Map, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TypeProto_Map>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .onnx.TypeProto value_type = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_Map, _impl_.value_type_)}},
      // optional int32 key_type = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeProto_Map, _impl_.key_type_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(TypeProto_Map, _impl_.key_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 key_type = 1;
      {PROTOBUF_FIELD_OFFSET(TypeProto_Map, _impl_.key_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .onnx.TypeProto value_type = 2;
      {PROTOBUF_FIELD_OFFSET(TypeProto_Map, _impl_.value_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr TypeProto_Map::TypeProto_Map(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto_Map::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_Map(arena);
}
constexpr auto TypeProto_Map::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TypeProto_Map), alignof(TypeProto_Map));
}
constexpr auto TypeProto_Map::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto_Map::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_Map>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_Map::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_Map>(), &TypeProto_Map::ByteSizeLong,
              &TypeProto_Map::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_Map, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[21],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProto_MapGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProto_MapGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_Map_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto_Map::InternalGenerateClassData_(
            _default, &TypeProto_Map_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Map>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProto_MapGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto_Map _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Map>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProto_MapGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

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


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

template <typename>
constexpr TypeProto_Optional::TypeProto_Optional(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto_Optional::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_Optional(arena);
}
constexpr auto TypeProto_Optional::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TypeProto_Optional), alignof(TypeProto_Optional));
}
constexpr auto TypeProto_Optional::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto_Optional::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_Optional>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_Optional::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_Optional>(), &TypeProto_Optional::ByteSizeLong,
              &TypeProto_Optional::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_Optional, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[22],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProto_OptionalGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProto_OptionalGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_Optional_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto_Optional::InternalGenerateClassData_(
            _default, &TypeProto_Optional_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Optional>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProto_OptionalGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto_Optional _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Optional>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProto_OptionalGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

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


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

template <typename>
constexpr TypeProto_Sequence::TypeProto_Sequence(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TypeProto_Sequence::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_Sequence(arena);
}
constexpr auto TypeProto_Sequence::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TypeProto_Sequence), alignof(TypeProto_Sequence));
}
constexpr auto TypeProto_Sequence::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TypeProto_Sequence::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_Sequence>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_Sequence::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_Sequence>(), &TypeProto_Sequence::ByteSizeLong,
              &TypeProto_Sequence::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_Sequence, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[20],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TypeProto_SequenceGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeProto_SequenceGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeProto_Sequence_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeProto_Sequence::InternalGenerateClassData_(
            _default, &TypeProto_Sequence_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Sequence>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeProto_SequenceGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeProto_Sequence _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeProto_Sequence>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeProto_SequenceGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr NodeDeviceConfigurationProto::ParseTableT_ NodeDeviceConfigurationProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::NodeDeviceConfigurationProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string configuration_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_.configuration_id_)}},
      // repeated .onnx.ShardingSpecProto sharding_spec = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_.sharding_spec_)}},
      // optional int32 pipeline_stage = 3;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NodeDeviceConfigurationProto, _impl_.pipeline_stage_), 2>(),
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_.pipeline_stage_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string configuration_id = 1;
      {PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_.configuration_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.ShardingSpecProto sharding_spec = 2;
      {PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_.sharding_spec_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional int32 pipeline_stage = 3;
      {PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_.pipeline_stage_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::ShardingSpecProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::ShardingSpecProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr NodeDeviceConfigurationProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sharding_spec_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeDeviceConfigurationProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeDeviceConfigurationProto, _impl_.sharding_spec_)>()
         }
        ,
        configuration_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pipeline_stage_{0} {}

template <typename>
constexpr NodeDeviceConfigurationProto::NodeDeviceConfigurationProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL NodeDeviceConfigurationProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) NodeDeviceConfigurationProto(arena);
}
constexpr auto NodeDeviceConfigurationProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(NodeDeviceConfigurationProto), alignof(NodeDeviceConfigurationProto));
}
constexpr auto NodeDeviceConfigurationProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &NodeDeviceConfigurationProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<NodeDeviceConfigurationProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &NodeDeviceConfigurationProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<NodeDeviceConfigurationProto>(), &NodeDeviceConfigurationProto::ByteSizeLong,
              &NodeDeviceConfigurationProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[4],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct NodeDeviceConfigurationProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr NodeDeviceConfigurationProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 NodeDeviceConfigurationProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(NodeDeviceConfigurationProto::InternalGenerateClassData_(
            _default, &NodeDeviceConfigurationProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<NodeDeviceConfigurationProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~NodeDeviceConfigurationProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) NodeDeviceConfigurationProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<NodeDeviceConfigurationProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(NodeDeviceConfigurationProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ValueInfoProto::ParseTableT_ ValueInfoProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ValueInfoProto, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::ValueInfoProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.StringStringEntryProto metadata_props = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 0, 1,
        PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.metadata_props_)}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.name_)}},
      // optional .onnx.TypeProto type = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 3, 0,
        PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.type_)}},
      // optional string doc_string = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.doc_string_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .onnx.TypeProto type = 2;
      {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string doc_string = 3;
      {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.StringStringEntryProto metadata_props = 4;
      {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.metadata_props_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ValueInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ValueInfoProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.metadata_props_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_{nullptr} {}

template <typename>
constexpr ValueInfoProto::ValueInfoProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ValueInfoProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ValueInfoProto(arena);
}
constexpr auto ValueInfoProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ValueInfoProto), alignof(ValueInfoProto));
}
constexpr auto ValueInfoProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ValueInfoProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ValueInfoProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ValueInfoProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ValueInfoProto>(), &ValueInfoProto::ByteSizeLong,
              &ValueInfoProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[1],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct ValueInfoProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ValueInfoProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ValueInfoProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ValueInfoProto::InternalGenerateClassData_(
            _default, &ValueInfoProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ValueInfoProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ValueInfoProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ValueInfoProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ValueInfoProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ValueInfoProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AttributeProto::ParseTableT_ AttributeProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_._has_bits_),
      0, // no _extensions_
      23, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4287072256,  // skipmap
      offsetof(ParseTableT_, field_entries),
      18,  // num_field_entries
      9,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::AttributeProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 7, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.name_)}},
      // optional float f = 2;
      {::_pbi::TcParser::FastF32S1,
       {21, 16, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.f_)}},
      // optional int64 i = 3;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(AttributeProto, _impl_.i_), 15>(),
       {24, 15, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.i_)}},
      // optional bytes s = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 8, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.s_)}},
      // optional .onnx.TensorProto t = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 11, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.t_)}},
      // optional .onnx.GraphProto g = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 12, 1,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.g_)}},
      // repeated float floats = 7;
      {::_pbi::TcParser::FastF32R1,
       {61, 0, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.floats_)}},
      // repeated int64 ints = 8;
      {::_pbi::TcParser::FastV64R1,
       {64, 1, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ints_)}},
      // repeated bytes strings = 9;
      {::_pbi::TcParser::FastBR1,
       {74, 2, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.strings_)}},
      // repeated .onnx.TensorProto tensors = 10;
      {::_pbi::TcParser::FastMtR1,
       {82, 3, 2,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tensors_)}},
      // repeated .onnx.GraphProto graphs = 11;
      {::_pbi::TcParser::FastMtR1,
       {90, 4, 3,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.graphs_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string doc_string = 13;
      {::_pbi::TcParser::FastBS1,
       {106, 9, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.doc_string_)}},
      // optional .onnx.TypeProto tp = 14;
      {::_pbi::TcParser::FastMtS1,
       {114, 13, 4,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tp_)}},
      // repeated .onnx.TypeProto type_protos = 15;
      {::_pbi::TcParser::FastMtR1,
       {122, 5, 5,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_protos_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional .onnx.AttributeProto.AttributeType type = 20;
      {::_pbi::TcParser::FastEr0S2,
       {416, 17, 14,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_)}},
      // optional string ref_attr_name = 21;
      {::_pbi::TcParser::FastBS2,
       {426, 10, 0,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ref_attr_name_)}},
      // optional .onnx.SparseTensorProto sparse_tensor = 22;
      {::_pbi::TcParser::FastMtS2,
       {434, 14, 6,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.sparse_tensor_)}},
      // repeated .onnx.SparseTensorProto sparse_tensors = 23;
      {::_pbi::TcParser::FastMtR2,
       {442, 6, 7,
        PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.sparse_tensors_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.name_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional float f = 2;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.f_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // optional int64 i = 3;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.i_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bytes s = 4;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.s_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .onnx.TensorProto t = 5;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.t_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .onnx.GraphProto g = 6;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.g_), _Internal::kHasBitsOffset + 12, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated float floats = 7;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.floats_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFloat)},
      // repeated int64 ints = 8;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ints_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
      // repeated bytes strings = 9;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.strings_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated .onnx.TensorProto tensors = 10;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tensors_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.GraphProto graphs = 11;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.graphs_), _Internal::kHasBitsOffset + 4, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string doc_string = 13;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .onnx.TypeProto tp = 14;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tp_), _Internal::kHasBitsOffset + 13, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.TypeProto type_protos = 15;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_protos_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .onnx.AttributeProto.AttributeType type = 20;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_), _Internal::kHasBitsOffset + 17, 8, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string ref_attr_name = 21;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ref_attr_name_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .onnx.SparseTensorProto sparse_tensor = 22;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.sparse_tensor_), _Internal::kHasBitsOffset + 14, 6, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.SparseTensorProto sparse_tensors = 23;
      {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.sparse_tensors_), _Internal::kHasBitsOffset + 6, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::GraphProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::GraphProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::GraphProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::GraphProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TypeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TypeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::SparseTensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::SparseTensorProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::SparseTensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::SparseTensorProto_globals_},
        #endif
        {0, 14},
    }},
    {{
    }},
  };
}


inline constexpr AttributeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        floats_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.floats_)>()
         }
        ,
        ints_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.ints_)>()
         }
        ,
        strings_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.strings_)>()
         }
        ,
        tensors_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.tensors_)>()
         }
        ,
        graphs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.graphs_)>()
         }
        ,
        type_protos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.type_protos_)>()
         }
        ,
        sparse_tensors_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.sparse_tensors_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        s_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ref_attr_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        t_{nullptr},
        g_{nullptr},
        tp_{nullptr},
        sparse_tensor_{nullptr},
        i_{::int64_t{0}},
        f_{0},
        type_{static_cast< ::onnx::AttributeProto_AttributeType >(0)} {}

template <typename>
constexpr AttributeProto::AttributeProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AttributeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AttributeProto(arena);
}
constexpr auto AttributeProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AttributeProto), alignof(AttributeProto));
}
constexpr auto AttributeProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AttributeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<AttributeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AttributeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<AttributeProto>(), &AttributeProto::ByteSizeLong,
              &AttributeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[0],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct AttributeProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AttributeProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AttributeProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AttributeProto::InternalGenerateClassData_(
            _default, &AttributeProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AttributeProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AttributeProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AttributeProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AttributeProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AttributeProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GraphProto::ParseTableT_ GraphProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GraphProto, _impl_._has_bits_),
      0, // no _extensions_
      16, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294902252,  // 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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::GraphProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.StringStringEntryProto metadata_props = 16;
      {::_pbi::TcParser::FastMtR2,
       {386, 7, 7,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.metadata_props_)}},
      // repeated .onnx.NodeProto node = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.node_)}},
      // optional string name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 8, 0,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.name_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .onnx.TensorProto initializer = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 1, 1,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.initializer_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string doc_string = 10;
      {::_pbi::TcParser::FastBS1,
       {82, 9, 0,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.doc_string_)}},
      // repeated .onnx.ValueInfoProto input = 11;
      {::_pbi::TcParser::FastMtR1,
       {90, 2, 2,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.input_)}},
      // repeated .onnx.ValueInfoProto output = 12;
      {::_pbi::TcParser::FastMtR1,
       {98, 3, 3,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.output_)}},
      // repeated .onnx.ValueInfoProto value_info = 13;
      {::_pbi::TcParser::FastMtR1,
       {106, 4, 4,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.value_info_)}},
      // repeated .onnx.TensorAnnotation quantization_annotation = 14;
      {::_pbi::TcParser::FastMtR1,
       {114, 5, 5,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.quantization_annotation_)}},
      // repeated .onnx.SparseTensorProto sparse_initializer = 15;
      {::_pbi::TcParser::FastMtR1,
       {122, 6, 6,
        PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.sparse_initializer_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .onnx.NodeProto node = 1;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.node_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string name = 2;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.name_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.TensorProto initializer = 5;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.initializer_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string doc_string = 10;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.ValueInfoProto input = 11;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.input_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.ValueInfoProto output = 12;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.output_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.ValueInfoProto value_info = 13;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.value_info_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.TensorAnnotation quantization_annotation = 14;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.quantization_annotation_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.SparseTensorProto sparse_initializer = 15;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.sparse_initializer_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.StringStringEntryProto metadata_props = 16;
      {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.metadata_props_), _Internal::kHasBitsOffset + 7, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::NodeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::NodeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::ValueInfoProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::ValueInfoProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::ValueInfoProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::ValueInfoProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::ValueInfoProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::ValueInfoProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TensorAnnotation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TensorAnnotation_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::SparseTensorProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::SparseTensorProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr GraphProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        node_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.node_)>()
         }
        ,
        initializer_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.initializer_)>()
         }
        ,
        input_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.input_)>()
         }
        ,
        output_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.output_)>()
         }
        ,
        value_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.value_info_)>()
         }
        ,
        quantization_annotation_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.quantization_annotation_)>()
         }
        ,
        sparse_initializer_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.sparse_initializer_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.metadata_props_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr GraphProto::GraphProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL GraphProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GraphProto(arena);
}
constexpr auto GraphProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GraphProto), alignof(GraphProto));
}
constexpr auto GraphProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &GraphProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<GraphProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GraphProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<GraphProto>(), &GraphProto::ByteSizeLong,
              &GraphProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GraphProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[13],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct GraphProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GraphProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GraphProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GraphProto::InternalGenerateClassData_(
            _default, &GraphProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GraphProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GraphProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GraphProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GraphProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GraphProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr NodeProto::ParseTableT_ NodeProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NodeProto, _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
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::NodeProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated string input = 1;
      {::_pbi::TcParser::FastBR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.input_)}},
      // repeated string output = 2;
      {::_pbi::TcParser::FastBR1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.output_)}},
      // optional string name = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 5, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.name_)}},
      // optional string op_type = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 6, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.op_type_)}},
      // repeated .onnx.AttributeProto attribute = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.attribute_)}},
      // optional string doc_string = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 7, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.doc_string_)}},
      // optional string domain = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 8, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.domain_)}},
      // optional string overload = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 9, 0,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.overload_)}},
      // repeated .onnx.StringStringEntryProto metadata_props = 9;
      {::_pbi::TcParser::FastMtR1,
       {74, 3, 1,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.metadata_props_)}},
      // repeated .onnx.NodeDeviceConfigurationProto device_configurations = 10;
      {::_pbi::TcParser::FastMtR1,
       {82, 4, 2,
        PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.device_configurations_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string input = 1;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.input_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string output = 2;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.output_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string name = 3;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.name_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string op_type = 4;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.op_type_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.AttributeProto attribute = 5;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.attribute_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string doc_string = 6;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string domain = 7;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.domain_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string overload = 8;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.overload_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.StringStringEntryProto metadata_props = 9;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.metadata_props_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.NodeDeviceConfigurationProto device_configurations = 10;
      {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.device_configurations_), _Internal::kHasBitsOffset + 4, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::AttributeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::AttributeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::NodeDeviceConfigurationProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::NodeDeviceConfigurationProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr NodeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        input_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.input_)>()
         }
        ,
        output_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.output_)>()
         }
        ,
        attribute_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.attribute_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.metadata_props_)>()
         }
        ,
        device_configurations_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.device_configurations_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        op_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        overload_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr NodeProto::NodeProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL NodeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) NodeProto(arena);
}
constexpr auto NodeProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(NodeProto), alignof(NodeProto));
}
constexpr auto NodeProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &NodeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<NodeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &NodeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<NodeProto>(), &NodeProto::ByteSizeLong,
              &NodeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(NodeProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[2],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct NodeProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr NodeProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 NodeProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(NodeProto::InternalGenerateClassData_(
            _default, &NodeProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<NodeProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~NodeProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) NodeProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<NodeProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(NodeProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TrainingInfoProto::ParseTableT_ TrainingInfoProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _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
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::TrainingInfoProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .onnx.StringStringEntryProto update_binding = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 1, 3,
        PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.update_binding_)}},
      // optional .onnx.GraphProto initialization = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 2, 0,
        PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.initialization_)}},
      // optional .onnx.GraphProto algorithm = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 3, 1,
        PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.algorithm_)}},
      // repeated .onnx.StringStringEntryProto initialization_binding = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 2,
        PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.initialization_binding_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .onnx.GraphProto initialization = 1;
      {PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.initialization_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .onnx.GraphProto algorithm = 2;
      {PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.algorithm_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.StringStringEntryProto initialization_binding = 3;
      {PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.initialization_binding_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.StringStringEntryProto update_binding = 4;
      {PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.update_binding_), _Internal::kHasBitsOffset + 1, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::GraphProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::GraphProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::GraphProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::GraphProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TrainingInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        initialization_binding_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TrainingInfoProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.initialization_binding_)>()
         }
        ,
        update_binding_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TrainingInfoProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.update_binding_)>()
         }
        ,
        initialization_{nullptr},
        algorithm_{nullptr} {}

template <typename>
constexpr TrainingInfoProto::TrainingInfoProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TrainingInfoProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TrainingInfoProto(arena);
}
constexpr auto TrainingInfoProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TrainingInfoProto), alignof(TrainingInfoProto));
}
constexpr auto TrainingInfoProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TrainingInfoProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TrainingInfoProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TrainingInfoProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TrainingInfoProto>(), &TrainingInfoProto::ByteSizeLong,
              &TrainingInfoProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[8],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TrainingInfoProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TrainingInfoProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TrainingInfoProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TrainingInfoProto::InternalGenerateClassData_(
            _default, &TrainingInfoProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TrainingInfoProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TrainingInfoProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TrainingInfoProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TrainingInfoProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TrainingInfoProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FunctionProto::ParseTableT_ FunctionProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_._has_bits_),
      0, // no _extensions_
      14, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950918,  // skipmap
      offsetof(ParseTableT_, field_entries),
      12,  // num_field_entries
      5,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::FunctionProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 8, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.name_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated string input = 4;
      {::_pbi::TcParser::FastBR1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.input_)}},
      // repeated string output = 5;
      {::_pbi::TcParser::FastBR1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.output_)}},
      // repeated string attribute = 6;
      {::_pbi::TcParser::FastBR1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.attribute_)}},
      // repeated .onnx.NodeProto node = 7;
      {::_pbi::TcParser::FastMtR1,
       {58, 3, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.node_)}},
      // optional string doc_string = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 9, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.doc_string_)}},
      // repeated .onnx.OperatorSetIdProto opset_import = 9;
      {::_pbi::TcParser::FastMtR1,
       {74, 4, 1,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.opset_import_)}},
      // optional string domain = 10;
      {::_pbi::TcParser::FastBS1,
       {82, 10, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.domain_)}},
      // repeated .onnx.AttributeProto attribute_proto = 11;
      {::_pbi::TcParser::FastMtR1,
       {90, 5, 2,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.attribute_proto_)}},
      // repeated .onnx.ValueInfoProto value_info = 12;
      {::_pbi::TcParser::FastMtR1,
       {98, 6, 3,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.value_info_)}},
      // optional string overload = 13;
      {::_pbi::TcParser::FastBS1,
       {106, 11, 0,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.overload_)}},
      // repeated .onnx.StringStringEntryProto metadata_props = 14;
      {::_pbi::TcParser::FastMtR1,
       {114, 7, 4,
        PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.metadata_props_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.name_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string input = 4;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.input_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string output = 5;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.output_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string attribute = 6;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.attribute_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated .onnx.NodeProto node = 7;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.node_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string doc_string = 8;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.OperatorSetIdProto opset_import = 9;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.opset_import_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string domain = 10;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.domain_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.AttributeProto attribute_proto = 11;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.attribute_proto_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.ValueInfoProto value_info = 12;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.value_info_), _Internal::kHasBitsOffset + 6, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string overload = 13;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.overload_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .onnx.StringStringEntryProto metadata_props = 14;
      {PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_.metadata_props_), _Internal::kHasBitsOffset + 7, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::NodeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::NodeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::OperatorSetIdProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::OperatorSetIdProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::AttributeProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::AttributeProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::ValueInfoProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::ValueInfoProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr FunctionProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        input_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.input_)>()
         }
        ,
        output_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.output_)>()
         }
        ,
        attribute_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_)>()
         }
        ,
        node_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.node_)>()
         }
        ,
        opset_import_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.opset_import_)>()
         }
        ,
        attribute_proto_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_proto_)>()
         }
        ,
        value_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.value_info_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.metadata_props_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        overload_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr FunctionProto::FunctionProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FunctionProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FunctionProto(arena);
}
constexpr auto FunctionProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FunctionProto), alignof(FunctionProto));
}
constexpr auto FunctionProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FunctionProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<FunctionProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FunctionProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<FunctionProto>(), &FunctionProto::ByteSizeLong,
              &FunctionProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FunctionProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[27],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct FunctionProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FunctionProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FunctionProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FunctionProto::InternalGenerateClassData_(
            _default, &FunctionProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FunctionProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FunctionProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FunctionProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FunctionProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FunctionProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ModelProto::ParseTableT_ ModelProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ModelProto, _impl_._has_bits_),
      0, // no _extensions_
      26, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4244102912,  // skipmap
      offsetof(ParseTableT_, field_entries),
      12,  // num_field_entries
      6,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::onnx::ModelProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 ir_version = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ModelProto, _impl_.ir_version_), 9>(),
       {8, 9, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.ir_version_)}},
      // optional string producer_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 4, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_name_)}},
      // optional string producer_version = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 5, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_version_)}},
      // optional string domain = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 6, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.domain_)}},
      // optional int64 model_version = 5;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ModelProto, _impl_.model_version_), 10>(),
       {40, 10, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.model_version_)}},
      // optional string doc_string = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 7, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.doc_string_)}},
      // optional .onnx.GraphProto graph = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 8, 0,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.graph_)}},
      // repeated .onnx.OperatorSetIdProto opset_import = 8;
      {::_pbi::TcParser::FastMtR1,
       {66, 0, 1,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.opset_import_)}},
      // repeated .onnx.FunctionProto functions = 25;
      {::_pbi::TcParser::FastMtR2,
       {458, 2, 4,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.functions_)}},
      // repeated .onnx.DeviceConfigurationProto configuration = 26;
      {::_pbi::TcParser::FastMtR2,
       {466, 3, 5,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.configuration_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .onnx.StringStringEntryProto metadata_props = 14;
      {::_pbi::TcParser::FastMtR1,
       {114, 1, 2,
        PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.metadata_props_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 ir_version = 1;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.ir_version_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string producer_name = 2;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_name_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string producer_version = 3;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_version_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string domain = 4;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.domain_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 model_version = 5;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.model_version_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string doc_string = 6;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .onnx.GraphProto graph = 7;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.graph_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.OperatorSetIdProto opset_import = 8;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.opset_import_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.StringStringEntryProto metadata_props = 14;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.metadata_props_), _Internal::kHasBitsOffset + 1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.TrainingInfoProto training_info = 20;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.training_info_), _Internal::kHasBitsOffset + 11, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.FunctionProto functions = 25;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.functions_), _Internal::kHasBitsOffset + 2, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .onnx.DeviceConfigurationProto configuration = 26;
      {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.configuration_), _Internal::kHasBitsOffset + 3, 5, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::GraphProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::GraphProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::OperatorSetIdProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::OperatorSetIdProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::StringStringEntryProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::StringStringEntryProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::TrainingInfoProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::TrainingInfoProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::FunctionProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::FunctionProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::onnx::DeviceConfigurationProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::onnx::DeviceConfigurationProto_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ModelProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        opset_import_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.opset_import_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.metadata_props_)>()
         }
        ,
        functions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.functions_)>()
         }
        ,
        configuration_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.configuration_)>()
         }
        ,
        producer_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        producer_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        graph_{nullptr},
        ir_version_{::int64_t{0}},
        model_version_{::int64_t{0}},
        training_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.training_info_)>()
         }
     {}

template <typename>
constexpr ModelProto::ModelProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ModelProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ModelProto(arena);
}
constexpr auto ModelProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ModelProto), alignof(ModelProto));
}
constexpr auto ModelProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ModelProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ModelProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ModelProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ModelProto>(), &ModelProto::ByteSizeLong,
              &ModelProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ModelProto, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[9],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_onnx_2fonnx_2dml_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct ModelProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ModelProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ModelProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ModelProto::InternalGenerateClassData_(
            _default, &ModelProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ModelProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ModelProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ModelProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ModelProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ModelProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ModelProtoGlobalsTypeInternal ModelProto_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ModelProto_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ModelProto_globals_.GetClassData();
#else
  return ModelProto_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace onnx
static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
    file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto[5];
static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
    file_level_service_descriptors_onnx_2fonnx_2dml_2eproto = nullptr;
const ::uint32_t
    TableStruct_onnx_2fonnx_2dml_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_._has_bits_),
        21, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.ref_attr_name_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.f_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.i_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.s_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.t_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.g_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.sparse_tensor_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.tp_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.floats_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.ints_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.strings_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.tensors_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.graphs_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.sparse_tensors_),
        PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.type_protos_),
        7,
        10,
        9,
        17,
        16,
        15,
        8,
        11,
        12,
        14,
        13,
        0,
        1,
        2,
        3,
        4,
        6,
        5,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_._has_bits_),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.metadata_props_),
        1,
        3,
        2,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_._has_bits_),
        13, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.input_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.output_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.op_type_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.overload_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.attribute_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.metadata_props_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.device_configurations_),
        0,
        1,
        5,
        6,
        8,
        9,
        2,
        7,
        3,
        4,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::IntIntListEntryProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::IntIntListEntryProto, _impl_.key_),
        PROTOBUF_FIELD_OFFSET(::onnx::IntIntListEntryProto, _impl_.value_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::NodeDeviceConfigurationProto, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::NodeDeviceConfigurationProto, _impl_.configuration_id_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeDeviceConfigurationProto, _impl_.sharding_spec_),
        PROTOBUF_FIELD_OFFSET(::onnx::NodeDeviceConfigurationProto, _impl_.pipeline_stage_),
        1,
        0,
        2,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_._has_bits_),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.tensor_name_),
        PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.device_),
        PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.index_to_device_group_map_),
        PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.sharded_dim_),
        3,
        0,
        1,
        2,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::ShardedDimProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::ShardedDimProto, _impl_.axis_),
        PROTOBUF_FIELD_OFFSET(::onnx::ShardedDimProto, _impl_.simple_sharding_),
        1,
        0,
        0x085, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::SimpleShardedDimProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::onnx::SimpleShardedDimProto, _impl_._oneof_case_[0]),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::SimpleShardedDimProto, _impl_.dim_),
        PROTOBUF_FIELD_OFFSET(::onnx::SimpleShardedDimProto, _impl_.dim_),
        PROTOBUF_FIELD_OFFSET(::onnx::SimpleShardedDimProto, _impl_.num_shards_),
        PROTOBUF_FIELD_OFFSET(::onnx::SimpleShardedDimProto, _impl_.dim_),
        ~0u,
        ~0u,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_._has_bits_),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.initialization_),
        PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.algorithm_),
        PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.initialization_binding_),
        PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.update_binding_),
        2,
        3,
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_._has_bits_),
        15, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.ir_version_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.opset_import_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.producer_name_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.producer_version_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.model_version_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.graph_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.metadata_props_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.training_info_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.functions_),
        PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.configuration_),
        9,
        0,
        4,
        5,
        6,
        10,
        7,
        8,
        1,
        11,
        2,
        3,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::DeviceConfigurationProto, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::DeviceConfigurationProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::DeviceConfigurationProto, _impl_.num_devices_),
        PROTOBUF_FIELD_OFFSET(::onnx::DeviceConfigurationProto, _impl_.device_),
        1,
        2,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::StringStringEntryProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::StringStringEntryProto, _impl_.key_),
        PROTOBUF_FIELD_OFFSET(::onnx::StringStringEntryProto, _impl_.value_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TensorAnnotation, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TensorAnnotation, _impl_.tensor_name_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorAnnotation, _impl_.quant_parameter_tensor_names_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_._has_bits_),
        13, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.node_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.initializer_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.sparse_initializer_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.input_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.output_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.value_info_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.quantization_annotation_),
        PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.metadata_props_),
        0,
        8,
        1,
        6,
        9,
        2,
        3,
        4,
        5,
        7,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto_Segment, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto_Segment, _impl_.begin_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto_Segment, _impl_.end_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_._has_bits_),
        18, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.dims_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.data_type_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.segment_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.float_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int32_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.string_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int64_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.raw_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.external_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.data_location_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.double_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.uint64_data_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.metadata_props_),
        0,
        13,
        12,
        1,
        2,
        3,
        4,
        9,
        11,
        10,
        7,
        14,
        5,
        6,
        8,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::SparseTensorProto, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::SparseTensorProto, _impl_.values_),
        PROTOBUF_FIELD_OFFSET(::onnx::SparseTensorProto, _impl_.indices_),
        PROTOBUF_FIELD_OFFSET(::onnx::SparseTensorProto, _impl_.dims_),
        1,
        2,
        0,
        0x085, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto_Dimension, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto_Dimension, _impl_._oneof_case_[0]),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto_Dimension, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto_Dimension, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto_Dimension, _impl_.denotation_),
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto_Dimension, _impl_.value_),
        ~0u,
        ~0u,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TensorShapeProto, _impl_.dim_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Tensor, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Tensor, _impl_.elem_type_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Tensor, _impl_.shape_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Sequence, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Sequence, _impl_.elem_type_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Map, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Map, _impl_.key_type_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Map, _impl_.value_type_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Optional, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Optional, _impl_.elem_type_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_SparseTensor, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_SparseTensor, _impl_.elem_type_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_SparseTensor, _impl_.shape_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Opaque, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Opaque, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto_Opaque, _impl_.name_),
        0,
        1,
        0x085, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_._oneof_case_[0]),
        12, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.denotation_),
        PROTOBUF_FIELD_OFFSET(::onnx::TypeProto, _impl_.value_),
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::OperatorSetIdProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::OperatorSetIdProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::onnx::OperatorSetIdProto, _impl_.version_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_._has_bits_),
        15, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.input_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.output_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_proto_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.node_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.opset_import_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.overload_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.value_info_),
        PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.metadata_props_),
        8,
        0,
        1,
        2,
        5,
        3,
        9,
        4,
        10,
        11,
        6,
        7,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, sizeof(::onnx::AttributeProto)},
        {39, sizeof(::onnx::ValueInfoProto)},
        {50, sizeof(::onnx::NodeProto)},
        {73, sizeof(::onnx::IntIntListEntryProto)},
        {80, sizeof(::onnx::NodeDeviceConfigurationProto)},
        {89, sizeof(::onnx::ShardingSpecProto)},
        {100, sizeof(::onnx::ShardedDimProto)},
        {107, sizeof(::onnx::SimpleShardedDimProto)},
        {118, sizeof(::onnx::TrainingInfoProto)},
        {129, sizeof(::onnx::ModelProto)},
        {156, sizeof(::onnx::DeviceConfigurationProto)},
        {165, sizeof(::onnx::StringStringEntryProto)},
        {172, sizeof(::onnx::TensorAnnotation)},
        {179, sizeof(::onnx::GraphProto)},
        {202, sizeof(::onnx::TensorProto_Segment)},
        {209, sizeof(::onnx::TensorProto)},
        {242, sizeof(::onnx::SparseTensorProto)},
        {251, sizeof(::onnx::TensorShapeProto_Dimension)},
        {262, sizeof(::onnx::TensorShapeProto)},
        {267, sizeof(::onnx::TypeProto_Tensor)},
        {274, sizeof(::onnx::TypeProto_Sequence)},
        {279, sizeof(::onnx::TypeProto_Map)},
        {286, sizeof(::onnx::TypeProto_Optional)},
        {291, sizeof(::onnx::TypeProto_SparseTensor)},
        {298, sizeof(::onnx::TypeProto_Opaque)},
        {305, sizeof(::onnx::TypeProto)},
        {324, sizeof(::onnx::OperatorSetIdProto)},
        {331, sizeof(::onnx::FunctionProto)},
};
static const ::_pbi::MessageGlobalsBase* PROTOBUF_NONNULL const
    file_message_globals[] = {
        &::onnx::AttributeProto_globals_,
        &::onnx::ValueInfoProto_globals_,
        &::onnx::NodeProto_globals_,
        &::onnx::IntIntListEntryProto_globals_,
        &::onnx::NodeDeviceConfigurationProto_globals_,
        &::onnx::ShardingSpecProto_globals_,
        &::onnx::ShardedDimProto_globals_,
        &::onnx::SimpleShardedDimProto_globals_,
        &::onnx::TrainingInfoProto_globals_,
        &::onnx::ModelProto_globals_,
        &::onnx::DeviceConfigurationProto_globals_,
        &::onnx::StringStringEntryProto_globals_,
        &::onnx::TensorAnnotation_globals_,
        &::onnx::GraphProto_globals_,
        &::onnx::TensorProto_Segment_globals_,
        &::onnx::TensorProto_globals_,
        &::onnx::SparseTensorProto_globals_,
        &::onnx::TensorShapeProto_Dimension_globals_,
        &::onnx::TensorShapeProto_globals_,
        &::onnx::TypeProto_Tensor_globals_,
        &::onnx::TypeProto_Sequence_globals_,
        &::onnx::TypeProto_Map_globals_,
        &::onnx::TypeProto_Optional_globals_,
        &::onnx::TypeProto_SparseTensor_globals_,
        &::onnx::TypeProto_Opaque_globals_,
        &::onnx::TypeProto_globals_,
        &::onnx::OperatorSetIdProto_globals_,
        &::onnx::FunctionProto_globals_,
};
const char descriptor_table_protodef_onnx_2fonnx_2dml_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n\022onnx/onnx-ml.proto\022\004onnx\"\333\005\n\016Attribute"
    "Proto\022\014\n\004name\030\001 \001(\t\022\025\n\rref_attr_name\030\025 \001"
    "(\t\022\022\n\ndoc_string\030\r \001(\t\0220\n\004type\030\024 \001(\0162\".o"
    "nnx.AttributeProto.AttributeType\022\t\n\001f\030\002 "
    "\001(\002\022\t\n\001i\030\003 \001(\003\022\t\n\001s\030\004 \001(\014\022\034\n\001t\030\005 \001(\0132\021.o"
    "nnx.TensorProto\022\033\n\001g\030\006 \001(\0132\020.onnx.GraphP"
    "roto\022.\n\rsparse_tensor\030\026 \001(\0132\027.onnx.Spars"
    "eTensorProto\022\033\n\002tp\030\016 \001(\0132\017.onnx.TypeProt"
    "o\022\016\n\006floats\030\007 \003(\002\022\014\n\004ints\030\010 \003(\003\022\017\n\007strin"
    "gs\030\t \003(\014\022\"\n\007tensors\030\n \003(\0132\021.onnx.TensorP"
    "roto\022 \n\006graphs\030\013 \003(\0132\020.onnx.GraphProto\022/"
    "\n\016sparse_tensors\030\027 \003(\0132\027.onnx.SparseTens"
    "orProto\022$\n\013type_protos\030\017 \003(\0132\017.onnx.Type"
    "Proto\"\331\001\n\rAttributeType\022\r\n\tUNDEFINED\020\000\022\t"
    "\n\005FLOAT\020\001\022\007\n\003INT\020\002\022\n\n\006STRING\020\003\022\n\n\006TENSOR"
    "\020\004\022\t\n\005GRAPH\020\005\022\021\n\rSPARSE_TENSOR\020\013\022\016\n\nTYPE"
    "_PROTO\020\r\022\n\n\006FLOATS\020\006\022\010\n\004INTS\020\007\022\013\n\007STRING"
    "S\020\010\022\013\n\007TENSORS\020\t\022\n\n\006GRAPHS\020\n\022\022\n\016SPARSE_T"
    "ENSORS\020\014\022\017\n\013TYPE_PROTOS\020\016J\004\010\014\020\rJ\004\010\020\020\024R\001v"
    "\"\207\001\n\016ValueInfoProto\022\014\n\004name\030\001 \001(\t\022\035\n\004typ"
    "e\030\002 \001(\0132\017.onnx.TypeProto\022\022\n\ndoc_string\030\003"
    " \001(\t\0224\n\016metadata_props\030\004 \003(\0132\034.onnx.Stri"
    "ngStringEntryProto\"\241\002\n\tNodeProto\022\r\n\005inpu"
    "t\030\001 \003(\t\022\016\n\006output\030\002 \003(\t\022\014\n\004name\030\003 \001(\t\022\017\n"
    "\007op_type\030\004 \001(\t\022\016\n\006domain\030\007 \001(\t\022\020\n\010overlo"
    "ad\030\010 \001(\t\022\'\n\tattribute\030\005 \003(\0132\024.onnx.Attri"
    "buteProto\022\022\n\ndoc_string\030\006 \001(\t\0224\n\016metadat"
    "a_props\030\t \003(\0132\034.onnx.StringStringEntryPr"
    "oto\022A\n\025device_configurations\030\n \003(\0132\".onn"
    "x.NodeDeviceConfigurationProto\"2\n\024IntInt"
    "ListEntryProto\022\013\n\003key\030\001 \001(\003\022\r\n\005value\030\002 \003"
    "(\003\"\200\001\n\034NodeDeviceConfigurationProto\022\030\n\020c"
    "onfiguration_id\030\001 \001(\t\022.\n\rsharding_spec\030\002"
    " \003(\0132\027.onnx.ShardingSpecProto\022\026\n\016pipelin"
    "e_stage\030\003 \001(\005\"\243\001\n\021ShardingSpecProto\022\023\n\013t"
    "ensor_name\030\001 \001(\t\022\016\n\006device\030\002 \003(\003\022=\n\031inde"
    "x_to_device_group_map\030\003 \003(\0132\032.onnx.IntIn"
    "tListEntryProto\022*\n\013sharded_dim\030\004 \003(\0132\025.o"
    "nnx.ShardedDimProto\"U\n\017ShardedDimProto\022\014"
    "\n\004axis\030\001 \001(\003\0224\n\017simple_sharding\030\002 \003(\0132\033."
    "onnx.SimpleShardedDimProto\"\\\n\025SimpleShar"
    "dedDimProto\022\023\n\tdim_value\030\001 \001(\003H\000\022\023\n\tdim_"
    "param\030\002 \001(\tH\000\022\022\n\nnum_shards\030\003 \001(\003B\005\n\003dim"
    "\"\326\001\n\021TrainingInfoProto\022(\n\016initialization"
    "\030\001 \001(\0132\020.onnx.GraphProto\022#\n\talgorithm\030\002 "
    "\001(\0132\020.onnx.GraphProto\022<\n\026initialization_"
    "binding\030\003 \003(\0132\034.onnx.StringStringEntryPr"
    "oto\0224\n\016update_binding\030\004 \003(\0132\034.onnx.Strin"
    "gStringEntryProto\"\242\003\n\nModelProto\022\022\n\nir_v"
    "ersion\030\001 \001(\003\022.\n\014opset_import\030\010 \003(\0132\030.onn"
    "x.OperatorSetIdProto\022\025\n\rproducer_name\030\002 "
    "\001(\t\022\030\n\020producer_version\030\003 \001(\t\022\016\n\006domain\030"
    "\004 \001(\t\022\025\n\rmodel_version\030\005 \001(\003\022\022\n\ndoc_stri"
    "ng\030\006 \001(\t\022\037\n\005graph\030\007 \001(\0132\020.onnx.GraphProt"
    "o\0224\n\016metadata_props\030\016 \003(\0132\034.onnx.StringS"
    "tringEntryProto\022.\n\rtraining_info\030\024 \003(\0132\027"
    ".onnx.TrainingInfoProto\022&\n\tfunctions\030\031 \003"
    "(\0132\023.onnx.FunctionProto\0225\n\rconfiguration"
    "\030\032 \003(\0132\036.onnx.DeviceConfigurationProto\"M"
    "\n\030DeviceConfigurationProto\022\014\n\004name\030\001 \001(\t"
    "\022\023\n\013num_devices\030\002 \001(\005\022\016\n\006device\030\003 \003(\t\"4\n"
    "\026StringStringEntryProto\022\013\n\003key\030\001 \001(\t\022\r\n\005"
    "value\030\002 \001(\t\"k\n\020TensorAnnotation\022\023\n\013tenso"
    "r_name\030\001 \001(\t\022B\n\034quant_parameter_tensor_n"
    "ames\030\002 \003(\0132\034.onnx.StringStringEntryProto"
    "\"\324\003\n\nGraphProto\022\035\n\004node\030\001 \003(\0132\017.onnx.Nod"
    "eProto\022\014\n\004name\030\002 \001(\t\022&\n\013initializer\030\005 \003("
    "\0132\021.onnx.TensorProto\0223\n\022sparse_initializ"
    "er\030\017 \003(\0132\027.onnx.SparseTensorProto\022\022\n\ndoc"
    "_string\030\n \001(\t\022#\n\005input\030\013 \003(\0132\024.onnx.Valu"
    "eInfoProto\022$\n\006output\030\014 \003(\0132\024.onnx.ValueI"
    "nfoProto\022(\n\nvalue_info\030\r \003(\0132\024.onnx.Valu"
    "eInfoProto\0227\n\027quantization_annotation\030\016 "
    "\003(\0132\026.onnx.TensorAnnotation\0224\n\016metadata_"
    "props\030\020 \003(\0132\034.onnx.StringStringEntryProt"
    "oJ\004\010\003\020\004J\004\010\004\020\005J\004\010\006\020\nR\nir_versionR\020produce"
    "r_versionR\014producer_tagR\006domain\"\202\007\n\013Tens"
    "orProto\022\014\n\004dims\030\001 \003(\003\022\021\n\tdata_type\030\002 \001(\005"
    "\022*\n\007segment\030\003 \001(\0132\031.onnx.TensorProto.Seg"
    "ment\022\026\n\nfloat_data\030\004 \003(\002B\002\020\001\022\026\n\nint32_da"
    "ta\030\005 \003(\005B\002\020\001\022\023\n\013string_data\030\006 \003(\014\022\026\n\nint"
    "64_data\030\007 \003(\003B\002\020\001\022\014\n\004name\030\010 \001(\t\022\022\n\ndoc_s"
    "tring\030\014 \001(\t\022\020\n\010raw_data\030\t \001(\014\0223\n\rexterna"
    "l_data\030\r \003(\0132\034.onnx.StringStringEntryPro"
    "to\0225\n\rdata_location\030\016 \001(\0162\036.onnx.TensorP"
    "roto.DataLocation\022\027\n\013double_data\030\n \003(\001B\002"
    "\020\001\022\027\n\013uint64_data\030\013 \003(\004B\002\020\001\0224\n\016metadata_"
    "props\030\020 \003(\0132\034.onnx.StringStringEntryProt"
    "o\032%\n\007Segment\022\r\n\005begin\030\001 \001(\003\022\013\n\003end\030\002 \001(\003"
    "\"\356\002\n\010DataType\022\r\n\tUNDEFINED\020\000\022\t\n\005FLOAT\020\001\022"
    "\t\n\005UINT8\020\002\022\010\n\004INT8\020\003\022\n\n\006UINT16\020\004\022\t\n\005INT1"
    "6\020\005\022\t\n\005INT32\020\006\022\t\n\005INT64\020\007\022\n\n\006STRING\020\010\022\010\n"
    "\004BOOL\020\t\022\013\n\007FLOAT16\020\n\022\n\n\006DOUBLE\020\013\022\n\n\006UINT"
    "32\020\014\022\n\n\006UINT64\020\r\022\r\n\tCOMPLEX64\020\016\022\016\n\nCOMPL"
    "EX128\020\017\022\014\n\010BFLOAT16\020\020\022\020\n\014FLOAT8E4M3FN\020\021\022"
    "\022\n\016FLOAT8E4M3FNUZ\020\022\022\016\n\nFLOAT8E5M2\020\023\022\022\n\016F"
    "LOAT8E5M2FNUZ\020\024\022\t\n\005UINT4\020\025\022\010\n\004INT4\020\026\022\016\n\n"
    "FLOAT4E2M1\020\027\022\016\n\nFLOAT8E8M0\020\030\022\t\n\005UINT2\020\031\022"
    "\010\n\004INT2\020\032\")\n\014DataLocation\022\013\n\007DEFAULT\020\000\022\014"
    "\n\010EXTERNAL\020\001\"h\n\021SparseTensorProto\022!\n\006val"
    "ues\030\001 \001(\0132\021.onnx.TensorProto\022\"\n\007indices\030"
    "\002 \001(\0132\021.onnx.TensorProto\022\014\n\004dims\030\003 \003(\003\"\225"
    "\001\n\020TensorShapeProto\022-\n\003dim\030\001 \003(\0132 .onnx."
    "TensorShapeProto.Dimension\032R\n\tDimension\022"
    "\023\n\tdim_value\030\001 \001(\003H\000\022\023\n\tdim_param\030\002 \001(\tH"
    "\000\022\022\n\ndenotation\030\003 \001(\tB\007\n\005value\"\245\005\n\tTypeP"
    "roto\022-\n\013tensor_type\030\001 \001(\0132\026.onnx.TypePro"
    "to.TensorH\000\0221\n\rsequence_type\030\004 \001(\0132\030.onn"
    "x.TypeProto.SequenceH\000\022\'\n\010map_type\030\005 \001(\013"
    "2\023.onnx.TypeProto.MapH\000\0221\n\roptional_type"
    "\030\t \001(\0132\030.onnx.TypeProto.OptionalH\000\022:\n\022sp"
    "arse_tensor_type\030\010 \001(\0132\034.onnx.TypeProto."
    "SparseTensorH\000\022-\n\013opaque_type\030\007 \001(\0132\026.on"
    "nx.TypeProto.OpaqueH\000\022\022\n\ndenotation\030\006 \001("
    "\t\032B\n\006Tensor\022\021\n\telem_type\030\001 \001(\005\022%\n\005shape\030"
    "\002 \001(\0132\026.onnx.TensorShapeProto\032.\n\010Sequenc"
    "e\022\"\n\telem_type\030\001 \001(\0132\017.onnx.TypeProto\032<\n"
    "\003Map\022\020\n\010key_type\030\001 \001(\005\022#\n\nvalue_type\030\002 \001"
    "(\0132\017.onnx.TypeProto\032.\n\010Optional\022\"\n\telem_"
    "type\030\001 \001(\0132\017.onnx.TypeProto\032H\n\014SparseTen"
    "sor\022\021\n\telem_type\030\001 \001(\005\022%\n\005shape\030\002 \001(\0132\026."
    "onnx.TensorShapeProto\032&\n\006Opaque\022\016\n\006domai"
    "n\030\001 \001(\t\022\014\n\004name\030\002 \001(\tB\007\n\005value\"5\n\022Operat"
    "orSetIdProto\022\016\n\006domain\030\001 \001(\t\022\017\n\007version\030"
    "\002 \001(\003\"\206\003\n\rFunctionProto\022\014\n\004name\030\001 \001(\t\022\r\n"
    "\005input\030\004 \003(\t\022\016\n\006output\030\005 \003(\t\022\021\n\tattribut"
    "e\030\006 \003(\t\022-\n\017attribute_proto\030\013 \003(\0132\024.onnx."
    "AttributeProto\022\035\n\004node\030\007 \003(\0132\017.onnx.Node"
    "Proto\022\022\n\ndoc_string\030\010 \001(\t\022.\n\014opset_impor"
    "t\030\t \003(\0132\030.onnx.OperatorSetIdProto\022\016\n\006dom"
    "ain\030\n \001(\t\022\020\n\010overload\030\r \001(\t\022(\n\nvalue_inf"
    "o\030\014 \003(\0132\024.onnx.ValueInfoProto\0224\n\016metadat"
    "a_props\030\016 \003(\0132\034.onnx.StringStringEntryPr"
    "otoJ\004\010\002\020\003J\004\010\003\020\004R\rsince_versionR\006status*\347"
    "\002\n\007Version\022\022\n\016_START_VERSION\020\000\022\031\n\025IR_VER"
    "SION_2017_10_10\020\001\022\031\n\025IR_VERSION_2017_10_"
    "30\020\002\022\030\n\024IR_VERSION_2017_11_3\020\003\022\030\n\024IR_VER"
    "SION_2019_1_22\020\004\022\030\n\024IR_VERSION_2019_3_18"
    "\020\005\022\030\n\024IR_VERSION_2019_9_19\020\006\022\027\n\023IR_VERSI"
    "ON_2020_5_8\020\007\022\030\n\024IR_VERSION_2021_7_30\020\010\022"
    "\027\n\023IR_VERSION_2023_5_5\020\t\022\030\n\024IR_VERSION_2"
    "024_3_25\020\n\022\031\n\025IR_VERSION_2025_05_12\020\013\022\031\n"
    "\025IR_VERSION_2025_08_26\020\014\022\016\n\nIR_VERSION\020\r"
    "*.\n\016OperatorStatus\022\020\n\014EXPERIMENTAL\020\000\022\n\n\006"
    "STABLE\020\001"
};
static ::absl::once_flag descriptor_table_onnx_2fonnx_2dml_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_onnx_2fonnx_2dml_2eproto = {
    false,
    false,
    5768,
    descriptor_table_protodef_onnx_2fonnx_2dml_2eproto,
    "onnx/onnx-ml.proto",
    &descriptor_table_onnx_2fonnx_2dml_2eproto_once,
    nullptr,
    0,
    28,
    schemas,
    file_message_globals,
    TableStruct_onnx_2fonnx_2dml_2eproto::offsets,
    file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto,
    file_level_service_descriptors_onnx_2fonnx_2dml_2eproto,
};
namespace onnx {
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
AttributeProto_AttributeType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_onnx_2fonnx_2dml_2eproto);
  return file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t AttributeProto_AttributeType_internal_data_[] = {
    983040u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
TensorProto_DataType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_onnx_2fonnx_2dml_2eproto);
  return file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t TensorProto_DataType_internal_data_[] = {
    1769472u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
TensorProto_DataLocation_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_onnx_2fonnx_2dml_2eproto);
  return file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t TensorProto_DataLocation_internal_data_[] = {
    131072u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Version_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_onnx_2fonnx_2dml_2eproto);
  return file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto[3];
}
PROTOBUF_CONSTINIT const uint32_t Version_internal_data_[] = {
    917504u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
OperatorStatus_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_onnx_2fonnx_2dml_2eproto);
  return file_level_enum_descriptors_onnx_2fonnx_2dml_2eproto[4];
}
PROTOBUF_CONSTINIT const uint32_t OperatorStatus_internal_data_[] = {
    131072u, 0u, };
// ===================================================================

AttributeProto::AttributeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, AttributeProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.AttributeProto)
}
PROTOBUF_NDEBUG_INLINE AttributeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::AttributeProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        floats_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.floats_)>()
          , from.floats_
        }
        ,
        ints_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.ints_)>()
          , from.ints_
        }
        ,
        strings_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.strings_)>()
          , from.strings_
        }
        ,
        tensors_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.tensors_)>()
          , from.tensors_
        }
        ,
        graphs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.graphs_)>()
          , from.graphs_
        }
        ,
        type_protos_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.type_protos_)>()
          , from.type_protos_
        }
        ,
        sparse_tensors_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::AttributeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.sparse_tensors_)>()
          , from.sparse_tensors_
        }
        ,
        name_(arena, from.name_),
        s_(arena, from.s_),
        doc_string_(arena, from.doc_string_),
        ref_attr_name_(arena, from.ref_attr_name_) {}

AttributeProto::AttributeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AttributeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, AttributeProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AttributeProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.t_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.t_)
                : nullptr;
  _impl_.g_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.g_)
                : nullptr;
  _impl_.tp_ = (CheckHasBit(cached_has_bits, 0x00002000U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.tp_)
                : nullptr;
  _impl_.sparse_tensor_ = (CheckHasBit(cached_has_bits, 0x00004000U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.sparse_tensor_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, i_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, i_),
           offsetof(Impl_, type_) -
               offsetof(Impl_, i_) +
               sizeof(Impl_::type_));

  // @@protoc_insertion_point(copy_constructor:onnx.AttributeProto)
}
PROTOBUF_NDEBUG_INLINE AttributeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        floats_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.floats_)>()
         }
        ,
        ints_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.ints_)>()
         }
        ,
        strings_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.strings_)>()
         }
        ,
        tensors_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.tensors_)>()
         }
        ,
        graphs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.graphs_)>()
         }
        ,
        type_protos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.type_protos_)>()
         }
        ,
        sparse_tensors_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::AttributeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::AttributeProto, _impl_.sparse_tensors_)>()
         }
        ,
        name_(arena),
        s_(arena),
        doc_string_(arena),
        ref_attr_name_(arena) {}

inline void AttributeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, t_),
           0,
           offsetof(Impl_, type_) -
               offsetof(Impl_, t_) +
               sizeof(Impl_::type_));
}
AttributeProto::~AttributeProto() {
  // @@protoc_insertion_point(destructor:onnx.AttributeProto)
  SharedDtor(*this);
}
inline void AttributeProto::SharedDtor(MessageLite& self) {
  AttributeProto& this_ = static_cast<AttributeProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.s_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.ref_attr_name_.Destroy();
  delete this_._impl_.t_;
  delete this_._impl_.g_;
  delete this_._impl_.tp_;
  delete this_._impl_.sparse_tensor_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull AttributeProto_class_data_ =
        AttributeProto::InternalGenerateClassData_(AttributeProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttributeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&AttributeProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(AttributeProto_class_data_.tc_table);
  return AttributeProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttributeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&AttributeProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&AttributeProto_globals_));
  return AttributeProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AttributeProto::ParseTableT_
    AttributeProto::_table_ =
        AttributeProto::InternalGenerateParseTable_(AttributeProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AttributeProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.AttributeProto)
  ::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_.floats_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.ints_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.strings_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.tensors_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.graphs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.type_protos_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.sparse_tensors_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.s_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.ref_attr_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(_impl_.t_ != nullptr);
      _impl_.t_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(_impl_.g_ != nullptr);
      _impl_.g_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ABSL_DCHECK(_impl_.tp_ != nullptr);
      _impl_.tp_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      ABSL_DCHECK(_impl_.sparse_tensor_ != nullptr);
      _impl_.sparse_tensor_->Clear();
    }
  }
  _impl_.i_ = ::int64_t{0};
  if (BatchCheckHasBit(cached_has_bits, 0x00030000U)) {
    ::memset(&_impl_.f_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.type_) -
        reinterpret_cast<char*>(&_impl_.f_)) + sizeof(_impl_.type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional float f = 2;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        2, this_._internal_f(), target);
  }

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

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

  // optional .onnx.TensorProto t = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.t_, this_._impl_.t_->GetCachedSize(), target,
        stream);
  }

  // optional .onnx.GraphProto g = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.g_, this_._impl_.g_->GetCachedSize(), target,
        stream);
  }

  // repeated float floats = 7;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_floats_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteFloatToArray(
          7, this_._internal_floats().Get(i), target);
    }
  }

  // repeated int64 ints = 8;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_ints_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          8, this_._internal_ints().Get(i), target);
    }
  }

  // repeated bytes strings = 9;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (int i = 0, n = this_._internal_strings_size(); i < n; ++i) {
      const auto& s = this_._internal_strings().Get(i);
      target = stream->WriteBytes(9, s, target);
    }
  }

  // repeated .onnx.TensorProto tensors = 10;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_tensors_size());
         i < n; i++) {
      const auto& repfield = this_._internal_tensors().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              10, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.GraphProto graphs = 11;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_graphs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_graphs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              11, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string doc_string = 13;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(13, _s, target);
  }

  // optional .onnx.TypeProto tp = 14;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        14, *this_._impl_.tp_, this_._impl_.tp_->GetCachedSize(), target,
        stream);
  }

  // repeated .onnx.TypeProto type_protos = 15;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_type_protos_size());
         i < n; i++) {
      const auto& repfield = this_._internal_type_protos().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              15, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional .onnx.AttributeProto.AttributeType type = 20;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        20, this_._internal_type(), target);
  }

  // optional string ref_attr_name = 21;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_ref_attr_name();
    target = stream->WriteStringMaybeAliased(21, _s, target);
  }

  // optional .onnx.SparseTensorProto sparse_tensor = 22;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        22, *this_._impl_.sparse_tensor_, this_._impl_.sparse_tensor_->GetCachedSize(), target,
        stream);
  }

  // repeated .onnx.SparseTensorProto sparse_tensors = 23;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_sparse_tensors_size());
         i < n; i++) {
      const auto& repfield = this_._internal_sparse_tensors().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              23, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.AttributeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AttributeProto::ByteSizeLong(const MessageLite& base) {
  const AttributeProto& this_ = static_cast<const AttributeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AttributeProto::ByteSizeLong() const {
  const AttributeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.AttributeProto)
  ::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>(0x00010000U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated float floats = 7;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_floats_size());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_floats_size());
      total_size += tag_size + data_size;
    }
    // repeated int64 ints = 8;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_ints());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_ints_size());
      total_size += tag_size + data_size;
    }
    // repeated bytes strings = 9;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_strings().size());
      for (int i = 0, n = this_._internal_strings().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
            this_._internal_strings().Get(i));
      }
    }
    // repeated .onnx.TensorProto tensors = 10;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_tensors_size();
      for (const auto& msg : this_._internal_tensors()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.GraphProto graphs = 11;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_graphs_size();
      for (const auto& msg : this_._internal_graphs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.TypeProto type_protos = 15;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1UL * this_._internal_type_protos_size();
      for (const auto& msg : this_._internal_type_protos()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.SparseTensorProto sparse_tensors = 23;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2UL * this_._internal_sparse_tensors_size();
      for (const auto& msg : this_._internal_sparse_tensors()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // optional bytes s = 4;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_s());
    }
    // optional string doc_string = 13;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional string ref_attr_name = 21;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_ref_attr_name());
    }
    // optional .onnx.TensorProto t = 5;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.t_);
    }
    // optional .onnx.GraphProto g = 6;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.g_);
    }
    // optional .onnx.TypeProto tp = 14;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.tp_);
    }
    // optional .onnx.SparseTensorProto sparse_tensor = 22;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.sparse_tensor_);
    }
    // optional int64 i = 3;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_i());
    }
  }
   {
    // optional .onnx.AttributeProto.AttributeType type = 20;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void AttributeProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AttributeProto*>(&to_msg);
  auto& from = static_cast<const AttributeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.AttributeProto)
  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_floats()->MergeFrom(from._internal_floats());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_ints()->MergeFrom(from._internal_ints());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_strings()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_strings());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_tensors()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_tensors());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_graphs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_graphs());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_type_protos()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_type_protos());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_sparse_tensors()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_sparse_tensors());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_name(from._internal_name());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_s(from._internal_s());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_ref_attr_name(from._internal_ref_attr_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.t_ != nullptr);
      if (_this->_impl_.t_ == nullptr) {
        _this->_impl_.t_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.t_);
      } else {
        _this->_impl_.t_->MergeFrom(*from._impl_.t_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.g_ != nullptr);
      if (_this->_impl_.g_ == nullptr) {
        _this->_impl_.g_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.g_);
      } else {
        _this->_impl_.g_->MergeFrom(*from._impl_.g_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ABSL_DCHECK(from._impl_.tp_ != nullptr);
      if (_this->_impl_.tp_ == nullptr) {
        _this->_impl_.tp_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.tp_);
      } else {
        _this->_impl_.tp_->MergeFrom(*from._impl_.tp_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      ABSL_DCHECK(from._impl_.sparse_tensor_ != nullptr);
      if (_this->_impl_.sparse_tensor_ == nullptr) {
        _this->_impl_.sparse_tensor_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.sparse_tensor_);
      } else {
        _this->_impl_.sparse_tensor_->MergeFrom(*from._impl_.sparse_tensor_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.i_ = from._impl_.i_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00030000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.f_ = from._impl_.f_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void AttributeProto::InternalSwap(AttributeProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.floats_.InternalSwap(&other->_impl_.floats_);
  _impl_.ints_.InternalSwap(&other->_impl_.ints_);
  _impl_.strings_.InternalSwap(&other->_impl_.strings_);
  _impl_.tensors_.InternalSwap(&other->_impl_.tensors_);
  _impl_.graphs_.InternalSwap(&other->_impl_.graphs_);
  _impl_.type_protos_.InternalSwap(&other->_impl_.type_protos_);
  _impl_.sparse_tensors_.InternalSwap(&other->_impl_.sparse_tensors_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.s_, &other->_impl_.s_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ref_attr_name_, &other->_impl_.ref_attr_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_)
      + sizeof(AttributeProto::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.t_)>(
          reinterpret_cast<char*>(&_impl_.t_),
          reinterpret_cast<char*>(&other->_impl_.t_));
}

::google::protobuf::Metadata AttributeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

ValueInfoProto::ValueInfoProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ValueInfoProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.ValueInfoProto)
}
PROTOBUF_NDEBUG_INLINE ValueInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::ValueInfoProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        metadata_props_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ValueInfoProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.metadata_props_)>()
          , from.metadata_props_
        }
        ,
        name_(arena, from.name_),
        doc_string_(arena, from.doc_string_) {}

ValueInfoProto::ValueInfoProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ValueInfoProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ValueInfoProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ValueInfoProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:onnx.ValueInfoProto)
}
PROTOBUF_NDEBUG_INLINE ValueInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ValueInfoProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ValueInfoProto, _impl_.metadata_props_)>()
         }
        ,
        name_(arena),
        doc_string_(arena) {}

inline void ValueInfoProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.type_ = {};
}
ValueInfoProto::~ValueInfoProto() {
  // @@protoc_insertion_point(destructor:onnx.ValueInfoProto)
  SharedDtor(*this);
}
inline void ValueInfoProto::SharedDtor(MessageLite& self) {
  ValueInfoProto& this_ = static_cast<ValueInfoProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.doc_string_.Destroy();
  delete this_._impl_.type_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ValueInfoProto_class_data_ =
        ValueInfoProto::InternalGenerateClassData_(ValueInfoProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ValueInfoProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ValueInfoProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ValueInfoProto_class_data_.tc_table);
  return ValueInfoProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ValueInfoProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ValueInfoProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ValueInfoProto_globals_));
  return ValueInfoProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ValueInfoProto::ParseTableT_
    ValueInfoProto::_table_ =
        ValueInfoProto::InternalGenerateParseTable_(ValueInfoProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ValueInfoProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.ValueInfoProto)
  ::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_.metadata_props_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.type_ != nullptr);
      _impl_.type_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional .onnx.TypeProto type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.type_, this_._impl_.type_->GetCachedSize(), target,
        stream);
  }

  // optional string doc_string = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .onnx.StringStringEntryProto metadata_props = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_metadata_props_size());
         i < n; i++) {
      const auto& repfield = this_._internal_metadata_props().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.ValueInfoProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ValueInfoProto::ByteSizeLong(const MessageLite& base) {
  const ValueInfoProto& this_ = static_cast<const ValueInfoProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ValueInfoProto::ByteSizeLong() const {
  const ValueInfoProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.ValueInfoProto)
  ::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)) {
    // repeated .onnx.StringStringEntryProto metadata_props = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string doc_string = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional .onnx.TypeProto type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ValueInfoProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ValueInfoProto*>(&to_msg);
  auto& from = static_cast<const ValueInfoProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.ValueInfoProto)
  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->_internal_mutable_metadata_props()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata_props());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.type_ != nullptr);
      if (_this->_impl_.type_ == nullptr) {
        _this->_impl_.type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_);
      } else {
        _this->_impl_.type_->MergeFrom(*from._impl_.type_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


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

::google::protobuf::Metadata ValueInfoProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

NodeProto::NodeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, NodeProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.NodeProto)
}
PROTOBUF_NDEBUG_INLINE NodeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::NodeProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        input_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::NodeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.input_)>()
          , from.input_
        }
        ,
        output_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::NodeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.output_)>()
          , from.output_
        }
        ,
        attribute_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::NodeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.attribute_)>()
          , from.attribute_
        }
        ,
        metadata_props_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::NodeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.metadata_props_)>()
          , from.metadata_props_
        }
        ,
        device_configurations_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::NodeProto,
              PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.device_configurations_)>()
          , from.device_configurations_
        }
        ,
        name_(arena, from.name_),
        op_type_(arena, from.op_type_),
        doc_string_(arena, from.doc_string_),
        domain_(arena, from.domain_),
        overload_(arena, from.overload_) {}

NodeProto::NodeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const NodeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, NodeProto_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:onnx.NodeProto)
}
PROTOBUF_NDEBUG_INLINE NodeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        input_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.input_)>()
         }
        ,
        output_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.output_)>()
         }
        ,
        attribute_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.attribute_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.metadata_props_)>()
         }
        ,
        device_configurations_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::NodeProto,
            PROTOBUF_FIELD_OFFSET(::onnx::NodeProto, _impl_.device_configurations_)>()
         }
        ,
        name_(arena),
        op_type_(arena),
        doc_string_(arena),
        domain_(arena),
        overload_(arena) {}

inline void NodeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
NodeProto::~NodeProto() {
  // @@protoc_insertion_point(destructor:onnx.NodeProto)
  SharedDtor(*this);
}
inline void NodeProto::SharedDtor(MessageLite& self) {
  NodeProto& this_ = static_cast<NodeProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.op_type_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.domain_.Destroy();
  this_._impl_.overload_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull NodeProto_class_data_ =
        NodeProto::InternalGenerateClassData_(NodeProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NodeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&NodeProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(NodeProto_class_data_.tc_table);
  return NodeProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NodeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&NodeProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&NodeProto_globals_));
  return NodeProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const NodeProto::ParseTableT_
    NodeProto::_table_ =
        NodeProto::InternalGenerateParseTable_(NodeProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void NodeProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.NodeProto)
  ::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_.input_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.output_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.attribute_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.metadata_props_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.device_configurations_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.op_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.domain_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.overload_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated string input = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_input_size(); i < n; ++i) {
      const auto& s = this_._internal_input().Get(i);
      target = stream->WriteString(1, s, target);
    }
  }

  // repeated string output = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_output_size(); i < n; ++i) {
      const auto& s = this_._internal_output().Get(i);
      target = stream->WriteString(2, s, target);
    }
  }

  // optional string name = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional string op_type = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_op_type();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // repeated .onnx.AttributeProto attribute = 5;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_attribute_size());
         i < n; i++) {
      const auto& repfield = this_._internal_attribute().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string doc_string = 6;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional string domain = 7;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_domain();
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // optional string overload = 8;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_overload();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // repeated .onnx.StringStringEntryProto metadata_props = 9;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_metadata_props_size());
         i < n; i++) {
      const auto& repfield = this_._internal_metadata_props().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              9, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.NodeDeviceConfigurationProto device_configurations = 10;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_device_configurations_size());
         i < n; i++) {
      const auto& repfield = this_._internal_device_configurations().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              10, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.NodeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t NodeProto::ByteSizeLong(const MessageLite& base) {
  const NodeProto& this_ = static_cast<const NodeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t NodeProto::ByteSizeLong() const {
  const NodeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.NodeProto)
  ::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 string input = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_input().size());
      for (int i = 0, n = this_._internal_input().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_input().Get(i));
      }
    }
    // repeated string output = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_output().size());
      for (int i = 0, n = this_._internal_output().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_output().Get(i));
      }
    }
    // repeated .onnx.AttributeProto attribute = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_attribute_size();
      for (const auto& msg : this_._internal_attribute()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.StringStringEntryProto metadata_props = 9;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.NodeDeviceConfigurationProto device_configurations = 10;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_device_configurations_size();
      for (const auto& msg : this_._internal_device_configurations()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string name = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string op_type = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_op_type());
    }
    // optional string doc_string = 6;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    // optional string domain = 7;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional string overload = 8;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_overload());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void NodeProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<NodeProto*>(&to_msg);
  auto& from = static_cast<const NodeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.NodeProto)
  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_input()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_input());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_output()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_output());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_attribute()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attribute());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_metadata_props()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata_props());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_device_configurations()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_device_configurations());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_op_type(from._internal_op_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_overload(from._internal_overload());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void NodeProto::InternalSwap(NodeProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.input_.InternalSwap(&other->_impl_.input_);
  _impl_.output_.InternalSwap(&other->_impl_.output_);
  _impl_.attribute_.InternalSwap(&other->_impl_.attribute_);
  _impl_.metadata_props_.InternalSwap(&other->_impl_.metadata_props_);
  _impl_.device_configurations_.InternalSwap(&other->_impl_.device_configurations_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.op_type_, &other->_impl_.op_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.overload_, &other->_impl_.overload_, arena);
}

::google::protobuf::Metadata NodeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

IntIntListEntryProto::IntIntListEntryProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const IntIntListEntryProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, IntIntListEntryProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  IntIntListEntryProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.key_ = from._impl_.key_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull IntIntListEntryProto_class_data_ =
        IntIntListEntryProto::InternalGenerateClassData_(IntIntListEntryProto_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.value_.Clear();
  }
  _impl_.key_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // repeated int64 value = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_value_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          2, this_._internal_value().Get(i), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.IntIntListEntryProto)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated int64 value = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_value());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_value_size());
      total_size += tag_size + data_size;
    }
    // optional int64 key = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_key());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_value()->MergeFrom(from._internal_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.key_ = from._impl_.key_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void IntIntListEntryProto::InternalSwap(IntIntListEntryProto* 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_.value_.InternalSwap(&other->_impl_.value_);
  swap(_impl_.key_, other->_impl_.key_);
}

::google::protobuf::Metadata IntIntListEntryProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

NodeDeviceConfigurationProto::NodeDeviceConfigurationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, NodeDeviceConfigurationProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.NodeDeviceConfigurationProto)
}
PROTOBUF_NDEBUG_INLINE NodeDeviceConfigurationProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::NodeDeviceConfigurationProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        sharding_spec_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::NodeDeviceConfigurationProto,
              PROTOBUF_FIELD_OFFSET(::onnx::NodeDeviceConfigurationProto, _impl_.sharding_spec_)>()
          , from.sharding_spec_
        }
        ,
        configuration_id_(arena, from.configuration_id_) {}

NodeDeviceConfigurationProto::NodeDeviceConfigurationProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const NodeDeviceConfigurationProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, NodeDeviceConfigurationProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  NodeDeviceConfigurationProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.pipeline_stage_ = from._impl_.pipeline_stage_;

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

inline void NodeDeviceConfigurationProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.pipeline_stage_ = {};
}
NodeDeviceConfigurationProto::~NodeDeviceConfigurationProto() {
  // @@protoc_insertion_point(destructor:onnx.NodeDeviceConfigurationProto)
  SharedDtor(*this);
}
inline void NodeDeviceConfigurationProto::SharedDtor(MessageLite& self) {
  NodeDeviceConfigurationProto& this_ = static_cast<NodeDeviceConfigurationProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.configuration_id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull NodeDeviceConfigurationProto_class_data_ =
        NodeDeviceConfigurationProto::InternalGenerateClassData_(NodeDeviceConfigurationProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NodeDeviceConfigurationProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&NodeDeviceConfigurationProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(NodeDeviceConfigurationProto_class_data_.tc_table);
  return NodeDeviceConfigurationProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NodeDeviceConfigurationProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&NodeDeviceConfigurationProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&NodeDeviceConfigurationProto_globals_));
  return NodeDeviceConfigurationProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const NodeDeviceConfigurationProto::ParseTableT_
    NodeDeviceConfigurationProto::_table_ =
        NodeDeviceConfigurationProto::InternalGenerateParseTable_(NodeDeviceConfigurationProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void NodeDeviceConfigurationProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.NodeDeviceConfigurationProto)
  ::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_.sharding_spec_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.configuration_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.pipeline_stage_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string configuration_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_configuration_id();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .onnx.ShardingSpecProto sharding_spec = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_sharding_spec_size());
         i < n; i++) {
      const auto& repfield = this_._internal_sharding_spec().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.NodeDeviceConfigurationProto)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .onnx.ShardingSpecProto sharding_spec = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_sharding_spec_size();
      for (const auto& msg : this_._internal_sharding_spec()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string configuration_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_configuration_id());
    }
    // optional int32 pipeline_stage = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_pipeline_stage());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_sharding_spec()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_sharding_spec());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_configuration_id(from._internal_configuration_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.pipeline_stage_ = from._impl_.pipeline_stage_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


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

::google::protobuf::Metadata NodeDeviceConfigurationProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

ShardingSpecProto::ShardingSpecProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ShardingSpecProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.ShardingSpecProto)
}
PROTOBUF_NDEBUG_INLINE ShardingSpecProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::ShardingSpecProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        device_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ShardingSpecProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.device_)>()
          , from.device_
        }
        ,
        index_to_device_group_map_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ShardingSpecProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.index_to_device_group_map_)>()
          , from.index_to_device_group_map_
        }
        ,
        sharded_dim_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ShardingSpecProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.sharded_dim_)>()
          , from.sharded_dim_
        }
        ,
        tensor_name_(arena, from.tensor_name_) {}

ShardingSpecProto::ShardingSpecProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ShardingSpecProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ShardingSpecProto_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:onnx.ShardingSpecProto)
}
PROTOBUF_NDEBUG_INLINE ShardingSpecProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        device_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardingSpecProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.device_)>()
         }
        ,
        index_to_device_group_map_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardingSpecProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.index_to_device_group_map_)>()
         }
        ,
        sharded_dim_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ShardingSpecProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ShardingSpecProto, _impl_.sharded_dim_)>()
         }
        ,
        tensor_name_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ShardingSpecProto_class_data_ =
        ShardingSpecProto::InternalGenerateClassData_(ShardingSpecProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ShardingSpecProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ShardingSpecProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ShardingSpecProto_class_data_.tc_table);
  return ShardingSpecProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ShardingSpecProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ShardingSpecProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ShardingSpecProto_globals_));
  return ShardingSpecProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ShardingSpecProto::ParseTableT_
    ShardingSpecProto::_table_ =
        ShardingSpecProto::InternalGenerateParseTable_(ShardingSpecProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ShardingSpecProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.ShardingSpecProto)
  ::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_.device_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.index_to_device_group_map_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.sharded_dim_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.tensor_name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string tensor_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_tensor_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated int64 device = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_device_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          2, this_._internal_device().Get(i), target);
    }
  }

  // repeated .onnx.IntIntListEntryProto index_to_device_group_map = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_index_to_device_group_map_size());
         i < n; i++) {
      const auto& repfield = this_._internal_index_to_device_group_map().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.ShardedDimProto sharded_dim = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_sharded_dim_size());
         i < n; i++) {
      const auto& repfield = this_._internal_sharded_dim().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.ShardingSpecProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ShardingSpecProto::ByteSizeLong(const MessageLite& base) {
  const ShardingSpecProto& this_ = static_cast<const ShardingSpecProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ShardingSpecProto::ByteSizeLong() const {
  const ShardingSpecProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.ShardingSpecProto)
  ::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)) {
    // repeated int64 device = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_device());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_device_size());
      total_size += tag_size + data_size;
    }
    // repeated .onnx.IntIntListEntryProto index_to_device_group_map = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_index_to_device_group_map_size();
      for (const auto& msg : this_._internal_index_to_device_group_map()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.ShardedDimProto sharded_dim = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_sharded_dim_size();
      for (const auto& msg : this_._internal_sharded_dim()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string tensor_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tensor_name());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ShardingSpecProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ShardingSpecProto*>(&to_msg);
  auto& from = static_cast<const ShardingSpecProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.ShardingSpecProto)
  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->_internal_mutable_device()->MergeFrom(from._internal_device());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_index_to_device_group_map()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_index_to_device_group_map());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_sharded_dim()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_sharded_dim());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_tensor_name(from._internal_tensor_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


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

::google::protobuf::Metadata ShardingSpecProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

ShardedDimProto::ShardedDimProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ShardedDimProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ShardedDimProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ShardedDimProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.axis_ = from._impl_.axis_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ShardedDimProto_class_data_ =
        ShardedDimProto::InternalGenerateClassData_(ShardedDimProto_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.simple_sharding_.Clear();
  }
  _impl_.axis_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // repeated .onnx.SimpleShardedDimProto simple_sharding = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_simple_sharding_size());
         i < n; i++) {
      const auto& repfield = this_._internal_simple_sharding().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.ShardedDimProto)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .onnx.SimpleShardedDimProto simple_sharding = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_simple_sharding_size();
      for (const auto& msg : this_._internal_simple_sharding()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional int64 axis = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_axis());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_simple_sharding()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_simple_sharding());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.axis_ = from._impl_.axis_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void ShardedDimProto::InternalSwap(ShardedDimProto* 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_.simple_sharding_.InternalSwap(&other->_impl_.simple_sharding_);
  swap(_impl_.axis_, other->_impl_.axis_);
}

::google::protobuf::Metadata ShardedDimProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

SimpleShardedDimProto::SimpleShardedDimProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SimpleShardedDimProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, SimpleShardedDimProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SimpleShardedDimProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.num_shards_ = from._impl_.num_shards_;
  switch (dim_case()) {
    case DIM_NOT_SET:
      break;
      case kDimValue:
        _impl_.dim_.dim_value_ = from._impl_.dim_.dim_value_;
        break;
      case kDimParam:
        new (&_impl_.dim_.dim_param_) decltype(_impl_.dim_.dim_param_){arena, from._impl_.dim_.dim_param_};
        break;
  }

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

inline void SimpleShardedDimProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.num_shards_ = {};
}
SimpleShardedDimProto::~SimpleShardedDimProto() {
  // @@protoc_insertion_point(destructor:onnx.SimpleShardedDimProto)
  SharedDtor(*this);
}
inline void SimpleShardedDimProto::SharedDtor(MessageLite& self) {
  SimpleShardedDimProto& this_ = static_cast<SimpleShardedDimProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_dim()) {
    this_.clear_dim();
  }
  this_._impl_.~Impl_();
}

void SimpleShardedDimProto::clear_dim() {
// @@protoc_insertion_point(one_of_clear_start:onnx.SimpleShardedDimProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (dim_case()) {
    case kDimValue: {
      // No need to clear
      break;
    }
    case kDimParam: {
      _impl_.dim_.dim_param_.Destroy();
      break;
    }
    case DIM_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = DIM_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull SimpleShardedDimProto_class_data_ =
        SimpleShardedDimProto::InternalGenerateClassData_(SimpleShardedDimProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SimpleShardedDimProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&SimpleShardedDimProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(SimpleShardedDimProto_class_data_.tc_table);
  return SimpleShardedDimProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SimpleShardedDimProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&SimpleShardedDimProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&SimpleShardedDimProto_globals_));
  return SimpleShardedDimProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SimpleShardedDimProto::ParseTableT_
    SimpleShardedDimProto::_table_ =
        SimpleShardedDimProto::InternalGenerateParseTable_(SimpleShardedDimProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SimpleShardedDimProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.SimpleShardedDimProto)
  ::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_.num_shards_ = ::int64_t{0};
  clear_dim();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  switch (this_.dim_case()) {
    case kDimValue: {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
              stream, this_._internal_dim_value(), target);
      break;
    }
    case kDimParam: {
      const ::std::string& _s = this_._internal_dim_param();
      target = stream->WriteStringMaybeAliased(2, _s, target);
      break;
    }
    default:
      break;
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 num_shards = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_num_shards(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.SimpleShardedDimProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SimpleShardedDimProto::ByteSizeLong(const MessageLite& base) {
  const SimpleShardedDimProto& this_ = static_cast<const SimpleShardedDimProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SimpleShardedDimProto::ByteSizeLong() const {
  const SimpleShardedDimProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.SimpleShardedDimProto)
  ::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 num_shards = 3;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_num_shards());
    }
  }
  switch (this_.dim_case()) {
    // int64 dim_value = 1;
    case kDimValue: {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_dim_value());
      break;
    }
    // string dim_param = 2;
    case kDimParam: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dim_param());
      break;
    }
    case DIM_NOT_SET: {
      break;
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void SimpleShardedDimProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SimpleShardedDimProto*>(&to_msg);
  auto& from = static_cast<const SimpleShardedDimProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.SimpleShardedDimProto)
  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_.num_shards_ = from._impl_.num_shards_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_dim();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kDimValue: {
        _this->_impl_.dim_.dim_value_ = from._impl_.dim_.dim_value_;
        break;
      }
      case kDimParam: {
        if (oneof_needs_init) {
          _this->_impl_.dim_.dim_param_.InitDefault();
        }
        _this->_impl_.dim_.dim_param_.Set(from._internal_dim_param(), arena);
        break;
      }
      case DIM_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void SimpleShardedDimProto::InternalSwap(SimpleShardedDimProto* 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_.num_shards_, other->_impl_.num_shards_);
  swap(_impl_.dim_, other->_impl_.dim_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata SimpleShardedDimProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

TrainingInfoProto::TrainingInfoProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TrainingInfoProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TrainingInfoProto)
}
PROTOBUF_NDEBUG_INLINE TrainingInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::TrainingInfoProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        initialization_binding_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TrainingInfoProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.initialization_binding_)>()
          , from.initialization_binding_
        }
        ,
        update_binding_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TrainingInfoProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TrainingInfoProto, _impl_.update_binding_)>()
          , from.update_binding_
        }
     {}

TrainingInfoProto::TrainingInfoProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TrainingInfoProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TrainingInfoProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TrainingInfoProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.initialization_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.initialization_)
                : nullptr;
  _impl_.algorithm_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.algorithm_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TrainingInfoProto_class_data_ =
        TrainingInfoProto::InternalGenerateClassData_(TrainingInfoProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TrainingInfoProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TrainingInfoProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TrainingInfoProto_class_data_.tc_table);
  return TrainingInfoProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TrainingInfoProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TrainingInfoProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TrainingInfoProto_globals_));
  return TrainingInfoProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TrainingInfoProto::ParseTableT_
    TrainingInfoProto::_table_ =
        TrainingInfoProto::InternalGenerateParseTable_(TrainingInfoProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TrainingInfoProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TrainingInfoProto)
  ::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_.initialization_binding_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.update_binding_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.initialization_ != nullptr);
      _impl_.initialization_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.algorithm_ != nullptr);
      _impl_.algorithm_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .onnx.GraphProto initialization = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.initialization_, this_._impl_.initialization_->GetCachedSize(), target,
        stream);
  }

  // optional .onnx.GraphProto algorithm = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.algorithm_, this_._impl_.algorithm_->GetCachedSize(), target,
        stream);
  }

  // repeated .onnx.StringStringEntryProto initialization_binding = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_initialization_binding_size());
         i < n; i++) {
      const auto& repfield = this_._internal_initialization_binding().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.StringStringEntryProto update_binding = 4;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_update_binding_size());
         i < n; i++) {
      const auto& repfield = this_._internal_update_binding().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TrainingInfoProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TrainingInfoProto::ByteSizeLong(const MessageLite& base) {
  const TrainingInfoProto& this_ = static_cast<const TrainingInfoProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TrainingInfoProto::ByteSizeLong() const {
  const TrainingInfoProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TrainingInfoProto)
  ::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)) {
    // repeated .onnx.StringStringEntryProto initialization_binding = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_initialization_binding_size();
      for (const auto& msg : this_._internal_initialization_binding()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.StringStringEntryProto update_binding = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_update_binding_size();
      for (const auto& msg : this_._internal_update_binding()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .onnx.GraphProto initialization = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.initialization_);
    }
    // optional .onnx.GraphProto algorithm = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.algorithm_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TrainingInfoProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TrainingInfoProto*>(&to_msg);
  auto& from = static_cast<const TrainingInfoProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.TrainingInfoProto)
  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->_internal_mutable_initialization_binding()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_initialization_binding());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_update_binding()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_update_binding());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.initialization_ != nullptr);
      if (_this->_impl_.initialization_ == nullptr) {
        _this->_impl_.initialization_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.initialization_);
      } else {
        _this->_impl_.initialization_->MergeFrom(*from._impl_.initialization_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.algorithm_ != nullptr);
      if (_this->_impl_.algorithm_ == nullptr) {
        _this->_impl_.algorithm_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.algorithm_);
      } else {
        _this->_impl_.algorithm_->MergeFrom(*from._impl_.algorithm_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void TrainingInfoProto::InternalSwap(TrainingInfoProto* 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_.initialization_binding_.InternalSwap(&other->_impl_.initialization_binding_);
  _impl_.update_binding_.InternalSwap(&other->_impl_.update_binding_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.algorithm_)
      + sizeof(TrainingInfoProto::_impl_.algorithm_)
      - PROTOBUF_FIELD_OFFSET(TrainingInfoProto, _impl_.initialization_)>(
          reinterpret_cast<char*>(&_impl_.initialization_),
          reinterpret_cast<char*>(&other->_impl_.initialization_));
}

::google::protobuf::Metadata TrainingInfoProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

ModelProto::ModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ModelProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.ModelProto)
}
PROTOBUF_NDEBUG_INLINE ModelProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::ModelProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        opset_import_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ModelProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.opset_import_)>()
          , from.opset_import_
        }
        ,
        metadata_props_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ModelProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.metadata_props_)>()
          , from.metadata_props_
        }
        ,
        functions_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ModelProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.functions_)>()
          , from.functions_
        }
        ,
        configuration_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ModelProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.configuration_)>()
          , from.configuration_
        }
        ,
        producer_name_(arena, from.producer_name_),
        producer_version_(arena, from.producer_version_),
        domain_(arena, from.domain_),
        doc_string_(arena, from.doc_string_),
        training_info_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::ModelProto,
              PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.training_info_)>()
          , from.training_info_
        }
     {}

ModelProto::ModelProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ModelProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ModelProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ModelProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.graph_ = (CheckHasBit(cached_has_bits, 0x00000100U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.graph_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, ir_version_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, ir_version_),
           offsetof(Impl_, model_version_) -
               offsetof(Impl_, ir_version_) +
               sizeof(Impl_::model_version_));

  // @@protoc_insertion_point(copy_constructor:onnx.ModelProto)
}
PROTOBUF_NDEBUG_INLINE ModelProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        opset_import_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.opset_import_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.metadata_props_)>()
         }
        ,
        functions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.functions_)>()
         }
        ,
        configuration_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.configuration_)>()
         }
        ,
        producer_name_(arena),
        producer_version_(arena),
        domain_(arena),
        doc_string_(arena),
        training_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::ModelProto,
            PROTOBUF_FIELD_OFFSET(::onnx::ModelProto, _impl_.training_info_)>()
         }
     {}

inline void ModelProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, graph_),
           0,
           offsetof(Impl_, model_version_) -
               offsetof(Impl_, graph_) +
               sizeof(Impl_::model_version_));
}
ModelProto::~ModelProto() {
  // @@protoc_insertion_point(destructor:onnx.ModelProto)
  SharedDtor(*this);
}
inline void ModelProto::SharedDtor(MessageLite& self) {
  ModelProto& this_ = static_cast<ModelProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.producer_name_.Destroy();
  this_._impl_.producer_version_.Destroy();
  this_._impl_.domain_.Destroy();
  this_._impl_.doc_string_.Destroy();
  delete this_._impl_.graph_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ModelProto_class_data_ =
        ModelProto::InternalGenerateClassData_(ModelProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ModelProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ModelProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ModelProto_class_data_.tc_table);
  return ModelProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ModelProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ModelProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ModelProto_globals_));
  return ModelProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ModelProto::ParseTableT_
    ModelProto::_table_ =
        ModelProto::InternalGenerateParseTable_(ModelProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ModelProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.ModelProto)
  ::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_.opset_import_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.metadata_props_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.functions_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.configuration_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.producer_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.producer_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.domain_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    ABSL_DCHECK(_impl_.graph_ != nullptr);
    _impl_.graph_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000e00U)) {
    ::memset(&_impl_.ir_version_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.model_version_) -
        reinterpret_cast<char*>(&_impl_.ir_version_)) + sizeof(_impl_.model_version_));
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.training_info_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // optional string producer_name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_producer_name();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional string producer_version = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_producer_version();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional string domain = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_domain();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // optional int64 model_version = 5;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_model_version(), target);
  }

  // optional string doc_string = 6;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional .onnx.GraphProto graph = 7;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.graph_, this_._impl_.graph_->GetCachedSize(), target,
        stream);
  }

  // repeated .onnx.OperatorSetIdProto opset_import = 8;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_opset_import_size());
         i < n; i++) {
      const auto& repfield = this_._internal_opset_import().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              8, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.StringStringEntryProto metadata_props = 14;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_metadata_props_size());
         i < n; i++) {
      const auto& repfield = this_._internal_metadata_props().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              14, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.TrainingInfoProto training_info = 20;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_training_info_size());
         i < n; i++) {
      const auto& repfield = this_._internal_training_info().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              20, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.FunctionProto functions = 25;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_functions_size());
         i < n; i++) {
      const auto& repfield = this_._internal_functions().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              25, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.DeviceConfigurationProto configuration = 26;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_configuration_size());
         i < n; i++) {
      const auto& repfield = this_._internal_configuration().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              26, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.ModelProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ModelProto::ByteSizeLong(const MessageLite& base) {
  const ModelProto& this_ = static_cast<const ModelProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ModelProto::ByteSizeLong() const {
  const ModelProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.ModelProto)
  ::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 .onnx.OperatorSetIdProto opset_import = 8;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_opset_import_size();
      for (const auto& msg : this_._internal_opset_import()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.StringStringEntryProto metadata_props = 14;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.FunctionProto functions = 25;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2UL * this_._internal_functions_size();
      for (const auto& msg : this_._internal_functions()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.DeviceConfigurationProto configuration = 26;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2UL * this_._internal_configuration_size();
      for (const auto& msg : this_._internal_configuration()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string producer_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_producer_name());
    }
    // optional string producer_version = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_producer_version());
    }
    // optional string domain = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional string doc_string = 6;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000f00U)) {
    // optional .onnx.GraphProto graph = 7;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.graph_);
    }
    // optional int64 ir_version = 1;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_ir_version());
    }
    // optional int64 model_version = 5;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_model_version());
    }
    // repeated .onnx.TrainingInfoProto training_info = 20;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2UL * this_._internal_training_info_size();
      for (const auto& msg : this_._internal_training_info()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ModelProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ModelProto*>(&to_msg);
  auto& from = static_cast<const ModelProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.ModelProto)
  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_opset_import()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_opset_import());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_metadata_props()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata_props());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_functions()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_functions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_configuration()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_configuration());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_producer_name(from._internal_producer_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_producer_version(from._internal_producer_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(from._impl_.graph_ != nullptr);
      if (_this->_impl_.graph_ == nullptr) {
        _this->_impl_.graph_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.graph_);
      } else {
        _this->_impl_.graph_->MergeFrom(*from._impl_.graph_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.ir_version_ = from._impl_.ir_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.model_version_ = from._impl_.model_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_mutable_training_info()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_training_info());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void ModelProto::InternalSwap(ModelProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.opset_import_.InternalSwap(&other->_impl_.opset_import_);
  _impl_.metadata_props_.InternalSwap(&other->_impl_.metadata_props_);
  _impl_.functions_.InternalSwap(&other->_impl_.functions_);
  _impl_.configuration_.InternalSwap(&other->_impl_.configuration_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.producer_name_, &other->_impl_.producer_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.producer_version_, &other->_impl_.producer_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.model_version_)
      + sizeof(ModelProto::_impl_.model_version_)
      - PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.graph_)>(
          reinterpret_cast<char*>(&_impl_.graph_),
          reinterpret_cast<char*>(&other->_impl_.graph_));
  _impl_.training_info_.InternalSwap(&other->_impl_.training_info_);
}

::google::protobuf::Metadata ModelProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

DeviceConfigurationProto::DeviceConfigurationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, DeviceConfigurationProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.DeviceConfigurationProto)
}
PROTOBUF_NDEBUG_INLINE DeviceConfigurationProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::DeviceConfigurationProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        device_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::DeviceConfigurationProto,
              PROTOBUF_FIELD_OFFSET(::onnx::DeviceConfigurationProto, _impl_.device_)>()
          , from.device_
        }
        ,
        name_(arena, from.name_) {}

DeviceConfigurationProto::DeviceConfigurationProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DeviceConfigurationProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, DeviceConfigurationProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DeviceConfigurationProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.num_devices_ = from._impl_.num_devices_;

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

inline void DeviceConfigurationProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.num_devices_ = {};
}
DeviceConfigurationProto::~DeviceConfigurationProto() {
  // @@protoc_insertion_point(destructor:onnx.DeviceConfigurationProto)
  SharedDtor(*this);
}
inline void DeviceConfigurationProto::SharedDtor(MessageLite& self) {
  DeviceConfigurationProto& this_ = static_cast<DeviceConfigurationProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull DeviceConfigurationProto_class_data_ =
        DeviceConfigurationProto::InternalGenerateClassData_(DeviceConfigurationProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DeviceConfigurationProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&DeviceConfigurationProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(DeviceConfigurationProto_class_data_.tc_table);
  return DeviceConfigurationProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DeviceConfigurationProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&DeviceConfigurationProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&DeviceConfigurationProto_globals_));
  return DeviceConfigurationProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DeviceConfigurationProto::ParseTableT_
    DeviceConfigurationProto::_table_ =
        DeviceConfigurationProto::InternalGenerateParseTable_(DeviceConfigurationProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DeviceConfigurationProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.DeviceConfigurationProto)
  ::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_.device_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.num_devices_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

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

  // repeated string device = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_device_size(); i < n; ++i) {
      const auto& s = this_._internal_device().Get(i);
      target = stream->WriteString(3, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.DeviceConfigurationProto)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated string device = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_device().size());
      for (int i = 0, n = this_._internal_device().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_device().Get(i));
      }
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional int32 num_devices = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_devices());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_device()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_device());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.num_devices_ = from._impl_.num_devices_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


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

::google::protobuf::Metadata DeviceConfigurationProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

StringStringEntryProto::StringStringEntryProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const StringStringEntryProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, StringStringEntryProto_get_class_data()) {

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

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

inline void StringStringEntryProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
StringStringEntryProto::~StringStringEntryProto() {
  // @@protoc_insertion_point(destructor:onnx.StringStringEntryProto)
  SharedDtor(*this);
}
inline void StringStringEntryProto::SharedDtor(MessageLite& self) {
  StringStringEntryProto& this_ = static_cast<StringStringEntryProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.key_.Destroy();
  this_._impl_.value_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull StringStringEntryProto_class_data_ =
        StringStringEntryProto::InternalGenerateClassData_(StringStringEntryProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
StringStringEntryProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&StringStringEntryProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(StringStringEntryProto_class_data_.tc_table);
  return StringStringEntryProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
StringStringEntryProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&StringStringEntryProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&StringStringEntryProto_globals_));
  return StringStringEntryProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const StringStringEntryProto::ParseTableT_
    StringStringEntryProto::_table_ =
        StringStringEntryProto::InternalGenerateParseTable_(StringStringEntryProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void StringStringEntryProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.StringStringEntryProto)
  ::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_.key_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.value_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string key = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_key();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string value = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_value();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.StringStringEntryProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t StringStringEntryProto::ByteSizeLong(const MessageLite& base) {
  const StringStringEntryProto& this_ = static_cast<const StringStringEntryProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t StringStringEntryProto::ByteSizeLong() const {
  const StringStringEntryProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.StringStringEntryProto)
  ::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 string key = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_key());
    }
    // optional string value = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_key(from._internal_key());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_value(from._internal_value());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void StringStringEntryProto::InternalSwap(StringStringEntryProto* 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_.key_, &other->_impl_.key_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.value_, &other->_impl_.value_, arena);
}

::google::protobuf::Metadata StringStringEntryProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

TensorAnnotation::TensorAnnotation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorAnnotation_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TensorAnnotation)
}
PROTOBUF_NDEBUG_INLINE TensorAnnotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::TensorAnnotation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        quant_parameter_tensor_names_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorAnnotation,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorAnnotation, _impl_.quant_parameter_tensor_names_)>()
          , from.quant_parameter_tensor_names_
        }
        ,
        tensor_name_(arena, from.tensor_name_) {}

TensorAnnotation::TensorAnnotation(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorAnnotation& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorAnnotation_get_class_data()) {

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorAnnotation_class_data_ =
        TensorAnnotation::InternalGenerateClassData_(TensorAnnotation_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorAnnotation::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorAnnotation_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorAnnotation_class_data_.tc_table);
  return TensorAnnotation_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorAnnotation::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorAnnotation_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TensorAnnotation_globals_));
  return TensorAnnotation_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TensorAnnotation::ParseTableT_
    TensorAnnotation::_table_ =
        TensorAnnotation::InternalGenerateParseTable_(TensorAnnotation_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TensorAnnotation::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TensorAnnotation)
  ::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_.quant_parameter_tensor_names_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.tensor_name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string tensor_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_tensor_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .onnx.StringStringEntryProto quant_parameter_tensor_names = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_quant_parameter_tensor_names_size());
         i < n; i++) {
      const auto& repfield = this_._internal_quant_parameter_tensor_names().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TensorAnnotation)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .onnx.StringStringEntryProto quant_parameter_tensor_names = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_quant_parameter_tensor_names_size();
      for (const auto& msg : this_._internal_quant_parameter_tensor_names()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string tensor_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tensor_name());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_quant_parameter_tensor_names()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_quant_parameter_tensor_names());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_tensor_name(from._internal_tensor_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


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

::google::protobuf::Metadata TensorAnnotation::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

GraphProto::GraphProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, GraphProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.GraphProto)
}
PROTOBUF_NDEBUG_INLINE GraphProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::GraphProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        node_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.node_)>()
          , from.node_
        }
        ,
        initializer_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.initializer_)>()
          , from.initializer_
        }
        ,
        input_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.input_)>()
          , from.input_
        }
        ,
        output_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.output_)>()
          , from.output_
        }
        ,
        value_info_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.value_info_)>()
          , from.value_info_
        }
        ,
        quantization_annotation_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.quantization_annotation_)>()
          , from.quantization_annotation_
        }
        ,
        sparse_initializer_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.sparse_initializer_)>()
          , from.sparse_initializer_
        }
        ,
        metadata_props_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::GraphProto,
              PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.metadata_props_)>()
          , from.metadata_props_
        }
        ,
        name_(arena, from.name_),
        doc_string_(arena, from.doc_string_) {}

GraphProto::GraphProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GraphProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, GraphProto_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:onnx.GraphProto)
}
PROTOBUF_NDEBUG_INLINE GraphProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        node_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.node_)>()
         }
        ,
        initializer_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.initializer_)>()
         }
        ,
        input_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.input_)>()
         }
        ,
        output_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.output_)>()
         }
        ,
        value_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.value_info_)>()
         }
        ,
        quantization_annotation_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.quantization_annotation_)>()
         }
        ,
        sparse_initializer_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.sparse_initializer_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::GraphProto,
            PROTOBUF_FIELD_OFFSET(::onnx::GraphProto, _impl_.metadata_props_)>()
         }
        ,
        name_(arena),
        doc_string_(arena) {}

inline void GraphProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GraphProto::~GraphProto() {
  // @@protoc_insertion_point(destructor:onnx.GraphProto)
  SharedDtor(*this);
}
inline void GraphProto::SharedDtor(MessageLite& self) {
  GraphProto& this_ = static_cast<GraphProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull GraphProto_class_data_ =
        GraphProto::InternalGenerateClassData_(GraphProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GraphProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&GraphProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(GraphProto_class_data_.tc_table);
  return GraphProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GraphProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&GraphProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&GraphProto_globals_));
  return GraphProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GraphProto::ParseTableT_
    GraphProto::_table_ =
        GraphProto::InternalGenerateParseTable_(GraphProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GraphProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.GraphProto)
  ::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_.node_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.initializer_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.input_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.output_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.value_info_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.quantization_annotation_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.sparse_initializer_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.metadata_props_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .onnx.NodeProto node = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_node_size());
         i < n; i++) {
      const auto& repfield = this_._internal_node().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .onnx.TensorProto initializer = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_initializer_size());
         i < n; i++) {
      const auto& repfield = this_._internal_initializer().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string doc_string = 10;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // repeated .onnx.ValueInfoProto input = 11;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_input_size());
         i < n; i++) {
      const auto& repfield = this_._internal_input().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              11, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.ValueInfoProto output = 12;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_output_size());
         i < n; i++) {
      const auto& repfield = this_._internal_output().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              12, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.ValueInfoProto value_info = 13;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_value_info_size());
         i < n; i++) {
      const auto& repfield = this_._internal_value_info().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              13, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.TensorAnnotation quantization_annotation = 14;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_quantization_annotation_size());
         i < n; i++) {
      const auto& repfield = this_._internal_quantization_annotation().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              14, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.SparseTensorProto sparse_initializer = 15;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_sparse_initializer_size());
         i < n; i++) {
      const auto& repfield = this_._internal_sparse_initializer().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              15, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.StringStringEntryProto metadata_props = 16;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_metadata_props_size());
         i < n; i++) {
      const auto& repfield = this_._internal_metadata_props().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              16, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.GraphProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GraphProto::ByteSizeLong(const MessageLite& base) {
  const GraphProto& this_ = static_cast<const GraphProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GraphProto::ByteSizeLong() const {
  const GraphProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.GraphProto)
  ::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 .onnx.NodeProto node = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_node_size();
      for (const auto& msg : this_._internal_node()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.TensorProto initializer = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_initializer_size();
      for (const auto& msg : this_._internal_initializer()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.ValueInfoProto input = 11;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_input_size();
      for (const auto& msg : this_._internal_input()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.ValueInfoProto output = 12;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_output_size();
      for (const auto& msg : this_._internal_output()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.ValueInfoProto value_info = 13;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_value_info_size();
      for (const auto& msg : this_._internal_value_info()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.TensorAnnotation quantization_annotation = 14;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1UL * this_._internal_quantization_annotation_size();
      for (const auto& msg : this_._internal_quantization_annotation()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.SparseTensorProto sparse_initializer = 15;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1UL * this_._internal_sparse_initializer_size();
      for (const auto& msg : this_._internal_sparse_initializer()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.StringStringEntryProto metadata_props = 16;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    // optional string name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string doc_string = 10;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void GraphProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GraphProto*>(&to_msg);
  auto& from = static_cast<const GraphProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.GraphProto)
  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_node()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_node());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_initializer()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_initializer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_input()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_input());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_output()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_output());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_value_info()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_value_info());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_quantization_annotation()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_quantization_annotation());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_sparse_initializer()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_sparse_initializer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_metadata_props()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata_props());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void GraphProto::InternalSwap(GraphProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.node_.InternalSwap(&other->_impl_.node_);
  _impl_.initializer_.InternalSwap(&other->_impl_.initializer_);
  _impl_.input_.InternalSwap(&other->_impl_.input_);
  _impl_.output_.InternalSwap(&other->_impl_.output_);
  _impl_.value_info_.InternalSwap(&other->_impl_.value_info_);
  _impl_.quantization_annotation_.InternalSwap(&other->_impl_.quantization_annotation_);
  _impl_.sparse_initializer_.InternalSwap(&other->_impl_.sparse_initializer_);
  _impl_.metadata_props_.InternalSwap(&other->_impl_.metadata_props_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
}

::google::protobuf::Metadata GraphProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

TensorProto_Segment::TensorProto_Segment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_Segment_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TensorProto.Segment)
}
TensorProto_Segment::TensorProto_Segment(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TensorProto_Segment& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_Segment_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE TensorProto_Segment::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void TensorProto_Segment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, begin_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, begin_) +
               sizeof(Impl_::end_));
}
TensorProto_Segment::~TensorProto_Segment() {
  // @@protoc_insertion_point(destructor:onnx.TensorProto.Segment)
  SharedDtor(*this);
}
inline void TensorProto_Segment::SharedDtor(MessageLite& self) {
  TensorProto_Segment& this_ = static_cast<TensorProto_Segment&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorProto_Segment_class_data_ =
        TensorProto_Segment::InternalGenerateClassData_(TensorProto_Segment_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorProto_Segment::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorProto_Segment_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorProto_Segment_class_data_.tc_table);
  return TensorProto_Segment_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorProto_Segment::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorProto_Segment_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TensorProto_Segment_globals_));
  return TensorProto_Segment_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TensorProto_Segment::ParseTableT_
    TensorProto_Segment::_table_ =
        TensorProto_Segment::InternalGenerateParseTable_(TensorProto_Segment_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TensorProto_Segment::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TensorProto.Segment)
  ::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_.begin_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_) -
        reinterpret_cast<char*>(&_impl_.begin_)) + sizeof(_impl_.end_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TensorProto.Segment)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorProto_Segment::ByteSizeLong(const MessageLite& base) {
  const TensorProto_Segment& this_ = static_cast<const TensorProto_Segment&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorProto_Segment::ByteSizeLong() const {
  const TensorProto_Segment& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TensorProto.Segment)
  ::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 begin = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_begin());
    }
    // optional int64 end = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_end());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorProto_Segment::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TensorProto_Segment*>(&to_msg);
  auto& from = static_cast<const TensorProto_Segment&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.TensorProto.Segment)
  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_.begin_ = from._impl_.begin_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TensorProto_Segment::CopyFrom(const TensorProto_Segment& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TensorProto.Segment)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

::google::protobuf::Metadata TensorProto_Segment::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

TensorProto::TensorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TensorProto)
}
PROTOBUF_NDEBUG_INLINE TensorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::TensorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        dims_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.dims_)>()
          , from.dims_
        }
        ,
        float_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.float_data_)>()
          , from.float_data_
        }
        ,
        int32_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int32_data_)>()
          , from.int32_data_
        }
        ,
        _int32_data_cached_byte_size_{0},
        string_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.string_data_)>()
          , from.string_data_
        }
        ,
        int64_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int64_data_)>()
          , from.int64_data_
        }
        ,
        _int64_data_cached_byte_size_{0},
        double_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.double_data_)>()
          , from.double_data_
        }
        ,
        uint64_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.uint64_data_)>()
          , from.uint64_data_
        }
        ,
        _uint64_data_cached_byte_size_{0},
        external_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.external_data_)>()
          , from.external_data_
        }
        ,
        metadata_props_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::TensorProto,
              PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.metadata_props_)>()
          , from.metadata_props_
        }
        ,
        name_(arena, from.name_),
        raw_data_(arena, from.raw_data_),
        doc_string_(arena, from.doc_string_) {}

TensorProto::TensorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TensorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.segment_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.segment_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, data_type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, data_type_),
           offsetof(Impl_, data_location_) -
               offsetof(Impl_, data_type_) +
               sizeof(Impl_::data_location_));

  // @@protoc_insertion_point(copy_constructor:onnx.TensorProto)
}
PROTOBUF_NDEBUG_INLINE TensorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        dims_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.dims_)>()
         }
        ,
        float_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.float_data_)>()
         }
        ,
        int32_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int32_data_)>()
         }
        ,
        _int32_data_cached_byte_size_{0},
        string_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.string_data_)>()
         }
        ,
        int64_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.int64_data_)>()
         }
        ,
        _int64_data_cached_byte_size_{0},
        double_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.double_data_)>()
         }
        ,
        uint64_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.uint64_data_)>()
         }
        ,
        _uint64_data_cached_byte_size_{0},
        external_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.external_data_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::TensorProto,
            PROTOBUF_FIELD_OFFSET(::onnx::TensorProto, _impl_.metadata_props_)>()
         }
        ,
        name_(arena),
        raw_data_(arena),
        doc_string_(arena) {}

inline void TensorProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, segment_),
           0,
           offsetof(Impl_, data_location_) -
               offsetof(Impl_, segment_) +
               sizeof(Impl_::data_location_));
}
TensorProto::~TensorProto() {
  // @@protoc_insertion_point(destructor:onnx.TensorProto)
  SharedDtor(*this);
}
inline void TensorProto::SharedDtor(MessageLite& self) {
  TensorProto& this_ = static_cast<TensorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.raw_data_.Destroy();
  this_._impl_.doc_string_.Destroy();
  delete this_._impl_.segment_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorProto_class_data_ =
        TensorProto::InternalGenerateClassData_(TensorProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorProto_class_data_.tc_table);
  return TensorProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TensorProto_globals_));
  return TensorProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TensorProto::ParseTableT_
    TensorProto::_table_ =
        TensorProto::InternalGenerateParseTable_(TensorProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TensorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TensorProto)
  ::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_.dims_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.float_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.int32_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.string_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.int64_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.double_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.uint64_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.external_data_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.metadata_props_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.raw_data_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(_impl_.segment_ != nullptr);
      _impl_.segment_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00006000U)) {
    ::memset(&_impl_.data_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.data_location_) -
        reinterpret_cast<char*>(&_impl_.data_type_)) + sizeof(_impl_.data_location_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated int64 dims = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_dims_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          1, this_._internal_dims().Get(i), target);
    }
  }

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

  // optional .onnx.TensorProto.Segment segment = 3;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.segment_, this_._impl_.segment_->GetCachedSize(), target,
        stream);
  }

  // repeated float float_data = 4 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_float_data_size() > 0) {
      target = stream->WriteFixedPacked(4, this_._internal_float_data(), target);
    }
  }

  // repeated int32 int32_data = 5 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    {
      int byte_size = this_._impl_._int32_data_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            5, this_._internal_int32_data(), byte_size, target);
      }
    }
  }

  // repeated bytes string_data = 6;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (int i = 0, n = this_._internal_string_data_size(); i < n; ++i) {
      const auto& s = this_._internal_string_data().Get(i);
      target = stream->WriteBytes(6, s, target);
    }
  }

  // repeated int64 int64_data = 7 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    {
      int byte_size = this_._impl_._int64_data_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt64Packed(
            7, this_._internal_int64_data(), byte_size, target);
      }
    }
  }

  // optional string name = 8;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // optional bytes raw_data = 9;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_raw_data();
    target = stream->WriteBytesMaybeAliased(9, _s, target);
  }

  // repeated double double_data = 10 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    if (this_._internal_double_data_size() > 0) {
      target = stream->WriteFixedPacked(10, this_._internal_double_data(), target);
    }
  }

  // repeated uint64 uint64_data = 11 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    {
      int byte_size = this_._impl_._uint64_data_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteUInt64Packed(
            11, this_._internal_uint64_data(), byte_size, target);
      }
    }
  }

  // optional string doc_string = 12;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // repeated .onnx.StringStringEntryProto external_data = 13;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_external_data_size());
         i < n; i++) {
      const auto& repfield = this_._internal_external_data().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              13, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional .onnx.TensorProto.DataLocation data_location = 14;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        14, this_._internal_data_location(), target);
  }

  // repeated .onnx.StringStringEntryProto metadata_props = 16;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_metadata_props_size());
         i < n; i++) {
      const auto& repfield = this_._internal_metadata_props().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              16, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TensorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorProto::ByteSizeLong(const MessageLite& base) {
  const TensorProto& this_ = static_cast<const TensorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorProto::ByteSizeLong() const {
  const TensorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TensorProto)
  ::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 int64 dims = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_dims());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_dims_size());
      total_size += tag_size + data_size;
    }
    // repeated float float_data = 4 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_float_data_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 1 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
    // repeated int32 int32_data = 5 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_int32_data(), 1,
              this_._impl_._int32_data_cached_byte_size_);
    }
    // repeated bytes string_data = 6;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_string_data().size());
      for (int i = 0, n = this_._internal_string_data().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
            this_._internal_string_data().Get(i));
      }
    }
    // repeated int64 int64_data = 7 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
              this_._internal_int64_data(), 1,
              this_._impl_._int64_data_cached_byte_size_);
    }
    // repeated double double_data = 10 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ::size_t data_size = ::size_t{8} *
          ::_pbi::FromIntSize(this_._internal_double_data_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 1 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
    // repeated uint64 uint64_data = 11 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size +=
          ::_pbi::WireFormatLite::UInt64SizeWithPackedTagSize(
              this_._internal_uint64_data(), 1,
              this_._impl_._uint64_data_cached_byte_size_);
    }
    // repeated .onnx.StringStringEntryProto external_data = 13;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1UL * this_._internal_external_data_size();
      for (const auto& msg : this_._internal_external_data()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // repeated .onnx.StringStringEntryProto metadata_props = 16;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string name = 8;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional bytes raw_data = 9;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_raw_data());
    }
    // optional string doc_string = 12;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional .onnx.TensorProto.Segment segment = 3;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.segment_);
    }
    // optional int32 data_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_data_type());
    }
    // optional .onnx.TensorProto.DataLocation data_location = 14;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_data_location());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TensorProto*>(&to_msg);
  auto& from = static_cast<const TensorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.TensorProto)
  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_dims()->MergeFrom(from._internal_dims());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_float_data()->MergeFrom(from._internal_float_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_int32_data()->MergeFrom(from._internal_int32_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_string_data()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_string_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_int64_data()->MergeFrom(from._internal_int64_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_double_data()->MergeFrom(from._internal_double_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_uint64_data()->MergeFrom(from._internal_uint64_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_external_data()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_external_data());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_mutable_metadata_props()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata_props());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_raw_data(from._internal_raw_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.segment_ != nullptr);
      if (_this->_impl_.segment_ == nullptr) {
        _this->_impl_.segment_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.segment_);
      } else {
        _this->_impl_.segment_->MergeFrom(*from._impl_.segment_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.data_type_ = from._impl_.data_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.data_location_ = from._impl_.data_location_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void TensorProto::InternalSwap(TensorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.dims_.InternalSwap(&other->_impl_.dims_);
  _impl_.float_data_.InternalSwap(&other->_impl_.float_data_);
  _impl_.int32_data_.InternalSwap(&other->_impl_.int32_data_);
  _impl_.string_data_.InternalSwap(&other->_impl_.string_data_);
  _impl_.int64_data_.InternalSwap(&other->_impl_.int64_data_);
  _impl_.double_data_.InternalSwap(&other->_impl_.double_data_);
  _impl_.uint64_data_.InternalSwap(&other->_impl_.uint64_data_);
  _impl_.external_data_.InternalSwap(&other->_impl_.external_data_);
  _impl_.metadata_props_.InternalSwap(&other->_impl_.metadata_props_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.raw_data_, &other->_impl_.raw_data_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_location_)
      + sizeof(TensorProto::_impl_.data_location_)
      - PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.segment_)>(
          reinterpret_cast<char*>(&_impl_.segment_),
          reinterpret_cast<char*>(&other->_impl_.segment_));
}

::google::protobuf::Metadata TensorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

SparseTensorProto::SparseTensorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SparseTensorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, SparseTensorProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SparseTensorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.values_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.values_)
                : nullptr;
  _impl_.indices_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.indices_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull SparseTensorProto_class_data_ =
        SparseTensorProto::InternalGenerateClassData_(SparseTensorProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SparseTensorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&SparseTensorProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(SparseTensorProto_class_data_.tc_table);
  return SparseTensorProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SparseTensorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&SparseTensorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&SparseTensorProto_globals_));
  return SparseTensorProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SparseTensorProto::ParseTableT_
    SparseTensorProto::_table_ =
        SparseTensorProto::InternalGenerateParseTable_(SparseTensorProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SparseTensorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.SparseTensorProto)
  ::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_.dims_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.values_ != nullptr);
      _impl_.values_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.indices_ != nullptr);
      _impl_.indices_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .onnx.TensorProto values = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.values_, this_._impl_.values_->GetCachedSize(), target,
        stream);
  }

  // optional .onnx.TensorProto indices = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.indices_, this_._impl_.indices_->GetCachedSize(), target,
        stream);
  }

  // repeated int64 dims = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_dims_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          3, this_._internal_dims().Get(i), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.SparseTensorProto)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated int64 dims = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_dims());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_dims_size());
      total_size += tag_size + data_size;
    }
    // optional .onnx.TensorProto values = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.values_);
    }
    // optional .onnx.TensorProto indices = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.indices_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_dims()->MergeFrom(from._internal_dims());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.values_ != nullptr);
      if (_this->_impl_.values_ == nullptr) {
        _this->_impl_.values_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.values_);
      } else {
        _this->_impl_.values_->MergeFrom(*from._impl_.values_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.indices_ != nullptr);
      if (_this->_impl_.indices_ == nullptr) {
        _this->_impl_.indices_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.indices_);
      } else {
        _this->_impl_.indices_->MergeFrom(*from._impl_.indices_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void SparseTensorProto::InternalSwap(SparseTensorProto* 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_.dims_.InternalSwap(&other->_impl_.dims_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.indices_)
      + sizeof(SparseTensorProto::_impl_.indices_)
      - PROTOBUF_FIELD_OFFSET(SparseTensorProto, _impl_.values_)>(
          reinterpret_cast<char*>(&_impl_.values_),
          reinterpret_cast<char*>(&other->_impl_.values_));
}

::google::protobuf::Metadata SparseTensorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

TensorShapeProto_Dimension::TensorShapeProto_Dimension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_Dimension_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TensorShapeProto.Dimension)
}
PROTOBUF_NDEBUG_INLINE TensorShapeProto_Dimension::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::TensorShapeProto_Dimension& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        denotation_(arena, from.denotation_),
        value_{},
        _oneof_case_{from._oneof_case_[0]} {}

TensorShapeProto_Dimension::TensorShapeProto_Dimension(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorShapeProto_Dimension& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_Dimension_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TensorShapeProto_Dimension* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (value_case()) {
    case VALUE_NOT_SET:
      break;
      case kDimValue:
        _impl_.value_.dim_value_ = from._impl_.value_.dim_value_;
        break;
      case kDimParam:
        new (&_impl_.value_.dim_param_) decltype(_impl_.value_.dim_param_){arena, from._impl_.value_.dim_param_};
        break;
  }

  // @@protoc_insertion_point(copy_constructor:onnx.TensorShapeProto.Dimension)
}
PROTOBUF_NDEBUG_INLINE TensorShapeProto_Dimension::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        denotation_(arena),
        value_{},
        _oneof_case_{} {}

inline void TensorShapeProto_Dimension::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TensorShapeProto_Dimension::~TensorShapeProto_Dimension() {
  // @@protoc_insertion_point(destructor:onnx.TensorShapeProto.Dimension)
  SharedDtor(*this);
}
inline void TensorShapeProto_Dimension::SharedDtor(MessageLite& self) {
  TensorShapeProto_Dimension& this_ = static_cast<TensorShapeProto_Dimension&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.denotation_.Destroy();
  if (this_.has_value()) {
    this_.clear_value();
  }
  this_._impl_.~Impl_();
}

void TensorShapeProto_Dimension::clear_value() {
// @@protoc_insertion_point(one_of_clear_start:onnx.TensorShapeProto.Dimension)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (value_case()) {
    case kDimValue: {
      // No need to clear
      break;
    }
    case kDimParam: {
      _impl_.value_.dim_param_.Destroy();
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VALUE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorShapeProto_Dimension_class_data_ =
        TensorShapeProto_Dimension::InternalGenerateClassData_(TensorShapeProto_Dimension_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorShapeProto_Dimension::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorShapeProto_Dimension_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorShapeProto_Dimension_class_data_.tc_table);
  return TensorShapeProto_Dimension_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorShapeProto_Dimension::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorShapeProto_Dimension_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TensorShapeProto_Dimension_globals_));
  return TensorShapeProto_Dimension_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TensorShapeProto_Dimension::ParseTableT_
    TensorShapeProto_Dimension::_table_ =
        TensorShapeProto_Dimension::InternalGenerateParseTable_(TensorShapeProto_Dimension_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TensorShapeProto_Dimension::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TensorShapeProto.Dimension)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.denotation_.ClearNonDefaultToEmpty();
  }
  clear_value();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  switch (this_.value_case()) {
    case kDimValue: {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
              stream, this_._internal_dim_value(), target);
      break;
    }
    case kDimParam: {
      const ::std::string& _s = this_._internal_dim_param();
      target = stream->WriteStringMaybeAliased(2, _s, target);
      break;
    }
    default:
      break;
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string denotation = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_denotation();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TensorShapeProto.Dimension)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorShapeProto_Dimension::ByteSizeLong(const MessageLite& base) {
  const TensorShapeProto_Dimension& this_ = static_cast<const TensorShapeProto_Dimension&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorShapeProto_Dimension::ByteSizeLong() const {
  const TensorShapeProto_Dimension& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TensorShapeProto.Dimension)
  ::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 string denotation = 3;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_denotation());
    }
  }
  switch (this_.value_case()) {
    // int64 dim_value = 1;
    case kDimValue: {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_dim_value());
      break;
    }
    // string dim_param = 2;
    case kDimParam: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dim_param());
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorShapeProto_Dimension::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TensorShapeProto_Dimension*>(&to_msg);
  auto& from = static_cast<const TensorShapeProto_Dimension&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.TensorShapeProto.Dimension)
  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->_internal_set_denotation(from._internal_denotation());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_value();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kDimValue: {
        _this->_impl_.value_.dim_value_ = from._impl_.value_.dim_value_;
        break;
      }
      case kDimParam: {
        if (oneof_needs_init) {
          _this->_impl_.value_.dim_param_.InitDefault();
        }
        _this->_impl_.value_.dim_param_.Set(from._internal_dim_param(), arena);
        break;
      }
      case VALUE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TensorShapeProto_Dimension::CopyFrom(const TensorShapeProto_Dimension& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TensorShapeProto.Dimension)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TensorShapeProto_Dimension::InternalSwap(TensorShapeProto_Dimension* 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_.denotation_, &other->_impl_.denotation_, arena);
  swap(_impl_.value_, other->_impl_.value_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata TensorShapeProto_Dimension::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

TensorShapeProto::TensorShapeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorShapeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_get_class_data()) {

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorShapeProto_class_data_ =
        TensorShapeProto::InternalGenerateClassData_(TensorShapeProto_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.dim_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .onnx.TensorShapeProto.Dimension dim = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_dim_size());
         i < n; i++) {
      const auto& repfield = this_._internal_dim().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TensorShapeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorShapeProto::ByteSizeLong(const MessageLite& base) {
  const TensorShapeProto& this_ = static_cast<const TensorShapeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorShapeProto::ByteSizeLong() const {
  const TensorShapeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TensorShapeProto)
  ::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_);
   {
    // repeated .onnx.TensorShapeProto.Dimension dim = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_dim_size();
      for (const auto& msg : this_._internal_dim()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorShapeProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TensorShapeProto*>(&to_msg);
  auto& from = static_cast<const TensorShapeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.TensorShapeProto)
  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->_internal_mutable_dim()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_dim());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void TensorShapeProto::InternalSwap(TensorShapeProto* 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_.dim_.InternalSwap(&other->_impl_.dim_);
}

::google::protobuf::Metadata TensorShapeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

TypeProto_Tensor::TypeProto_Tensor(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_Tensor& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Tensor_get_class_data()) {

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

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

inline void TypeProto_Tensor::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, shape_),
           0,
           offsetof(Impl_, elem_type_) -
               offsetof(Impl_, shape_) +
               sizeof(Impl_::elem_type_));
}
TypeProto_Tensor::~TypeProto_Tensor() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto.Tensor)
  SharedDtor(*this);
}
inline void TypeProto_Tensor::SharedDtor(MessageLite& self) {
  TypeProto_Tensor& this_ = static_cast<TypeProto_Tensor&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.shape_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_Tensor_class_data_ =
        TypeProto_Tensor::InternalGenerateClassData_(TypeProto_Tensor_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Tensor::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Tensor_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_Tensor_class_data_.tc_table);
  return TypeProto_Tensor_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Tensor::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Tensor_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TypeProto_Tensor_globals_));
  return TypeProto_Tensor_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeProto_Tensor::ParseTableT_
    TypeProto_Tensor::_table_ =
        TypeProto_Tensor::InternalGenerateParseTable_(TypeProto_Tensor_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeProto_Tensor::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TypeProto.Tensor)
  ::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_.shape_ != nullptr);
    _impl_.shape_->Clear();
  }
  _impl_.elem_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // optional .onnx.TensorShapeProto shape = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.shape_, this_._impl_.shape_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto.Tensor)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_Tensor::ByteSizeLong(const MessageLite& base) {
  const TypeProto_Tensor& this_ = static_cast<const TypeProto_Tensor&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_Tensor::ByteSizeLong() const {
  const TypeProto_Tensor& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto.Tensor)
  ::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 .onnx.TensorShapeProto shape = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.shape_);
    }
    // optional int32 elem_type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_elem_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.shape_ != nullptr);
      if (_this->_impl_.shape_ == nullptr) {
        _this->_impl_.shape_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.shape_);
      } else {
        _this->_impl_.shape_->MergeFrom(*from._impl_.shape_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.elem_type_ = from._impl_.elem_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TypeProto_Tensor::CopyFrom(const TypeProto_Tensor& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TypeProto.Tensor)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

::google::protobuf::Metadata TypeProto_Tensor::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

TypeProto_Sequence::TypeProto_Sequence(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_Sequence& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Sequence_get_class_data()) {

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

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

inline void TypeProto_Sequence::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.elem_type_ = {};
}
TypeProto_Sequence::~TypeProto_Sequence() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto.Sequence)
  SharedDtor(*this);
}
inline void TypeProto_Sequence::SharedDtor(MessageLite& self) {
  TypeProto_Sequence& this_ = static_cast<TypeProto_Sequence&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.elem_type_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_Sequence_class_data_ =
        TypeProto_Sequence::InternalGenerateClassData_(TypeProto_Sequence_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Sequence::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Sequence_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_Sequence_class_data_.tc_table);
  return TypeProto_Sequence_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Sequence::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Sequence_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TypeProto_Sequence_globals_));
  return TypeProto_Sequence_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeProto_Sequence::ParseTableT_
    TypeProto_Sequence::_table_ =
        TypeProto_Sequence::InternalGenerateParseTable_(TypeProto_Sequence_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeProto_Sequence::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TypeProto.Sequence)
  ::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_.elem_type_ != nullptr);
    _impl_.elem_type_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto.Sequence)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_Sequence::ByteSizeLong(const MessageLite& base) {
  const TypeProto_Sequence& this_ = static_cast<const TypeProto_Sequence&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_Sequence::ByteSizeLong() const {
  const TypeProto_Sequence& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto.Sequence)
  ::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 .onnx.TypeProto elem_type = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.elem_type_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

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

void TypeProto_Sequence::CopyFrom(const TypeProto_Sequence& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TypeProto.Sequence)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

::google::protobuf::Metadata TypeProto_Sequence::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

TypeProto_Map::TypeProto_Map(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_Map& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Map_get_class_data()) {

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

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

inline void TypeProto_Map::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, value_type_),
           0,
           offsetof(Impl_, key_type_) -
               offsetof(Impl_, value_type_) +
               sizeof(Impl_::key_type_));
}
TypeProto_Map::~TypeProto_Map() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto.Map)
  SharedDtor(*this);
}
inline void TypeProto_Map::SharedDtor(MessageLite& self) {
  TypeProto_Map& this_ = static_cast<TypeProto_Map&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.value_type_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_Map_class_data_ =
        TypeProto_Map::InternalGenerateClassData_(TypeProto_Map_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Map::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Map_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_Map_class_data_.tc_table);
  return TypeProto_Map_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Map::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Map_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TypeProto_Map_globals_));
  return TypeProto_Map_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeProto_Map::ParseTableT_
    TypeProto_Map::_table_ =
        TypeProto_Map::InternalGenerateParseTable_(TypeProto_Map_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeProto_Map::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TypeProto.Map)
  ::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_.value_type_ != nullptr);
    _impl_.value_type_->Clear();
  }
  _impl_.key_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // optional .onnx.TypeProto value_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.value_type_, this_._impl_.value_type_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto.Map)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_Map::ByteSizeLong(const MessageLite& base) {
  const TypeProto_Map& this_ = static_cast<const TypeProto_Map&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_Map::ByteSizeLong() const {
  const TypeProto_Map& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto.Map)
  ::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 .onnx.TypeProto value_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_type_);
    }
    // optional int32 key_type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_key_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.value_type_ != nullptr);
      if (_this->_impl_.value_type_ == nullptr) {
        _this->_impl_.value_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_type_);
      } else {
        _this->_impl_.value_type_->MergeFrom(*from._impl_.value_type_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.key_type_ = from._impl_.key_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TypeProto_Map::CopyFrom(const TypeProto_Map& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TypeProto.Map)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

::google::protobuf::Metadata TypeProto_Map::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

TypeProto_Optional::TypeProto_Optional(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_Optional& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Optional_get_class_data()) {

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

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

inline void TypeProto_Optional::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.elem_type_ = {};
}
TypeProto_Optional::~TypeProto_Optional() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto.Optional)
  SharedDtor(*this);
}
inline void TypeProto_Optional::SharedDtor(MessageLite& self) {
  TypeProto_Optional& this_ = static_cast<TypeProto_Optional&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.elem_type_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_Optional_class_data_ =
        TypeProto_Optional::InternalGenerateClassData_(TypeProto_Optional_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Optional::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Optional_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_Optional_class_data_.tc_table);
  return TypeProto_Optional_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Optional::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Optional_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TypeProto_Optional_globals_));
  return TypeProto_Optional_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeProto_Optional::ParseTableT_
    TypeProto_Optional::_table_ =
        TypeProto_Optional::InternalGenerateParseTable_(TypeProto_Optional_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeProto_Optional::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TypeProto.Optional)
  ::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_.elem_type_ != nullptr);
    _impl_.elem_type_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto.Optional)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_Optional::ByteSizeLong(const MessageLite& base) {
  const TypeProto_Optional& this_ = static_cast<const TypeProto_Optional&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_Optional::ByteSizeLong() const {
  const TypeProto_Optional& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto.Optional)
  ::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 .onnx.TypeProto elem_type = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.elem_type_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

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

void TypeProto_Optional::CopyFrom(const TypeProto_Optional& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TypeProto.Optional)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

::google::protobuf::Metadata TypeProto_Optional::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

TypeProto_SparseTensor::TypeProto_SparseTensor(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_SparseTensor& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_SparseTensor_get_class_data()) {

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

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

inline void TypeProto_SparseTensor::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, shape_),
           0,
           offsetof(Impl_, elem_type_) -
               offsetof(Impl_, shape_) +
               sizeof(Impl_::elem_type_));
}
TypeProto_SparseTensor::~TypeProto_SparseTensor() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto.SparseTensor)
  SharedDtor(*this);
}
inline void TypeProto_SparseTensor::SharedDtor(MessageLite& self) {
  TypeProto_SparseTensor& this_ = static_cast<TypeProto_SparseTensor&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.shape_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_SparseTensor_class_data_ =
        TypeProto_SparseTensor::InternalGenerateClassData_(TypeProto_SparseTensor_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_SparseTensor::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_SparseTensor_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_SparseTensor_class_data_.tc_table);
  return TypeProto_SparseTensor_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_SparseTensor::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_SparseTensor_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TypeProto_SparseTensor_globals_));
  return TypeProto_SparseTensor_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeProto_SparseTensor::ParseTableT_
    TypeProto_SparseTensor::_table_ =
        TypeProto_SparseTensor::InternalGenerateParseTable_(TypeProto_SparseTensor_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeProto_SparseTensor::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TypeProto.SparseTensor)
  ::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_.shape_ != nullptr);
    _impl_.shape_->Clear();
  }
  _impl_.elem_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // optional .onnx.TensorShapeProto shape = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.shape_, this_._impl_.shape_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto.SparseTensor)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_SparseTensor::ByteSizeLong(const MessageLite& base) {
  const TypeProto_SparseTensor& this_ = static_cast<const TypeProto_SparseTensor&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_SparseTensor::ByteSizeLong() const {
  const TypeProto_SparseTensor& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto.SparseTensor)
  ::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 .onnx.TensorShapeProto shape = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.shape_);
    }
    // optional int32 elem_type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_elem_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.shape_ != nullptr);
      if (_this->_impl_.shape_ == nullptr) {
        _this->_impl_.shape_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.shape_);
      } else {
        _this->_impl_.shape_->MergeFrom(*from._impl_.shape_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.elem_type_ = from._impl_.elem_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TypeProto_SparseTensor::CopyFrom(const TypeProto_SparseTensor& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TypeProto.SparseTensor)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

::google::protobuf::Metadata TypeProto_SparseTensor::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

TypeProto_Opaque::TypeProto_Opaque(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Opaque_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TypeProto.Opaque)
}
PROTOBUF_NDEBUG_INLINE TypeProto_Opaque::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::TypeProto_Opaque& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        domain_(arena, from.domain_),
        name_(arena, from.name_) {}

TypeProto_Opaque::TypeProto_Opaque(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_Opaque& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Opaque_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:onnx.TypeProto.Opaque)
}
PROTOBUF_NDEBUG_INLINE TypeProto_Opaque::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        domain_(arena),
        name_(arena) {}

inline void TypeProto_Opaque::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TypeProto_Opaque::~TypeProto_Opaque() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto.Opaque)
  SharedDtor(*this);
}
inline void TypeProto_Opaque::SharedDtor(MessageLite& self) {
  TypeProto_Opaque& this_ = static_cast<TypeProto_Opaque&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.domain_.Destroy();
  this_._impl_.name_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_Opaque_class_data_ =
        TypeProto_Opaque::InternalGenerateClassData_(TypeProto_Opaque_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Opaque::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Opaque_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_Opaque_class_data_.tc_table);
  return TypeProto_Opaque_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Opaque::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Opaque_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TypeProto_Opaque_globals_));
  return TypeProto_Opaque_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeProto_Opaque::ParseTableT_
    TypeProto_Opaque::_table_ =
        TypeProto_Opaque::InternalGenerateParseTable_(TypeProto_Opaque_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeProto_Opaque::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.TypeProto.Opaque)
  ::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_.domain_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string domain = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_domain();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto.Opaque)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_Opaque::ByteSizeLong(const MessageLite& base) {
  const TypeProto_Opaque& this_ = static_cast<const TypeProto_Opaque&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_Opaque::ByteSizeLong() const {
  const TypeProto_Opaque& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto.Opaque)
  ::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 string domain = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional string name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TypeProto_Opaque::CopyFrom(const TypeProto_Opaque& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:onnx.TypeProto.Opaque)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TypeProto_Opaque::InternalSwap(TypeProto_Opaque* 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_.domain_, &other->_impl_.domain_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
}

::google::protobuf::Metadata TypeProto_Opaque::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

void TypeProto::set_allocated_tensor_type(::onnx::TypeProto_Tensor* PROTOBUF_NULLABLE tensor_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (tensor_type) {
    ::google::protobuf::Arena* submessage_arena = tensor_type->GetArena();
    if (message_arena != submessage_arena) {
      tensor_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, tensor_type, submessage_arena);
    }
    set_has_tensor_type();
    _impl_.value_.tensor_type_ = tensor_type;
  }
  // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.tensor_type)
}
void TypeProto::set_allocated_sequence_type(::onnx::TypeProto_Sequence* PROTOBUF_NULLABLE sequence_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (sequence_type) {
    ::google::protobuf::Arena* submessage_arena = sequence_type->GetArena();
    if (message_arena != submessage_arena) {
      sequence_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, sequence_type, submessage_arena);
    }
    set_has_sequence_type();
    _impl_.value_.sequence_type_ = sequence_type;
  }
  // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.sequence_type)
}
void TypeProto::set_allocated_map_type(::onnx::TypeProto_Map* PROTOBUF_NULLABLE map_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (map_type) {
    ::google::protobuf::Arena* submessage_arena = map_type->GetArena();
    if (message_arena != submessage_arena) {
      map_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, map_type, submessage_arena);
    }
    set_has_map_type();
    _impl_.value_.map_type_ = map_type;
  }
  // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.map_type)
}
void TypeProto::set_allocated_optional_type(::onnx::TypeProto_Optional* PROTOBUF_NULLABLE optional_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (optional_type) {
    ::google::protobuf::Arena* submessage_arena = optional_type->GetArena();
    if (message_arena != submessage_arena) {
      optional_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, optional_type, submessage_arena);
    }
    set_has_optional_type();
    _impl_.value_.optional_type_ = optional_type;
  }
  // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.optional_type)
}
void TypeProto::set_allocated_sparse_tensor_type(::onnx::TypeProto_SparseTensor* PROTOBUF_NULLABLE sparse_tensor_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (sparse_tensor_type) {
    ::google::protobuf::Arena* submessage_arena = sparse_tensor_type->GetArena();
    if (message_arena != submessage_arena) {
      sparse_tensor_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, sparse_tensor_type, submessage_arena);
    }
    set_has_sparse_tensor_type();
    _impl_.value_.sparse_tensor_type_ = sparse_tensor_type;
  }
  // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.sparse_tensor_type)
}
void TypeProto::set_allocated_opaque_type(::onnx::TypeProto_Opaque* PROTOBUF_NULLABLE opaque_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (opaque_type) {
    ::google::protobuf::Arena* submessage_arena = opaque_type->GetArena();
    if (message_arena != submessage_arena) {
      opaque_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, opaque_type, submessage_arena);
    }
    set_has_opaque_type();
    _impl_.value_.opaque_type_ = opaque_type;
  }
  // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.opaque_type)
}
TypeProto::TypeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.TypeProto)
}
PROTOBUF_NDEBUG_INLINE TypeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::TypeProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        denotation_(arena, from.denotation_),
        value_{},
        _oneof_case_{from._oneof_case_[0]} {}

TypeProto::TypeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TypeProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (value_case()) {
    case VALUE_NOT_SET:
      break;
      case kTensorType:
        _impl_.value_.tensor_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.tensor_type_);
        break;
      case kSequenceType:
        _impl_.value_.sequence_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.sequence_type_);
        break;
      case kMapType:
        _impl_.value_.map_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.map_type_);
        break;
      case kOptionalType:
        _impl_.value_.optional_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.optional_type_);
        break;
      case kSparseTensorType:
        _impl_.value_.sparse_tensor_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.sparse_tensor_type_);
        break;
      case kOpaqueType:
        _impl_.value_.opaque_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.opaque_type_);
        break;
  }

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

inline void TypeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TypeProto::~TypeProto() {
  // @@protoc_insertion_point(destructor:onnx.TypeProto)
  SharedDtor(*this);
}
inline void TypeProto::SharedDtor(MessageLite& self) {
  TypeProto& this_ = static_cast<TypeProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.denotation_.Destroy();
  if (this_.has_value()) {
    this_.clear_value();
  }
  this_._impl_.~Impl_();
}

void TypeProto::clear_value() {
// @@protoc_insertion_point(one_of_clear_start:onnx.TypeProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (value_case()) {
    case kTensorType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.tensor_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.tensor_type_);
      }
      break;
    }
    case kSequenceType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.sequence_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.sequence_type_);
      }
      break;
    }
    case kMapType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.map_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.map_type_);
      }
      break;
    }
    case kOptionalType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.optional_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.optional_type_);
      }
      break;
    }
    case kSparseTensorType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.sparse_tensor_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.sparse_tensor_type_);
      }
      break;
    }
    case kOpaqueType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.opaque_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.opaque_type_);
      }
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VALUE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_class_data_ =
        TypeProto::InternalGenerateClassData_(TypeProto_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.denotation_.ClearNonDefaultToEmpty();
  }
  clear_value();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  switch (this_.value_case()) {
    case kTensorType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.value_.tensor_type_, this_._impl_.value_.tensor_type_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSequenceType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.value_.sequence_type_, this_._impl_.value_.sequence_type_->GetCachedSize(), target,
          stream);
      break;
    }
    case kMapType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.value_.map_type_, this_._impl_.value_.map_type_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string denotation = 6;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_denotation();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  switch (this_.value_case()) {
    case kOpaqueType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, *this_._impl_.value_.opaque_type_, this_._impl_.value_.opaque_type_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSparseTensorType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.value_.sparse_tensor_type_, this_._impl_.value_.sparse_tensor_type_->GetCachedSize(), target,
          stream);
      break;
    }
    case kOptionalType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, *this_._impl_.value_.optional_type_, this_._impl_.value_.optional_type_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.TypeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto::ByteSizeLong(const MessageLite& base) {
  const TypeProto& this_ = static_cast<const TypeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto::ByteSizeLong() const {
  const TypeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.TypeProto)
  ::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 string denotation = 6;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_denotation());
    }
  }
  switch (this_.value_case()) {
    // .onnx.TypeProto.Tensor tensor_type = 1;
    case kTensorType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.tensor_type_);
      break;
    }
    // .onnx.TypeProto.Sequence sequence_type = 4;
    case kSequenceType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.sequence_type_);
      break;
    }
    // .onnx.TypeProto.Map map_type = 5;
    case kMapType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.map_type_);
      break;
    }
    // .onnx.TypeProto.Optional optional_type = 9;
    case kOptionalType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.optional_type_);
      break;
    }
    // .onnx.TypeProto.SparseTensor sparse_tensor_type = 8;
    case kSparseTensorType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.sparse_tensor_type_);
      break;
    }
    // .onnx.TypeProto.Opaque opaque_type = 7;
    case kOpaqueType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.opaque_type_);
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TypeProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TypeProto*>(&to_msg);
  auto& from = static_cast<const TypeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.TypeProto)
  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->_internal_set_denotation(from._internal_denotation());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_value();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kTensorType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.tensor_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.tensor_type_);
        } else {
          _this->_impl_.value_.tensor_type_->MergeFrom(*from._impl_.value_.tensor_type_);
        }
        break;
      }
      case kSequenceType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.sequence_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.sequence_type_);
        } else {
          _this->_impl_.value_.sequence_type_->MergeFrom(*from._impl_.value_.sequence_type_);
        }
        break;
      }
      case kMapType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.map_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.map_type_);
        } else {
          _this->_impl_.value_.map_type_->MergeFrom(*from._impl_.value_.map_type_);
        }
        break;
      }
      case kOptionalType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.optional_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.optional_type_);
        } else {
          _this->_impl_.value_.optional_type_->MergeFrom(*from._impl_.value_.optional_type_);
        }
        break;
      }
      case kSparseTensorType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.sparse_tensor_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.sparse_tensor_type_);
        } else {
          _this->_impl_.value_.sparse_tensor_type_->MergeFrom(*from._impl_.value_.sparse_tensor_type_);
        }
        break;
      }
      case kOpaqueType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.opaque_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.opaque_type_);
        } else {
          _this->_impl_.value_.opaque_type_->MergeFrom(*from._impl_.value_.opaque_type_);
        }
        break;
      }
      case VALUE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void TypeProto::InternalSwap(TypeProto* 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_.denotation_, &other->_impl_.denotation_, arena);
  swap(_impl_.value_, other->_impl_.value_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata TypeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

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

OperatorSetIdProto::OperatorSetIdProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const OperatorSetIdProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, OperatorSetIdProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OperatorSetIdProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.version_ = from._impl_.version_;

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

inline void OperatorSetIdProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.version_ = {};
}
OperatorSetIdProto::~OperatorSetIdProto() {
  // @@protoc_insertion_point(destructor:onnx.OperatorSetIdProto)
  SharedDtor(*this);
}
inline void OperatorSetIdProto::SharedDtor(MessageLite& self) {
  OperatorSetIdProto& this_ = static_cast<OperatorSetIdProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.domain_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull OperatorSetIdProto_class_data_ =
        OperatorSetIdProto::InternalGenerateClassData_(OperatorSetIdProto_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.domain_.ClearNonDefaultToEmpty();
  }
  _impl_.version_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string domain = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_domain();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.OperatorSetIdProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t OperatorSetIdProto::ByteSizeLong(const MessageLite& base) {
  const OperatorSetIdProto& this_ = static_cast<const OperatorSetIdProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t OperatorSetIdProto::ByteSizeLong() const {
  const OperatorSetIdProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.OperatorSetIdProto)
  ::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 string domain = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional int64 version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_version());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.version_ = from._impl_.version_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void OperatorSetIdProto::InternalSwap(OperatorSetIdProto* 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_.domain_, &other->_impl_.domain_, arena);
  swap(_impl_.version_, other->_impl_.version_);
}

::google::protobuf::Metadata OperatorSetIdProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

FunctionProto::FunctionProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, FunctionProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:onnx.FunctionProto)
}
PROTOBUF_NDEBUG_INLINE FunctionProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::onnx::FunctionProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        input_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.input_)>()
          , from.input_
        }
        ,
        output_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.output_)>()
          , from.output_
        }
        ,
        attribute_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_)>()
          , from.attribute_
        }
        ,
        node_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.node_)>()
          , from.node_
        }
        ,
        opset_import_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.opset_import_)>()
          , from.opset_import_
        }
        ,
        attribute_proto_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_proto_)>()
          , from.attribute_proto_
        }
        ,
        value_info_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.value_info_)>()
          , from.value_info_
        }
        ,
        metadata_props_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::onnx::FunctionProto,
              PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.metadata_props_)>()
          , from.metadata_props_
        }
        ,
        name_(arena, from.name_),
        doc_string_(arena, from.doc_string_),
        domain_(arena, from.domain_),
        overload_(arena, from.overload_) {}

FunctionProto::FunctionProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FunctionProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, FunctionProto_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:onnx.FunctionProto)
}
PROTOBUF_NDEBUG_INLINE FunctionProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        input_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.input_)>()
         }
        ,
        output_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.output_)>()
         }
        ,
        attribute_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_)>()
         }
        ,
        node_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.node_)>()
         }
        ,
        opset_import_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.opset_import_)>()
         }
        ,
        attribute_proto_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.attribute_proto_)>()
         }
        ,
        value_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.value_info_)>()
         }
        ,
        metadata_props_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::onnx::FunctionProto,
            PROTOBUF_FIELD_OFFSET(::onnx::FunctionProto, _impl_.metadata_props_)>()
         }
        ,
        name_(arena),
        doc_string_(arena),
        domain_(arena),
        overload_(arena) {}

inline void FunctionProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
FunctionProto::~FunctionProto() {
  // @@protoc_insertion_point(destructor:onnx.FunctionProto)
  SharedDtor(*this);
}
inline void FunctionProto::SharedDtor(MessageLite& self) {
  FunctionProto& this_ = static_cast<FunctionProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.domain_.Destroy();
  this_._impl_.overload_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull FunctionProto_class_data_ =
        FunctionProto::InternalGenerateClassData_(FunctionProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FunctionProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FunctionProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(FunctionProto_class_data_.tc_table);
  return FunctionProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FunctionProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FunctionProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FunctionProto_globals_));
  return FunctionProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FunctionProto::ParseTableT_
    FunctionProto::_table_ =
        FunctionProto::InternalGenerateParseTable_(FunctionProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FunctionProto::Clear() {
// @@protoc_insertion_point(message_clear_start:onnx.FunctionProto)
  ::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_.input_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.output_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.attribute_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.node_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.opset_import_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.attribute_proto_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.value_info_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.metadata_props_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.domain_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.overload_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated string input = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_input_size(); i < n; ++i) {
      const auto& s = this_._internal_input().Get(i);
      target = stream->WriteString(4, s, target);
    }
  }

  // repeated string output = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_output_size(); i < n; ++i) {
      const auto& s = this_._internal_output().Get(i);
      target = stream->WriteString(5, s, target);
    }
  }

  // repeated string attribute = 6;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (int i = 0, n = this_._internal_attribute_size(); i < n; ++i) {
      const auto& s = this_._internal_attribute().Get(i);
      target = stream->WriteString(6, s, target);
    }
  }

  // repeated .onnx.NodeProto node = 7;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_node_size());
         i < n; i++) {
      const auto& repfield = this_._internal_node().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              7, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string doc_string = 8;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_doc_string();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // repeated .onnx.OperatorSetIdProto opset_import = 9;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_opset_import_size());
         i < n; i++) {
      const auto& repfield = this_._internal_opset_import().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              9, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string domain = 10;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_domain();
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // repeated .onnx.AttributeProto attribute_proto = 11;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_attribute_proto_size());
         i < n; i++) {
      const auto& repfield = this_._internal_attribute_proto().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              11, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .onnx.ValueInfoProto value_info = 12;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_value_info_size());
         i < n; i++) {
      const auto& repfield = this_._internal_value_info().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              12, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string overload = 13;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    const ::std::string& _s = this_._internal_overload();
    target = stream->WriteStringMaybeAliased(13, _s, target);
  }

  // repeated .onnx.StringStringEntryProto metadata_props = 14;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_metadata_props_size());
         i < n; i++) {
      const auto& repfield = this_._internal_metadata_props().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              14, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:onnx.FunctionProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FunctionProto::ByteSizeLong(const MessageLite& base) {
  const FunctionProto& this_ = static_cast<const FunctionProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FunctionProto::ByteSizeLong() const {
  const FunctionProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:onnx.FunctionProto)
  ::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 string input = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_input().size());
      for (int i = 0, n = this_._internal_input().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_input().Get(i));
      }
    }
    // repeated string output = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_output().size());
      for (int i = 0, n = this_._internal_output().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_output().Get(i));
      }
    }
    // repeated string attribute = 6;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_attribute().size());
      for (int i = 0, n = this_._internal_attribute().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_attribute().Get(i));
      }
    }
    // repeated .onnx.NodeProto node = 7;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_node_size();
      for (const auto& msg : this_._internal_node()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.OperatorSetIdProto opset_import = 9;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_opset_import_size();
      for (const auto& msg : this_._internal_opset_import()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.AttributeProto attribute_proto = 11;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1UL * this_._internal_attribute_proto_size();
      for (const auto& msg : this_._internal_attribute_proto()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.ValueInfoProto value_info = 12;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1UL * this_._internal_value_info_size();
      for (const auto& msg : this_._internal_value_info()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .onnx.StringStringEntryProto metadata_props = 14;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000f00U)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string doc_string = 8;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional string domain = 10;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional string overload = 13;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_overload());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FunctionProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FunctionProto*>(&to_msg);
  auto& from = static_cast<const FunctionProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:onnx.FunctionProto)
  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_input()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_input());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_output()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_output());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_attribute()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attribute());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_node()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_node());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_opset_import()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_opset_import());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_attribute_proto()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attribute_proto());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_value_info()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_value_info());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_metadata_props()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata_props());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_set_overload(from._internal_overload());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void FunctionProto::InternalSwap(FunctionProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.input_.InternalSwap(&other->_impl_.input_);
  _impl_.output_.InternalSwap(&other->_impl_.output_);
  _impl_.attribute_.InternalSwap(&other->_impl_.attribute_);
  _impl_.node_.InternalSwap(&other->_impl_.node_);
  _impl_.opset_import_.InternalSwap(&other->_impl_.opset_import_);
  _impl_.attribute_proto_.InternalSwap(&other->_impl_.attribute_proto_);
  _impl_.value_info_.InternalSwap(&other->_impl_.value_info_);
  _impl_.metadata_props_.InternalSwap(&other->_impl_.metadata_props_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.overload_, &other->_impl_.overload_, arena);
}

::google::protobuf::Metadata FunctionProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace onnx
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
    _static_init2_ [[maybe_unused]] =
        (::_pbi::AddDescriptors(&descriptor_table_onnx_2fonnx_2dml_2eproto),
         ::std::false_type{});
#include "google/protobuf/port_undef.inc"
