Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:05:43

0001 // Generated by the protocol buffer compiler.  DO NOT EDIT!
0002 // NO CHECKED-IN PROTOBUF GENCODE
0003 // source: onnx/onnx-ml.proto
0004 // Protobuf C++ Version: 5.28.2
0005 
0006 #ifndef GOOGLE_PROTOBUF_INCLUDED_onnx_2fonnx_2dml_2eproto_2epb_2eh
0007 #define GOOGLE_PROTOBUF_INCLUDED_onnx_2fonnx_2dml_2eproto_2epb_2eh
0008 
0009 #include <limits>
0010 #include <string>
0011 #include <type_traits>
0012 #include <utility>
0013 
0014 #include "google/protobuf/runtime_version.h"
0015 #if PROTOBUF_VERSION != 5028002
0016 #error "Protobuf C++ gencode is built with an incompatible version of"
0017 #error "Protobuf C++ headers/runtime. See"
0018 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
0019 #endif
0020 #include "google/protobuf/io/coded_stream.h"
0021 #include "google/protobuf/arena.h"
0022 #include "google/protobuf/arenastring.h"
0023 #include "google/protobuf/generated_message_tctable_decl.h"
0024 #include "google/protobuf/generated_message_util.h"
0025 #include "google/protobuf/metadata_lite.h"
0026 #include "google/protobuf/generated_message_reflection.h"
0027 #include "google/protobuf/message.h"
0028 #include "google/protobuf/repeated_field.h"  // IWYU pragma: export
0029 #include "google/protobuf/extension_set.h"  // IWYU pragma: export
0030 #include "google/protobuf/generated_enum_reflection.h"
0031 #include "google/protobuf/unknown_field_set.h"
0032 // @@protoc_insertion_point(includes)
0033 
0034 // Must be included last.
0035 #include "google/protobuf/port_def.inc"
0036 
0037 #define PROTOBUF_INTERNAL_EXPORT_onnx_2fonnx_2dml_2eproto ONNX_API
0038 
0039 namespace google {
0040 namespace protobuf {
0041 namespace internal {
0042 class AnyMetadata;
0043 }  // namespace internal
0044 }  // namespace protobuf
0045 }  // namespace google
0046 
0047 // Internal implementation detail -- do not use these members.
0048 struct ONNX_API TableStruct_onnx_2fonnx_2dml_2eproto {
0049   static const ::uint32_t offsets[];
0050 };
0051 ONNX_API extern const ::google::protobuf::internal::DescriptorTable
0052     descriptor_table_onnx_2fonnx_2dml_2eproto;
0053 namespace onnx {
0054 class AttributeProto;
0055 struct AttributeProtoDefaultTypeInternal;
0056 ONNX_API extern AttributeProtoDefaultTypeInternal _AttributeProto_default_instance_;
0057 class FunctionProto;
0058 struct FunctionProtoDefaultTypeInternal;
0059 ONNX_API extern FunctionProtoDefaultTypeInternal _FunctionProto_default_instance_;
0060 class GraphProto;
0061 struct GraphProtoDefaultTypeInternal;
0062 ONNX_API extern GraphProtoDefaultTypeInternal _GraphProto_default_instance_;
0063 class ModelProto;
0064 struct ModelProtoDefaultTypeInternal;
0065 ONNX_API extern ModelProtoDefaultTypeInternal _ModelProto_default_instance_;
0066 class NodeProto;
0067 struct NodeProtoDefaultTypeInternal;
0068 ONNX_API extern NodeProtoDefaultTypeInternal _NodeProto_default_instance_;
0069 class OperatorSetIdProto;
0070 struct OperatorSetIdProtoDefaultTypeInternal;
0071 ONNX_API extern OperatorSetIdProtoDefaultTypeInternal _OperatorSetIdProto_default_instance_;
0072 class SparseTensorProto;
0073 struct SparseTensorProtoDefaultTypeInternal;
0074 ONNX_API extern SparseTensorProtoDefaultTypeInternal _SparseTensorProto_default_instance_;
0075 class StringStringEntryProto;
0076 struct StringStringEntryProtoDefaultTypeInternal;
0077 ONNX_API extern StringStringEntryProtoDefaultTypeInternal _StringStringEntryProto_default_instance_;
0078 class TensorAnnotation;
0079 struct TensorAnnotationDefaultTypeInternal;
0080 ONNX_API extern TensorAnnotationDefaultTypeInternal _TensorAnnotation_default_instance_;
0081 class TensorProto;
0082 struct TensorProtoDefaultTypeInternal;
0083 ONNX_API extern TensorProtoDefaultTypeInternal _TensorProto_default_instance_;
0084 class TensorProto_Segment;
0085 struct TensorProto_SegmentDefaultTypeInternal;
0086 ONNX_API extern TensorProto_SegmentDefaultTypeInternal _TensorProto_Segment_default_instance_;
0087 class TensorShapeProto;
0088 struct TensorShapeProtoDefaultTypeInternal;
0089 ONNX_API extern TensorShapeProtoDefaultTypeInternal _TensorShapeProto_default_instance_;
0090 class TensorShapeProto_Dimension;
0091 struct TensorShapeProto_DimensionDefaultTypeInternal;
0092 ONNX_API extern TensorShapeProto_DimensionDefaultTypeInternal _TensorShapeProto_Dimension_default_instance_;
0093 class TrainingInfoProto;
0094 struct TrainingInfoProtoDefaultTypeInternal;
0095 ONNX_API extern TrainingInfoProtoDefaultTypeInternal _TrainingInfoProto_default_instance_;
0096 class TypeProto;
0097 struct TypeProtoDefaultTypeInternal;
0098 ONNX_API extern TypeProtoDefaultTypeInternal _TypeProto_default_instance_;
0099 class TypeProto_Map;
0100 struct TypeProto_MapDefaultTypeInternal;
0101 ONNX_API extern TypeProto_MapDefaultTypeInternal _TypeProto_Map_default_instance_;
0102 class TypeProto_Opaque;
0103 struct TypeProto_OpaqueDefaultTypeInternal;
0104 ONNX_API extern TypeProto_OpaqueDefaultTypeInternal _TypeProto_Opaque_default_instance_;
0105 class TypeProto_Optional;
0106 struct TypeProto_OptionalDefaultTypeInternal;
0107 ONNX_API extern TypeProto_OptionalDefaultTypeInternal _TypeProto_Optional_default_instance_;
0108 class TypeProto_Sequence;
0109 struct TypeProto_SequenceDefaultTypeInternal;
0110 ONNX_API extern TypeProto_SequenceDefaultTypeInternal _TypeProto_Sequence_default_instance_;
0111 class TypeProto_SparseTensor;
0112 struct TypeProto_SparseTensorDefaultTypeInternal;
0113 ONNX_API extern TypeProto_SparseTensorDefaultTypeInternal _TypeProto_SparseTensor_default_instance_;
0114 class TypeProto_Tensor;
0115 struct TypeProto_TensorDefaultTypeInternal;
0116 ONNX_API extern TypeProto_TensorDefaultTypeInternal _TypeProto_Tensor_default_instance_;
0117 class ValueInfoProto;
0118 struct ValueInfoProtoDefaultTypeInternal;
0119 ONNX_API extern ValueInfoProtoDefaultTypeInternal _ValueInfoProto_default_instance_;
0120 }  // namespace onnx
0121 namespace google {
0122 namespace protobuf {
0123 }  // namespace protobuf
0124 }  // namespace google
0125 
0126 namespace onnx {
0127 enum AttributeProto_AttributeType : int {
0128   AttributeProto_AttributeType_UNDEFINED = 0,
0129   AttributeProto_AttributeType_FLOAT = 1,
0130   AttributeProto_AttributeType_INT = 2,
0131   AttributeProto_AttributeType_STRING = 3,
0132   AttributeProto_AttributeType_TENSOR = 4,
0133   AttributeProto_AttributeType_GRAPH = 5,
0134   AttributeProto_AttributeType_SPARSE_TENSOR = 11,
0135   AttributeProto_AttributeType_TYPE_PROTO = 13,
0136   AttributeProto_AttributeType_FLOATS = 6,
0137   AttributeProto_AttributeType_INTS = 7,
0138   AttributeProto_AttributeType_STRINGS = 8,
0139   AttributeProto_AttributeType_TENSORS = 9,
0140   AttributeProto_AttributeType_GRAPHS = 10,
0141   AttributeProto_AttributeType_SPARSE_TENSORS = 12,
0142   AttributeProto_AttributeType_TYPE_PROTOS = 14,
0143 };
0144 
0145 ONNX_API bool AttributeProto_AttributeType_IsValid(int value);
0146 ONNX_API extern const uint32_t AttributeProto_AttributeType_internal_data_[];
0147 constexpr AttributeProto_AttributeType AttributeProto_AttributeType_AttributeType_MIN = static_cast<AttributeProto_AttributeType>(0);
0148 constexpr AttributeProto_AttributeType AttributeProto_AttributeType_AttributeType_MAX = static_cast<AttributeProto_AttributeType>(14);
0149 constexpr int AttributeProto_AttributeType_AttributeType_ARRAYSIZE = 14 + 1;
0150 ONNX_API const ::google::protobuf::EnumDescriptor*
0151 AttributeProto_AttributeType_descriptor();
0152 template <typename T>
0153 const std::string& AttributeProto_AttributeType_Name(T value) {
0154   static_assert(std::is_same<T, AttributeProto_AttributeType>::value ||
0155                     std::is_integral<T>::value,
0156                 "Incorrect type passed to AttributeType_Name().");
0157   return AttributeProto_AttributeType_Name(static_cast<AttributeProto_AttributeType>(value));
0158 }
0159 template <>
0160 inline const std::string& AttributeProto_AttributeType_Name(AttributeProto_AttributeType value) {
0161   return ::google::protobuf::internal::NameOfDenseEnum<AttributeProto_AttributeType_descriptor,
0162                                                  0, 14>(
0163       static_cast<int>(value));
0164 }
0165 inline bool AttributeProto_AttributeType_Parse(absl::string_view name, AttributeProto_AttributeType* value) {
0166   return ::google::protobuf::internal::ParseNamedEnum<AttributeProto_AttributeType>(
0167       AttributeProto_AttributeType_descriptor(), name, value);
0168 }
0169 enum TensorProto_DataType : int {
0170   TensorProto_DataType_UNDEFINED = 0,
0171   TensorProto_DataType_FLOAT = 1,
0172   TensorProto_DataType_UINT8 = 2,
0173   TensorProto_DataType_INT8 = 3,
0174   TensorProto_DataType_UINT16 = 4,
0175   TensorProto_DataType_INT16 = 5,
0176   TensorProto_DataType_INT32 = 6,
0177   TensorProto_DataType_INT64 = 7,
0178   TensorProto_DataType_STRING = 8,
0179   TensorProto_DataType_BOOL = 9,
0180   TensorProto_DataType_FLOAT16 = 10,
0181   TensorProto_DataType_DOUBLE = 11,
0182   TensorProto_DataType_UINT32 = 12,
0183   TensorProto_DataType_UINT64 = 13,
0184   TensorProto_DataType_COMPLEX64 = 14,
0185   TensorProto_DataType_COMPLEX128 = 15,
0186   TensorProto_DataType_BFLOAT16 = 16,
0187   TensorProto_DataType_FLOAT8E4M3FN = 17,
0188   TensorProto_DataType_FLOAT8E4M3FNUZ = 18,
0189   TensorProto_DataType_FLOAT8E5M2 = 19,
0190   TensorProto_DataType_FLOAT8E5M2FNUZ = 20,
0191 };
0192 
0193 ONNX_API bool TensorProto_DataType_IsValid(int value);
0194 ONNX_API extern const uint32_t TensorProto_DataType_internal_data_[];
0195 constexpr TensorProto_DataType TensorProto_DataType_DataType_MIN = static_cast<TensorProto_DataType>(0);
0196 constexpr TensorProto_DataType TensorProto_DataType_DataType_MAX = static_cast<TensorProto_DataType>(20);
0197 constexpr int TensorProto_DataType_DataType_ARRAYSIZE = 20 + 1;
0198 ONNX_API const ::google::protobuf::EnumDescriptor*
0199 TensorProto_DataType_descriptor();
0200 template <typename T>
0201 const std::string& TensorProto_DataType_Name(T value) {
0202   static_assert(std::is_same<T, TensorProto_DataType>::value ||
0203                     std::is_integral<T>::value,
0204                 "Incorrect type passed to DataType_Name().");
0205   return TensorProto_DataType_Name(static_cast<TensorProto_DataType>(value));
0206 }
0207 template <>
0208 inline const std::string& TensorProto_DataType_Name(TensorProto_DataType value) {
0209   return ::google::protobuf::internal::NameOfDenseEnum<TensorProto_DataType_descriptor,
0210                                                  0, 20>(
0211       static_cast<int>(value));
0212 }
0213 inline bool TensorProto_DataType_Parse(absl::string_view name, TensorProto_DataType* value) {
0214   return ::google::protobuf::internal::ParseNamedEnum<TensorProto_DataType>(
0215       TensorProto_DataType_descriptor(), name, value);
0216 }
0217 enum TensorProto_DataLocation : int {
0218   TensorProto_DataLocation_DEFAULT = 0,
0219   TensorProto_DataLocation_EXTERNAL = 1,
0220 };
0221 
0222 ONNX_API bool TensorProto_DataLocation_IsValid(int value);
0223 ONNX_API extern const uint32_t TensorProto_DataLocation_internal_data_[];
0224 constexpr TensorProto_DataLocation TensorProto_DataLocation_DataLocation_MIN = static_cast<TensorProto_DataLocation>(0);
0225 constexpr TensorProto_DataLocation TensorProto_DataLocation_DataLocation_MAX = static_cast<TensorProto_DataLocation>(1);
0226 constexpr int TensorProto_DataLocation_DataLocation_ARRAYSIZE = 1 + 1;
0227 ONNX_API const ::google::protobuf::EnumDescriptor*
0228 TensorProto_DataLocation_descriptor();
0229 template <typename T>
0230 const std::string& TensorProto_DataLocation_Name(T value) {
0231   static_assert(std::is_same<T, TensorProto_DataLocation>::value ||
0232                     std::is_integral<T>::value,
0233                 "Incorrect type passed to DataLocation_Name().");
0234   return TensorProto_DataLocation_Name(static_cast<TensorProto_DataLocation>(value));
0235 }
0236 template <>
0237 inline const std::string& TensorProto_DataLocation_Name(TensorProto_DataLocation value) {
0238   return ::google::protobuf::internal::NameOfDenseEnum<TensorProto_DataLocation_descriptor,
0239                                                  0, 1>(
0240       static_cast<int>(value));
0241 }
0242 inline bool TensorProto_DataLocation_Parse(absl::string_view name, TensorProto_DataLocation* value) {
0243   return ::google::protobuf::internal::ParseNamedEnum<TensorProto_DataLocation>(
0244       TensorProto_DataLocation_descriptor(), name, value);
0245 }
0246 enum Version : int {
0247   _START_VERSION = 0,
0248   IR_VERSION_2017_10_10 = 1,
0249   IR_VERSION_2017_10_30 = 2,
0250   IR_VERSION_2017_11_3 = 3,
0251   IR_VERSION_2019_1_22 = 4,
0252   IR_VERSION_2019_3_18 = 5,
0253   IR_VERSION_2019_9_19 = 6,
0254   IR_VERSION_2020_5_8 = 7,
0255   IR_VERSION_2021_7_30 = 8,
0256   IR_VERSION = 9,
0257 };
0258 
0259 ONNX_API bool Version_IsValid(int value);
0260 ONNX_API extern const uint32_t Version_internal_data_[];
0261 constexpr Version Version_MIN = static_cast<Version>(0);
0262 constexpr Version Version_MAX = static_cast<Version>(9);
0263 constexpr int Version_ARRAYSIZE = 9 + 1;
0264 ONNX_API const ::google::protobuf::EnumDescriptor*
0265 Version_descriptor();
0266 template <typename T>
0267 const std::string& Version_Name(T value) {
0268   static_assert(std::is_same<T, Version>::value ||
0269                     std::is_integral<T>::value,
0270                 "Incorrect type passed to Version_Name().");
0271   return Version_Name(static_cast<Version>(value));
0272 }
0273 template <>
0274 inline const std::string& Version_Name(Version value) {
0275   return ::google::protobuf::internal::NameOfDenseEnum<Version_descriptor,
0276                                                  0, 9>(
0277       static_cast<int>(value));
0278 }
0279 inline bool Version_Parse(absl::string_view name, Version* value) {
0280   return ::google::protobuf::internal::ParseNamedEnum<Version>(
0281       Version_descriptor(), name, value);
0282 }
0283 enum OperatorStatus : int {
0284   EXPERIMENTAL = 0,
0285   STABLE = 1,
0286 };
0287 
0288 ONNX_API bool OperatorStatus_IsValid(int value);
0289 ONNX_API extern const uint32_t OperatorStatus_internal_data_[];
0290 constexpr OperatorStatus OperatorStatus_MIN = static_cast<OperatorStatus>(0);
0291 constexpr OperatorStatus OperatorStatus_MAX = static_cast<OperatorStatus>(1);
0292 constexpr int OperatorStatus_ARRAYSIZE = 1 + 1;
0293 ONNX_API const ::google::protobuf::EnumDescriptor*
0294 OperatorStatus_descriptor();
0295 template <typename T>
0296 const std::string& OperatorStatus_Name(T value) {
0297   static_assert(std::is_same<T, OperatorStatus>::value ||
0298                     std::is_integral<T>::value,
0299                 "Incorrect type passed to OperatorStatus_Name().");
0300   return OperatorStatus_Name(static_cast<OperatorStatus>(value));
0301 }
0302 template <>
0303 inline const std::string& OperatorStatus_Name(OperatorStatus value) {
0304   return ::google::protobuf::internal::NameOfDenseEnum<OperatorStatus_descriptor,
0305                                                  0, 1>(
0306       static_cast<int>(value));
0307 }
0308 inline bool OperatorStatus_Parse(absl::string_view name, OperatorStatus* value) {
0309   return ::google::protobuf::internal::ParseNamedEnum<OperatorStatus>(
0310       OperatorStatus_descriptor(), name, value);
0311 }
0312 
0313 // ===================================================================
0314 
0315 
0316 // -------------------------------------------------------------------
0317 
0318 class ONNX_API TypeProto_Opaque final : public ::google::protobuf::Message
0319 /* @@protoc_insertion_point(class_definition:onnx.TypeProto.Opaque) */ {
0320  public:
0321   inline TypeProto_Opaque() : TypeProto_Opaque(nullptr) {}
0322   ~TypeProto_Opaque() PROTOBUF_FINAL;
0323   template <typename = void>
0324   explicit PROTOBUF_CONSTEXPR TypeProto_Opaque(
0325       ::google::protobuf::internal::ConstantInitialized);
0326 
0327   inline TypeProto_Opaque(const TypeProto_Opaque& from) : TypeProto_Opaque(nullptr, from) {}
0328   inline TypeProto_Opaque(TypeProto_Opaque&& from) noexcept
0329       : TypeProto_Opaque(nullptr, std::move(from)) {}
0330   inline TypeProto_Opaque& operator=(const TypeProto_Opaque& from) {
0331     CopyFrom(from);
0332     return *this;
0333   }
0334   inline TypeProto_Opaque& operator=(TypeProto_Opaque&& from) noexcept {
0335     if (this == &from) return *this;
0336     if (GetArena() == from.GetArena()
0337 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
0338         && GetArena() != nullptr
0339 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
0340     ) {
0341       InternalSwap(&from);
0342     } else {
0343       CopyFrom(from);
0344     }
0345     return *this;
0346   }
0347 
0348   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0349       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0350     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0351   }
0352   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
0353       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0354     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0355   }
0356 
0357   static const ::google::protobuf::Descriptor* descriptor() {
0358     return GetDescriptor();
0359   }
0360   static const ::google::protobuf::Descriptor* GetDescriptor() {
0361     return default_instance().GetMetadata().descriptor;
0362   }
0363   static const ::google::protobuf::Reflection* GetReflection() {
0364     return default_instance().GetMetadata().reflection;
0365   }
0366   static const TypeProto_Opaque& default_instance() {
0367     return *internal_default_instance();
0368   }
0369   static inline const TypeProto_Opaque* internal_default_instance() {
0370     return reinterpret_cast<const TypeProto_Opaque*>(
0371         &_TypeProto_Opaque_default_instance_);
0372   }
0373   static constexpr int kIndexInFileMessages = 18;
0374   friend void swap(TypeProto_Opaque& a, TypeProto_Opaque& b) { a.Swap(&b); }
0375   inline void Swap(TypeProto_Opaque* other) {
0376     if (other == this) return;
0377 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
0378     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
0379 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
0380     if (GetArena() == other->GetArena()) {
0381 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
0382       InternalSwap(other);
0383     } else {
0384       ::google::protobuf::internal::GenericSwap(this, other);
0385     }
0386   }
0387   void UnsafeArenaSwap(TypeProto_Opaque* other) {
0388     if (other == this) return;
0389     ABSL_DCHECK(GetArena() == other->GetArena());
0390     InternalSwap(other);
0391   }
0392 
0393   // implements Message ----------------------------------------------
0394 
0395   TypeProto_Opaque* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
0396     return ::google::protobuf::Message::DefaultConstruct<TypeProto_Opaque>(arena);
0397   }
0398   using ::google::protobuf::Message::CopyFrom;
0399   void CopyFrom(const TypeProto_Opaque& from);
0400   using ::google::protobuf::Message::MergeFrom;
0401   void MergeFrom(const TypeProto_Opaque& from) { TypeProto_Opaque::MergeImpl(*this, from); }
0402 
0403   private:
0404   static void MergeImpl(
0405       ::google::protobuf::MessageLite& to_msg,
0406       const ::google::protobuf::MessageLite& from_msg);
0407 
0408   public:
0409   bool IsInitialized() const {
0410     return true;
0411   }
0412   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0413   #if defined(PROTOBUF_CUSTOM_VTABLE)
0414   private:
0415   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0416   static ::uint8_t* _InternalSerialize(
0417       const MessageLite& msg, ::uint8_t* target,
0418       ::google::protobuf::io::EpsCopyOutputStream* stream);
0419 
0420   public:
0421   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0422   ::uint8_t* _InternalSerialize(
0423       ::uint8_t* target,
0424       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
0425     return _InternalSerialize(*this, target, stream);
0426   }
0427   #else   // PROTOBUF_CUSTOM_VTABLE
0428   ::size_t ByteSizeLong() const final;
0429   ::uint8_t* _InternalSerialize(
0430       ::uint8_t* target,
0431       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
0432   #endif  // PROTOBUF_CUSTOM_VTABLE
0433   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0434 
0435   private:
0436   void SharedCtor(::google::protobuf::Arena* arena);
0437   void SharedDtor();
0438   void InternalSwap(TypeProto_Opaque* other);
0439  private:
0440   friend class ::google::protobuf::internal::AnyMetadata;
0441   static ::absl::string_view FullMessageName() { return "onnx.TypeProto.Opaque"; }
0442 
0443  protected:
0444   explicit TypeProto_Opaque(::google::protobuf::Arena* arena);
0445   TypeProto_Opaque(::google::protobuf::Arena* arena, const TypeProto_Opaque& from);
0446   TypeProto_Opaque(::google::protobuf::Arena* arena, TypeProto_Opaque&& from) noexcept
0447       : TypeProto_Opaque(arena) {
0448     *this = ::std::move(from);
0449   }
0450   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
0451   static const ::google::protobuf::Message::ClassDataFull _class_data_;
0452 
0453  public:
0454   ::google::protobuf::Metadata GetMetadata() const;
0455   // nested types ----------------------------------------------------
0456 
0457   // accessors -------------------------------------------------------
0458   enum : int {
0459     kDomainFieldNumber = 1,
0460     kNameFieldNumber = 2,
0461   };
0462   // optional string domain = 1;
0463   bool has_domain() const;
0464   void clear_domain() ;
0465   const std::string& domain() const;
0466   template <typename Arg_ = const std::string&, typename... Args_>
0467   void set_domain(Arg_&& arg, Args_... args);
0468   std::string* mutable_domain();
0469   PROTOBUF_NODISCARD std::string* release_domain();
0470   void set_allocated_domain(std::string* value);
0471 
0472   private:
0473   const std::string& _internal_domain() const;
0474   inline PROTOBUF_ALWAYS_INLINE void _internal_set_domain(
0475       const std::string& value);
0476   std::string* _internal_mutable_domain();
0477 
0478   public:
0479   // optional string name = 2;
0480   bool has_name() const;
0481   void clear_name() ;
0482   const std::string& name() const;
0483   template <typename Arg_ = const std::string&, typename... Args_>
0484   void set_name(Arg_&& arg, Args_... args);
0485   std::string* mutable_name();
0486   PROTOBUF_NODISCARD std::string* release_name();
0487   void set_allocated_name(std::string* value);
0488 
0489   private:
0490   const std::string& _internal_name() const;
0491   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
0492       const std::string& value);
0493   std::string* _internal_mutable_name();
0494 
0495   public:
0496   // @@protoc_insertion_point(class_scope:onnx.TypeProto.Opaque)
0497  private:
0498   class _Internal;
0499   friend class ::google::protobuf::internal::TcParser;
0500   static const ::google::protobuf::internal::TcParseTable<
0501       1, 2, 0,
0502       40, 2>
0503       _table_;
0504 
0505 
0506   friend class ::google::protobuf::MessageLite;
0507   friend class ::google::protobuf::Arena;
0508   template <typename T>
0509   friend class ::google::protobuf::Arena::InternalHelper;
0510   using InternalArenaConstructable_ = void;
0511   using DestructorSkippable_ = void;
0512   struct Impl_ {
0513     inline explicit constexpr Impl_(
0514         ::google::protobuf::internal::ConstantInitialized) noexcept;
0515     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0516                           ::google::protobuf::Arena* arena);
0517     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0518                           ::google::protobuf::Arena* arena, const Impl_& from,
0519                           const TypeProto_Opaque& from_msg);
0520     ::google::protobuf::internal::HasBits<1> _has_bits_;
0521     mutable ::google::protobuf::internal::CachedSize _cached_size_;
0522     ::google::protobuf::internal::ArenaStringPtr domain_;
0523     ::google::protobuf::internal::ArenaStringPtr name_;
0524     PROTOBUF_TSAN_DECLARE_MEMBER
0525   };
0526   union { Impl_ _impl_; };
0527   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
0528 };
0529 // -------------------------------------------------------------------
0530 
0531 class ONNX_API TensorShapeProto_Dimension final : public ::google::protobuf::Message
0532 /* @@protoc_insertion_point(class_definition:onnx.TensorShapeProto.Dimension) */ {
0533  public:
0534   inline TensorShapeProto_Dimension() : TensorShapeProto_Dimension(nullptr) {}
0535   ~TensorShapeProto_Dimension() PROTOBUF_FINAL;
0536   template <typename = void>
0537   explicit PROTOBUF_CONSTEXPR TensorShapeProto_Dimension(
0538       ::google::protobuf::internal::ConstantInitialized);
0539 
0540   inline TensorShapeProto_Dimension(const TensorShapeProto_Dimension& from) : TensorShapeProto_Dimension(nullptr, from) {}
0541   inline TensorShapeProto_Dimension(TensorShapeProto_Dimension&& from) noexcept
0542       : TensorShapeProto_Dimension(nullptr, std::move(from)) {}
0543   inline TensorShapeProto_Dimension& operator=(const TensorShapeProto_Dimension& from) {
0544     CopyFrom(from);
0545     return *this;
0546   }
0547   inline TensorShapeProto_Dimension& operator=(TensorShapeProto_Dimension&& from) noexcept {
0548     if (this == &from) return *this;
0549     if (GetArena() == from.GetArena()
0550 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
0551         && GetArena() != nullptr
0552 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
0553     ) {
0554       InternalSwap(&from);
0555     } else {
0556       CopyFrom(from);
0557     }
0558     return *this;
0559   }
0560 
0561   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0562       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0563     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0564   }
0565   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
0566       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0567     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0568   }
0569 
0570   static const ::google::protobuf::Descriptor* descriptor() {
0571     return GetDescriptor();
0572   }
0573   static const ::google::protobuf::Descriptor* GetDescriptor() {
0574     return default_instance().GetMetadata().descriptor;
0575   }
0576   static const ::google::protobuf::Reflection* GetReflection() {
0577     return default_instance().GetMetadata().reflection;
0578   }
0579   static const TensorShapeProto_Dimension& default_instance() {
0580     return *internal_default_instance();
0581   }
0582   enum ValueCase {
0583     kDimValue = 1,
0584     kDimParam = 2,
0585     VALUE_NOT_SET = 0,
0586   };
0587   static inline const TensorShapeProto_Dimension* internal_default_instance() {
0588     return reinterpret_cast<const TensorShapeProto_Dimension*>(
0589         &_TensorShapeProto_Dimension_default_instance_);
0590   }
0591   static constexpr int kIndexInFileMessages = 11;
0592   friend void swap(TensorShapeProto_Dimension& a, TensorShapeProto_Dimension& b) { a.Swap(&b); }
0593   inline void Swap(TensorShapeProto_Dimension* other) {
0594     if (other == this) return;
0595 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
0596     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
0597 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
0598     if (GetArena() == other->GetArena()) {
0599 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
0600       InternalSwap(other);
0601     } else {
0602       ::google::protobuf::internal::GenericSwap(this, other);
0603     }
0604   }
0605   void UnsafeArenaSwap(TensorShapeProto_Dimension* other) {
0606     if (other == this) return;
0607     ABSL_DCHECK(GetArena() == other->GetArena());
0608     InternalSwap(other);
0609   }
0610 
0611   // implements Message ----------------------------------------------
0612 
0613   TensorShapeProto_Dimension* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
0614     return ::google::protobuf::Message::DefaultConstruct<TensorShapeProto_Dimension>(arena);
0615   }
0616   using ::google::protobuf::Message::CopyFrom;
0617   void CopyFrom(const TensorShapeProto_Dimension& from);
0618   using ::google::protobuf::Message::MergeFrom;
0619   void MergeFrom(const TensorShapeProto_Dimension& from) { TensorShapeProto_Dimension::MergeImpl(*this, from); }
0620 
0621   private:
0622   static void MergeImpl(
0623       ::google::protobuf::MessageLite& to_msg,
0624       const ::google::protobuf::MessageLite& from_msg);
0625 
0626   public:
0627   bool IsInitialized() const {
0628     return true;
0629   }
0630   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0631   #if defined(PROTOBUF_CUSTOM_VTABLE)
0632   private:
0633   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0634   static ::uint8_t* _InternalSerialize(
0635       const MessageLite& msg, ::uint8_t* target,
0636       ::google::protobuf::io::EpsCopyOutputStream* stream);
0637 
0638   public:
0639   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0640   ::uint8_t* _InternalSerialize(
0641       ::uint8_t* target,
0642       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
0643     return _InternalSerialize(*this, target, stream);
0644   }
0645   #else   // PROTOBUF_CUSTOM_VTABLE
0646   ::size_t ByteSizeLong() const final;
0647   ::uint8_t* _InternalSerialize(
0648       ::uint8_t* target,
0649       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
0650   #endif  // PROTOBUF_CUSTOM_VTABLE
0651   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0652 
0653   private:
0654   void SharedCtor(::google::protobuf::Arena* arena);
0655   void SharedDtor();
0656   void InternalSwap(TensorShapeProto_Dimension* other);
0657  private:
0658   friend class ::google::protobuf::internal::AnyMetadata;
0659   static ::absl::string_view FullMessageName() { return "onnx.TensorShapeProto.Dimension"; }
0660 
0661  protected:
0662   explicit TensorShapeProto_Dimension(::google::protobuf::Arena* arena);
0663   TensorShapeProto_Dimension(::google::protobuf::Arena* arena, const TensorShapeProto_Dimension& from);
0664   TensorShapeProto_Dimension(::google::protobuf::Arena* arena, TensorShapeProto_Dimension&& from) noexcept
0665       : TensorShapeProto_Dimension(arena) {
0666     *this = ::std::move(from);
0667   }
0668   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
0669   static const ::google::protobuf::Message::ClassDataFull _class_data_;
0670 
0671  public:
0672   ::google::protobuf::Metadata GetMetadata() const;
0673   // nested types ----------------------------------------------------
0674 
0675   // accessors -------------------------------------------------------
0676   enum : int {
0677     kDenotationFieldNumber = 3,
0678     kDimValueFieldNumber = 1,
0679     kDimParamFieldNumber = 2,
0680   };
0681   // optional string denotation = 3;
0682   bool has_denotation() const;
0683   void clear_denotation() ;
0684   const std::string& denotation() const;
0685   template <typename Arg_ = const std::string&, typename... Args_>
0686   void set_denotation(Arg_&& arg, Args_... args);
0687   std::string* mutable_denotation();
0688   PROTOBUF_NODISCARD std::string* release_denotation();
0689   void set_allocated_denotation(std::string* value);
0690 
0691   private:
0692   const std::string& _internal_denotation() const;
0693   inline PROTOBUF_ALWAYS_INLINE void _internal_set_denotation(
0694       const std::string& value);
0695   std::string* _internal_mutable_denotation();
0696 
0697   public:
0698   // int64 dim_value = 1;
0699   bool has_dim_value() const;
0700   void clear_dim_value() ;
0701   ::int64_t dim_value() const;
0702   void set_dim_value(::int64_t value);
0703 
0704   private:
0705   ::int64_t _internal_dim_value() const;
0706   void _internal_set_dim_value(::int64_t value);
0707 
0708   public:
0709   // string dim_param = 2;
0710   bool has_dim_param() const;
0711   void clear_dim_param() ;
0712   const std::string& dim_param() const;
0713   template <typename Arg_ = const std::string&, typename... Args_>
0714   void set_dim_param(Arg_&& arg, Args_... args);
0715   std::string* mutable_dim_param();
0716   PROTOBUF_NODISCARD std::string* release_dim_param();
0717   void set_allocated_dim_param(std::string* value);
0718 
0719   private:
0720   const std::string& _internal_dim_param() const;
0721   inline PROTOBUF_ALWAYS_INLINE void _internal_set_dim_param(
0722       const std::string& value);
0723   std::string* _internal_mutable_dim_param();
0724 
0725   public:
0726   void clear_value();
0727   ValueCase value_case() const;
0728   // @@protoc_insertion_point(class_scope:onnx.TensorShapeProto.Dimension)
0729  private:
0730   class _Internal;
0731   void set_has_dim_value();
0732   void set_has_dim_param();
0733   inline bool has_value() const;
0734   inline void clear_has_value();
0735   friend class ::google::protobuf::internal::TcParser;
0736   static const ::google::protobuf::internal::TcParseTable<
0737       0, 3, 0,
0738       59, 2>
0739       _table_;
0740 
0741 
0742   friend class ::google::protobuf::MessageLite;
0743   friend class ::google::protobuf::Arena;
0744   template <typename T>
0745   friend class ::google::protobuf::Arena::InternalHelper;
0746   using InternalArenaConstructable_ = void;
0747   using DestructorSkippable_ = void;
0748   struct Impl_ {
0749     inline explicit constexpr Impl_(
0750         ::google::protobuf::internal::ConstantInitialized) noexcept;
0751     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0752                           ::google::protobuf::Arena* arena);
0753     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0754                           ::google::protobuf::Arena* arena, const Impl_& from,
0755                           const TensorShapeProto_Dimension& from_msg);
0756     ::google::protobuf::internal::HasBits<1> _has_bits_;
0757     mutable ::google::protobuf::internal::CachedSize _cached_size_;
0758     ::google::protobuf::internal::ArenaStringPtr denotation_;
0759     union ValueUnion {
0760       constexpr ValueUnion() : _constinit_{} {}
0761       ::google::protobuf::internal::ConstantInitialized _constinit_;
0762       ::int64_t dim_value_;
0763       ::google::protobuf::internal::ArenaStringPtr dim_param_;
0764     } value_;
0765     ::uint32_t _oneof_case_[1];
0766     PROTOBUF_TSAN_DECLARE_MEMBER
0767   };
0768   union { Impl_ _impl_; };
0769   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
0770 };
0771 // -------------------------------------------------------------------
0772 
0773 class ONNX_API TensorProto_Segment final : public ::google::protobuf::Message
0774 /* @@protoc_insertion_point(class_definition:onnx.TensorProto.Segment) */ {
0775  public:
0776   inline TensorProto_Segment() : TensorProto_Segment(nullptr) {}
0777   ~TensorProto_Segment() PROTOBUF_FINAL;
0778   template <typename = void>
0779   explicit PROTOBUF_CONSTEXPR TensorProto_Segment(
0780       ::google::protobuf::internal::ConstantInitialized);
0781 
0782   inline TensorProto_Segment(const TensorProto_Segment& from) : TensorProto_Segment(nullptr, from) {}
0783   inline TensorProto_Segment(TensorProto_Segment&& from) noexcept
0784       : TensorProto_Segment(nullptr, std::move(from)) {}
0785   inline TensorProto_Segment& operator=(const TensorProto_Segment& from) {
0786     CopyFrom(from);
0787     return *this;
0788   }
0789   inline TensorProto_Segment& operator=(TensorProto_Segment&& from) noexcept {
0790     if (this == &from) return *this;
0791     if (GetArena() == from.GetArena()
0792 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
0793         && GetArena() != nullptr
0794 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
0795     ) {
0796       InternalSwap(&from);
0797     } else {
0798       CopyFrom(from);
0799     }
0800     return *this;
0801   }
0802 
0803   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0804       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0805     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0806   }
0807   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
0808       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0809     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0810   }
0811 
0812   static const ::google::protobuf::Descriptor* descriptor() {
0813     return GetDescriptor();
0814   }
0815   static const ::google::protobuf::Descriptor* GetDescriptor() {
0816     return default_instance().GetMetadata().descriptor;
0817   }
0818   static const ::google::protobuf::Reflection* GetReflection() {
0819     return default_instance().GetMetadata().reflection;
0820   }
0821   static const TensorProto_Segment& default_instance() {
0822     return *internal_default_instance();
0823   }
0824   static inline const TensorProto_Segment* internal_default_instance() {
0825     return reinterpret_cast<const TensorProto_Segment*>(
0826         &_TensorProto_Segment_default_instance_);
0827   }
0828   static constexpr int kIndexInFileMessages = 8;
0829   friend void swap(TensorProto_Segment& a, TensorProto_Segment& b) { a.Swap(&b); }
0830   inline void Swap(TensorProto_Segment* other) {
0831     if (other == this) return;
0832 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
0833     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
0834 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
0835     if (GetArena() == other->GetArena()) {
0836 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
0837       InternalSwap(other);
0838     } else {
0839       ::google::protobuf::internal::GenericSwap(this, other);
0840     }
0841   }
0842   void UnsafeArenaSwap(TensorProto_Segment* other) {
0843     if (other == this) return;
0844     ABSL_DCHECK(GetArena() == other->GetArena());
0845     InternalSwap(other);
0846   }
0847 
0848   // implements Message ----------------------------------------------
0849 
0850   TensorProto_Segment* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
0851     return ::google::protobuf::Message::DefaultConstruct<TensorProto_Segment>(arena);
0852   }
0853   using ::google::protobuf::Message::CopyFrom;
0854   void CopyFrom(const TensorProto_Segment& from);
0855   using ::google::protobuf::Message::MergeFrom;
0856   void MergeFrom(const TensorProto_Segment& from) { TensorProto_Segment::MergeImpl(*this, from); }
0857 
0858   private:
0859   static void MergeImpl(
0860       ::google::protobuf::MessageLite& to_msg,
0861       const ::google::protobuf::MessageLite& from_msg);
0862 
0863   public:
0864   bool IsInitialized() const {
0865     return true;
0866   }
0867   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0868   #if defined(PROTOBUF_CUSTOM_VTABLE)
0869   private:
0870   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0871   static ::uint8_t* _InternalSerialize(
0872       const MessageLite& msg, ::uint8_t* target,
0873       ::google::protobuf::io::EpsCopyOutputStream* stream);
0874 
0875   public:
0876   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0877   ::uint8_t* _InternalSerialize(
0878       ::uint8_t* target,
0879       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
0880     return _InternalSerialize(*this, target, stream);
0881   }
0882   #else   // PROTOBUF_CUSTOM_VTABLE
0883   ::size_t ByteSizeLong() const final;
0884   ::uint8_t* _InternalSerialize(
0885       ::uint8_t* target,
0886       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
0887   #endif  // PROTOBUF_CUSTOM_VTABLE
0888   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0889 
0890   private:
0891   void SharedCtor(::google::protobuf::Arena* arena);
0892   void SharedDtor();
0893   void InternalSwap(TensorProto_Segment* other);
0894  private:
0895   friend class ::google::protobuf::internal::AnyMetadata;
0896   static ::absl::string_view FullMessageName() { return "onnx.TensorProto.Segment"; }
0897 
0898  protected:
0899   explicit TensorProto_Segment(::google::protobuf::Arena* arena);
0900   TensorProto_Segment(::google::protobuf::Arena* arena, const TensorProto_Segment& from);
0901   TensorProto_Segment(::google::protobuf::Arena* arena, TensorProto_Segment&& from) noexcept
0902       : TensorProto_Segment(arena) {
0903     *this = ::std::move(from);
0904   }
0905   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
0906   static const ::google::protobuf::Message::ClassDataFull _class_data_;
0907 
0908  public:
0909   ::google::protobuf::Metadata GetMetadata() const;
0910   // nested types ----------------------------------------------------
0911 
0912   // accessors -------------------------------------------------------
0913   enum : int {
0914     kBeginFieldNumber = 1,
0915     kEndFieldNumber = 2,
0916   };
0917   // optional int64 begin = 1;
0918   bool has_begin() const;
0919   void clear_begin() ;
0920   ::int64_t begin() const;
0921   void set_begin(::int64_t value);
0922 
0923   private:
0924   ::int64_t _internal_begin() const;
0925   void _internal_set_begin(::int64_t value);
0926 
0927   public:
0928   // optional int64 end = 2;
0929   bool has_end() const;
0930   void clear_end() ;
0931   ::int64_t end() const;
0932   void set_end(::int64_t value);
0933 
0934   private:
0935   ::int64_t _internal_end() const;
0936   void _internal_set_end(::int64_t value);
0937 
0938   public:
0939   // @@protoc_insertion_point(class_scope:onnx.TensorProto.Segment)
0940  private:
0941   class _Internal;
0942   friend class ::google::protobuf::internal::TcParser;
0943   static const ::google::protobuf::internal::TcParseTable<
0944       1, 2, 0,
0945       0, 2>
0946       _table_;
0947 
0948 
0949   friend class ::google::protobuf::MessageLite;
0950   friend class ::google::protobuf::Arena;
0951   template <typename T>
0952   friend class ::google::protobuf::Arena::InternalHelper;
0953   using InternalArenaConstructable_ = void;
0954   using DestructorSkippable_ = void;
0955   struct Impl_ {
0956     inline explicit constexpr Impl_(
0957         ::google::protobuf::internal::ConstantInitialized) noexcept;
0958     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0959                           ::google::protobuf::Arena* arena);
0960     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0961                           ::google::protobuf::Arena* arena, const Impl_& from,
0962                           const TensorProto_Segment& from_msg);
0963     ::google::protobuf::internal::HasBits<1> _has_bits_;
0964     mutable ::google::protobuf::internal::CachedSize _cached_size_;
0965     ::int64_t begin_;
0966     ::int64_t end_;
0967     PROTOBUF_TSAN_DECLARE_MEMBER
0968   };
0969   union { Impl_ _impl_; };
0970   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
0971 };
0972 // -------------------------------------------------------------------
0973 
0974 class ONNX_API StringStringEntryProto final : public ::google::protobuf::Message
0975 /* @@protoc_insertion_point(class_definition:onnx.StringStringEntryProto) */ {
0976  public:
0977   inline StringStringEntryProto() : StringStringEntryProto(nullptr) {}
0978   ~StringStringEntryProto() PROTOBUF_FINAL;
0979   template <typename = void>
0980   explicit PROTOBUF_CONSTEXPR StringStringEntryProto(
0981       ::google::protobuf::internal::ConstantInitialized);
0982 
0983   inline StringStringEntryProto(const StringStringEntryProto& from) : StringStringEntryProto(nullptr, from) {}
0984   inline StringStringEntryProto(StringStringEntryProto&& from) noexcept
0985       : StringStringEntryProto(nullptr, std::move(from)) {}
0986   inline StringStringEntryProto& operator=(const StringStringEntryProto& from) {
0987     CopyFrom(from);
0988     return *this;
0989   }
0990   inline StringStringEntryProto& operator=(StringStringEntryProto&& from) noexcept {
0991     if (this == &from) return *this;
0992     if (GetArena() == from.GetArena()
0993 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
0994         && GetArena() != nullptr
0995 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
0996     ) {
0997       InternalSwap(&from);
0998     } else {
0999       CopyFrom(from);
1000     }
1001     return *this;
1002   }
1003 
1004   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1005       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1006     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1007   }
1008   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1009       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1010     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1011   }
1012 
1013   static const ::google::protobuf::Descriptor* descriptor() {
1014     return GetDescriptor();
1015   }
1016   static const ::google::protobuf::Descriptor* GetDescriptor() {
1017     return default_instance().GetMetadata().descriptor;
1018   }
1019   static const ::google::protobuf::Reflection* GetReflection() {
1020     return default_instance().GetMetadata().reflection;
1021   }
1022   static const StringStringEntryProto& default_instance() {
1023     return *internal_default_instance();
1024   }
1025   static inline const StringStringEntryProto* internal_default_instance() {
1026     return reinterpret_cast<const StringStringEntryProto*>(
1027         &_StringStringEntryProto_default_instance_);
1028   }
1029   static constexpr int kIndexInFileMessages = 5;
1030   friend void swap(StringStringEntryProto& a, StringStringEntryProto& b) { a.Swap(&b); }
1031   inline void Swap(StringStringEntryProto* other) {
1032     if (other == this) return;
1033 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1034     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1035 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1036     if (GetArena() == other->GetArena()) {
1037 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1038       InternalSwap(other);
1039     } else {
1040       ::google::protobuf::internal::GenericSwap(this, other);
1041     }
1042   }
1043   void UnsafeArenaSwap(StringStringEntryProto* other) {
1044     if (other == this) return;
1045     ABSL_DCHECK(GetArena() == other->GetArena());
1046     InternalSwap(other);
1047   }
1048 
1049   // implements Message ----------------------------------------------
1050 
1051   StringStringEntryProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1052     return ::google::protobuf::Message::DefaultConstruct<StringStringEntryProto>(arena);
1053   }
1054   using ::google::protobuf::Message::CopyFrom;
1055   void CopyFrom(const StringStringEntryProto& from);
1056   using ::google::protobuf::Message::MergeFrom;
1057   void MergeFrom(const StringStringEntryProto& from) { StringStringEntryProto::MergeImpl(*this, from); }
1058 
1059   private:
1060   static void MergeImpl(
1061       ::google::protobuf::MessageLite& to_msg,
1062       const ::google::protobuf::MessageLite& from_msg);
1063 
1064   public:
1065   bool IsInitialized() const {
1066     return true;
1067   }
1068   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1069   #if defined(PROTOBUF_CUSTOM_VTABLE)
1070   private:
1071   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1072   static ::uint8_t* _InternalSerialize(
1073       const MessageLite& msg, ::uint8_t* target,
1074       ::google::protobuf::io::EpsCopyOutputStream* stream);
1075 
1076   public:
1077   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1078   ::uint8_t* _InternalSerialize(
1079       ::uint8_t* target,
1080       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1081     return _InternalSerialize(*this, target, stream);
1082   }
1083   #else   // PROTOBUF_CUSTOM_VTABLE
1084   ::size_t ByteSizeLong() const final;
1085   ::uint8_t* _InternalSerialize(
1086       ::uint8_t* target,
1087       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1088   #endif  // PROTOBUF_CUSTOM_VTABLE
1089   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1090 
1091   private:
1092   void SharedCtor(::google::protobuf::Arena* arena);
1093   void SharedDtor();
1094   void InternalSwap(StringStringEntryProto* other);
1095  private:
1096   friend class ::google::protobuf::internal::AnyMetadata;
1097   static ::absl::string_view FullMessageName() { return "onnx.StringStringEntryProto"; }
1098 
1099  protected:
1100   explicit StringStringEntryProto(::google::protobuf::Arena* arena);
1101   StringStringEntryProto(::google::protobuf::Arena* arena, const StringStringEntryProto& from);
1102   StringStringEntryProto(::google::protobuf::Arena* arena, StringStringEntryProto&& from) noexcept
1103       : StringStringEntryProto(arena) {
1104     *this = ::std::move(from);
1105   }
1106   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1107   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1108 
1109  public:
1110   ::google::protobuf::Metadata GetMetadata() const;
1111   // nested types ----------------------------------------------------
1112 
1113   // accessors -------------------------------------------------------
1114   enum : int {
1115     kKeyFieldNumber = 1,
1116     kValueFieldNumber = 2,
1117   };
1118   // optional string key = 1;
1119   bool has_key() const;
1120   void clear_key() ;
1121   const std::string& key() const;
1122   template <typename Arg_ = const std::string&, typename... Args_>
1123   void set_key(Arg_&& arg, Args_... args);
1124   std::string* mutable_key();
1125   PROTOBUF_NODISCARD std::string* release_key();
1126   void set_allocated_key(std::string* value);
1127 
1128   private:
1129   const std::string& _internal_key() const;
1130   inline PROTOBUF_ALWAYS_INLINE void _internal_set_key(
1131       const std::string& value);
1132   std::string* _internal_mutable_key();
1133 
1134   public:
1135   // optional string value = 2;
1136   bool has_value() const;
1137   void clear_value() ;
1138   const std::string& value() const;
1139   template <typename Arg_ = const std::string&, typename... Args_>
1140   void set_value(Arg_&& arg, Args_... args);
1141   std::string* mutable_value();
1142   PROTOBUF_NODISCARD std::string* release_value();
1143   void set_allocated_value(std::string* value);
1144 
1145   private:
1146   const std::string& _internal_value() const;
1147   inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(
1148       const std::string& value);
1149   std::string* _internal_mutable_value();
1150 
1151   public:
1152   // @@protoc_insertion_point(class_scope:onnx.StringStringEntryProto)
1153  private:
1154   class _Internal;
1155   friend class ::google::protobuf::internal::TcParser;
1156   static const ::google::protobuf::internal::TcParseTable<
1157       1, 2, 0,
1158       44, 2>
1159       _table_;
1160 
1161 
1162   friend class ::google::protobuf::MessageLite;
1163   friend class ::google::protobuf::Arena;
1164   template <typename T>
1165   friend class ::google::protobuf::Arena::InternalHelper;
1166   using InternalArenaConstructable_ = void;
1167   using DestructorSkippable_ = void;
1168   struct Impl_ {
1169     inline explicit constexpr Impl_(
1170         ::google::protobuf::internal::ConstantInitialized) noexcept;
1171     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1172                           ::google::protobuf::Arena* arena);
1173     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1174                           ::google::protobuf::Arena* arena, const Impl_& from,
1175                           const StringStringEntryProto& from_msg);
1176     ::google::protobuf::internal::HasBits<1> _has_bits_;
1177     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1178     ::google::protobuf::internal::ArenaStringPtr key_;
1179     ::google::protobuf::internal::ArenaStringPtr value_;
1180     PROTOBUF_TSAN_DECLARE_MEMBER
1181   };
1182   union { Impl_ _impl_; };
1183   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
1184 };
1185 // -------------------------------------------------------------------
1186 
1187 class ONNX_API OperatorSetIdProto final : public ::google::protobuf::Message
1188 /* @@protoc_insertion_point(class_definition:onnx.OperatorSetIdProto) */ {
1189  public:
1190   inline OperatorSetIdProto() : OperatorSetIdProto(nullptr) {}
1191   ~OperatorSetIdProto() PROTOBUF_FINAL;
1192   template <typename = void>
1193   explicit PROTOBUF_CONSTEXPR OperatorSetIdProto(
1194       ::google::protobuf::internal::ConstantInitialized);
1195 
1196   inline OperatorSetIdProto(const OperatorSetIdProto& from) : OperatorSetIdProto(nullptr, from) {}
1197   inline OperatorSetIdProto(OperatorSetIdProto&& from) noexcept
1198       : OperatorSetIdProto(nullptr, std::move(from)) {}
1199   inline OperatorSetIdProto& operator=(const OperatorSetIdProto& from) {
1200     CopyFrom(from);
1201     return *this;
1202   }
1203   inline OperatorSetIdProto& operator=(OperatorSetIdProto&& from) noexcept {
1204     if (this == &from) return *this;
1205     if (GetArena() == from.GetArena()
1206 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1207         && GetArena() != nullptr
1208 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1209     ) {
1210       InternalSwap(&from);
1211     } else {
1212       CopyFrom(from);
1213     }
1214     return *this;
1215   }
1216 
1217   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1218       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1219     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1220   }
1221   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1222       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1223     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1224   }
1225 
1226   static const ::google::protobuf::Descriptor* descriptor() {
1227     return GetDescriptor();
1228   }
1229   static const ::google::protobuf::Descriptor* GetDescriptor() {
1230     return default_instance().GetMetadata().descriptor;
1231   }
1232   static const ::google::protobuf::Reflection* GetReflection() {
1233     return default_instance().GetMetadata().reflection;
1234   }
1235   static const OperatorSetIdProto& default_instance() {
1236     return *internal_default_instance();
1237   }
1238   static inline const OperatorSetIdProto* internal_default_instance() {
1239     return reinterpret_cast<const OperatorSetIdProto*>(
1240         &_OperatorSetIdProto_default_instance_);
1241   }
1242   static constexpr int kIndexInFileMessages = 20;
1243   friend void swap(OperatorSetIdProto& a, OperatorSetIdProto& b) { a.Swap(&b); }
1244   inline void Swap(OperatorSetIdProto* other) {
1245     if (other == this) return;
1246 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1247     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1248 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1249     if (GetArena() == other->GetArena()) {
1250 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1251       InternalSwap(other);
1252     } else {
1253       ::google::protobuf::internal::GenericSwap(this, other);
1254     }
1255   }
1256   void UnsafeArenaSwap(OperatorSetIdProto* other) {
1257     if (other == this) return;
1258     ABSL_DCHECK(GetArena() == other->GetArena());
1259     InternalSwap(other);
1260   }
1261 
1262   // implements Message ----------------------------------------------
1263 
1264   OperatorSetIdProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1265     return ::google::protobuf::Message::DefaultConstruct<OperatorSetIdProto>(arena);
1266   }
1267   using ::google::protobuf::Message::CopyFrom;
1268   void CopyFrom(const OperatorSetIdProto& from);
1269   using ::google::protobuf::Message::MergeFrom;
1270   void MergeFrom(const OperatorSetIdProto& from) { OperatorSetIdProto::MergeImpl(*this, from); }
1271 
1272   private:
1273   static void MergeImpl(
1274       ::google::protobuf::MessageLite& to_msg,
1275       const ::google::protobuf::MessageLite& from_msg);
1276 
1277   public:
1278   bool IsInitialized() const {
1279     return true;
1280   }
1281   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1282   #if defined(PROTOBUF_CUSTOM_VTABLE)
1283   private:
1284   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1285   static ::uint8_t* _InternalSerialize(
1286       const MessageLite& msg, ::uint8_t* target,
1287       ::google::protobuf::io::EpsCopyOutputStream* stream);
1288 
1289   public:
1290   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1291   ::uint8_t* _InternalSerialize(
1292       ::uint8_t* target,
1293       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1294     return _InternalSerialize(*this, target, stream);
1295   }
1296   #else   // PROTOBUF_CUSTOM_VTABLE
1297   ::size_t ByteSizeLong() const final;
1298   ::uint8_t* _InternalSerialize(
1299       ::uint8_t* target,
1300       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1301   #endif  // PROTOBUF_CUSTOM_VTABLE
1302   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1303 
1304   private:
1305   void SharedCtor(::google::protobuf::Arena* arena);
1306   void SharedDtor();
1307   void InternalSwap(OperatorSetIdProto* other);
1308  private:
1309   friend class ::google::protobuf::internal::AnyMetadata;
1310   static ::absl::string_view FullMessageName() { return "onnx.OperatorSetIdProto"; }
1311 
1312  protected:
1313   explicit OperatorSetIdProto(::google::protobuf::Arena* arena);
1314   OperatorSetIdProto(::google::protobuf::Arena* arena, const OperatorSetIdProto& from);
1315   OperatorSetIdProto(::google::protobuf::Arena* arena, OperatorSetIdProto&& from) noexcept
1316       : OperatorSetIdProto(arena) {
1317     *this = ::std::move(from);
1318   }
1319   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1320   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1321 
1322  public:
1323   ::google::protobuf::Metadata GetMetadata() const;
1324   // nested types ----------------------------------------------------
1325 
1326   // accessors -------------------------------------------------------
1327   enum : int {
1328     kDomainFieldNumber = 1,
1329     kVersionFieldNumber = 2,
1330   };
1331   // optional string domain = 1;
1332   bool has_domain() const;
1333   void clear_domain() ;
1334   const std::string& domain() const;
1335   template <typename Arg_ = const std::string&, typename... Args_>
1336   void set_domain(Arg_&& arg, Args_... args);
1337   std::string* mutable_domain();
1338   PROTOBUF_NODISCARD std::string* release_domain();
1339   void set_allocated_domain(std::string* value);
1340 
1341   private:
1342   const std::string& _internal_domain() const;
1343   inline PROTOBUF_ALWAYS_INLINE void _internal_set_domain(
1344       const std::string& value);
1345   std::string* _internal_mutable_domain();
1346 
1347   public:
1348   // optional int64 version = 2;
1349   bool has_version() const;
1350   void clear_version() ;
1351   ::int64_t version() const;
1352   void set_version(::int64_t value);
1353 
1354   private:
1355   ::int64_t _internal_version() const;
1356   void _internal_set_version(::int64_t value);
1357 
1358   public:
1359   // @@protoc_insertion_point(class_scope:onnx.OperatorSetIdProto)
1360  private:
1361   class _Internal;
1362   friend class ::google::protobuf::internal::TcParser;
1363   static const ::google::protobuf::internal::TcParseTable<
1364       1, 2, 0,
1365       38, 2>
1366       _table_;
1367 
1368 
1369   friend class ::google::protobuf::MessageLite;
1370   friend class ::google::protobuf::Arena;
1371   template <typename T>
1372   friend class ::google::protobuf::Arena::InternalHelper;
1373   using InternalArenaConstructable_ = void;
1374   using DestructorSkippable_ = void;
1375   struct Impl_ {
1376     inline explicit constexpr Impl_(
1377         ::google::protobuf::internal::ConstantInitialized) noexcept;
1378     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1379                           ::google::protobuf::Arena* arena);
1380     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1381                           ::google::protobuf::Arena* arena, const Impl_& from,
1382                           const OperatorSetIdProto& from_msg);
1383     ::google::protobuf::internal::HasBits<1> _has_bits_;
1384     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1385     ::google::protobuf::internal::ArenaStringPtr domain_;
1386     ::int64_t version_;
1387     PROTOBUF_TSAN_DECLARE_MEMBER
1388   };
1389   union { Impl_ _impl_; };
1390   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
1391 };
1392 // -------------------------------------------------------------------
1393 
1394 class ONNX_API TensorShapeProto final : public ::google::protobuf::Message
1395 /* @@protoc_insertion_point(class_definition:onnx.TensorShapeProto) */ {
1396  public:
1397   inline TensorShapeProto() : TensorShapeProto(nullptr) {}
1398   ~TensorShapeProto() PROTOBUF_FINAL;
1399   template <typename = void>
1400   explicit PROTOBUF_CONSTEXPR TensorShapeProto(
1401       ::google::protobuf::internal::ConstantInitialized);
1402 
1403   inline TensorShapeProto(const TensorShapeProto& from) : TensorShapeProto(nullptr, from) {}
1404   inline TensorShapeProto(TensorShapeProto&& from) noexcept
1405       : TensorShapeProto(nullptr, std::move(from)) {}
1406   inline TensorShapeProto& operator=(const TensorShapeProto& from) {
1407     CopyFrom(from);
1408     return *this;
1409   }
1410   inline TensorShapeProto& operator=(TensorShapeProto&& from) noexcept {
1411     if (this == &from) return *this;
1412     if (GetArena() == from.GetArena()
1413 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1414         && GetArena() != nullptr
1415 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1416     ) {
1417       InternalSwap(&from);
1418     } else {
1419       CopyFrom(from);
1420     }
1421     return *this;
1422   }
1423 
1424   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1425       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1426     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1427   }
1428   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1429       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1430     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1431   }
1432 
1433   static const ::google::protobuf::Descriptor* descriptor() {
1434     return GetDescriptor();
1435   }
1436   static const ::google::protobuf::Descriptor* GetDescriptor() {
1437     return default_instance().GetMetadata().descriptor;
1438   }
1439   static const ::google::protobuf::Reflection* GetReflection() {
1440     return default_instance().GetMetadata().reflection;
1441   }
1442   static const TensorShapeProto& default_instance() {
1443     return *internal_default_instance();
1444   }
1445   static inline const TensorShapeProto* internal_default_instance() {
1446     return reinterpret_cast<const TensorShapeProto*>(
1447         &_TensorShapeProto_default_instance_);
1448   }
1449   static constexpr int kIndexInFileMessages = 12;
1450   friend void swap(TensorShapeProto& a, TensorShapeProto& b) { a.Swap(&b); }
1451   inline void Swap(TensorShapeProto* other) {
1452     if (other == this) return;
1453 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1454     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1455 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1456     if (GetArena() == other->GetArena()) {
1457 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1458       InternalSwap(other);
1459     } else {
1460       ::google::protobuf::internal::GenericSwap(this, other);
1461     }
1462   }
1463   void UnsafeArenaSwap(TensorShapeProto* other) {
1464     if (other == this) return;
1465     ABSL_DCHECK(GetArena() == other->GetArena());
1466     InternalSwap(other);
1467   }
1468 
1469   // implements Message ----------------------------------------------
1470 
1471   TensorShapeProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1472     return ::google::protobuf::Message::DefaultConstruct<TensorShapeProto>(arena);
1473   }
1474   using ::google::protobuf::Message::CopyFrom;
1475   void CopyFrom(const TensorShapeProto& from);
1476   using ::google::protobuf::Message::MergeFrom;
1477   void MergeFrom(const TensorShapeProto& from) { TensorShapeProto::MergeImpl(*this, from); }
1478 
1479   private:
1480   static void MergeImpl(
1481       ::google::protobuf::MessageLite& to_msg,
1482       const ::google::protobuf::MessageLite& from_msg);
1483 
1484   public:
1485   bool IsInitialized() const {
1486     return true;
1487   }
1488   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1489   #if defined(PROTOBUF_CUSTOM_VTABLE)
1490   private:
1491   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1492   static ::uint8_t* _InternalSerialize(
1493       const MessageLite& msg, ::uint8_t* target,
1494       ::google::protobuf::io::EpsCopyOutputStream* stream);
1495 
1496   public:
1497   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1498   ::uint8_t* _InternalSerialize(
1499       ::uint8_t* target,
1500       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1501     return _InternalSerialize(*this, target, stream);
1502   }
1503   #else   // PROTOBUF_CUSTOM_VTABLE
1504   ::size_t ByteSizeLong() const final;
1505   ::uint8_t* _InternalSerialize(
1506       ::uint8_t* target,
1507       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1508   #endif  // PROTOBUF_CUSTOM_VTABLE
1509   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1510 
1511   private:
1512   void SharedCtor(::google::protobuf::Arena* arena);
1513   void SharedDtor();
1514   void InternalSwap(TensorShapeProto* other);
1515  private:
1516   friend class ::google::protobuf::internal::AnyMetadata;
1517   static ::absl::string_view FullMessageName() { return "onnx.TensorShapeProto"; }
1518 
1519  protected:
1520   explicit TensorShapeProto(::google::protobuf::Arena* arena);
1521   TensorShapeProto(::google::protobuf::Arena* arena, const TensorShapeProto& from);
1522   TensorShapeProto(::google::protobuf::Arena* arena, TensorShapeProto&& from) noexcept
1523       : TensorShapeProto(arena) {
1524     *this = ::std::move(from);
1525   }
1526   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1527   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1528 
1529  public:
1530   ::google::protobuf::Metadata GetMetadata() const;
1531   // nested types ----------------------------------------------------
1532   using Dimension = TensorShapeProto_Dimension;
1533 
1534   // accessors -------------------------------------------------------
1535   enum : int {
1536     kDimFieldNumber = 1,
1537   };
1538   // repeated .onnx.TensorShapeProto.Dimension dim = 1;
1539   int dim_size() const;
1540   private:
1541   int _internal_dim_size() const;
1542 
1543   public:
1544   void clear_dim() ;
1545   ::onnx::TensorShapeProto_Dimension* mutable_dim(int index);
1546   ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>* mutable_dim();
1547 
1548   private:
1549   const ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>& _internal_dim() const;
1550   ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>* _internal_mutable_dim();
1551   public:
1552   const ::onnx::TensorShapeProto_Dimension& dim(int index) const;
1553   ::onnx::TensorShapeProto_Dimension* add_dim();
1554   const ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>& dim() const;
1555   // @@protoc_insertion_point(class_scope:onnx.TensorShapeProto)
1556  private:
1557   class _Internal;
1558   friend class ::google::protobuf::internal::TcParser;
1559   static const ::google::protobuf::internal::TcParseTable<
1560       0, 1, 1,
1561       0, 2>
1562       _table_;
1563 
1564 
1565   friend class ::google::protobuf::MessageLite;
1566   friend class ::google::protobuf::Arena;
1567   template <typename T>
1568   friend class ::google::protobuf::Arena::InternalHelper;
1569   using InternalArenaConstructable_ = void;
1570   using DestructorSkippable_ = void;
1571   struct Impl_ {
1572     inline explicit constexpr Impl_(
1573         ::google::protobuf::internal::ConstantInitialized) noexcept;
1574     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1575                           ::google::protobuf::Arena* arena);
1576     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1577                           ::google::protobuf::Arena* arena, const Impl_& from,
1578                           const TensorShapeProto& from_msg);
1579     ::google::protobuf::RepeatedPtrField< ::onnx::TensorShapeProto_Dimension > dim_;
1580     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1581     PROTOBUF_TSAN_DECLARE_MEMBER
1582   };
1583   union { Impl_ _impl_; };
1584   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
1585 };
1586 // -------------------------------------------------------------------
1587 
1588 class ONNX_API TensorProto final : public ::google::protobuf::Message
1589 /* @@protoc_insertion_point(class_definition:onnx.TensorProto) */ {
1590  public:
1591   inline TensorProto() : TensorProto(nullptr) {}
1592   ~TensorProto() PROTOBUF_FINAL;
1593   template <typename = void>
1594   explicit PROTOBUF_CONSTEXPR TensorProto(
1595       ::google::protobuf::internal::ConstantInitialized);
1596 
1597   inline TensorProto(const TensorProto& from) : TensorProto(nullptr, from) {}
1598   inline TensorProto(TensorProto&& from) noexcept
1599       : TensorProto(nullptr, std::move(from)) {}
1600   inline TensorProto& operator=(const TensorProto& from) {
1601     CopyFrom(from);
1602     return *this;
1603   }
1604   inline TensorProto& operator=(TensorProto&& from) noexcept {
1605     if (this == &from) return *this;
1606     if (GetArena() == from.GetArena()
1607 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1608         && GetArena() != nullptr
1609 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1610     ) {
1611       InternalSwap(&from);
1612     } else {
1613       CopyFrom(from);
1614     }
1615     return *this;
1616   }
1617 
1618   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1619       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1620     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1621   }
1622   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1623       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1624     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1625   }
1626 
1627   static const ::google::protobuf::Descriptor* descriptor() {
1628     return GetDescriptor();
1629   }
1630   static const ::google::protobuf::Descriptor* GetDescriptor() {
1631     return default_instance().GetMetadata().descriptor;
1632   }
1633   static const ::google::protobuf::Reflection* GetReflection() {
1634     return default_instance().GetMetadata().reflection;
1635   }
1636   static const TensorProto& default_instance() {
1637     return *internal_default_instance();
1638   }
1639   static inline const TensorProto* internal_default_instance() {
1640     return reinterpret_cast<const TensorProto*>(
1641         &_TensorProto_default_instance_);
1642   }
1643   static constexpr int kIndexInFileMessages = 9;
1644   friend void swap(TensorProto& a, TensorProto& b) { a.Swap(&b); }
1645   inline void Swap(TensorProto* other) {
1646     if (other == this) return;
1647 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1648     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1649 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1650     if (GetArena() == other->GetArena()) {
1651 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1652       InternalSwap(other);
1653     } else {
1654       ::google::protobuf::internal::GenericSwap(this, other);
1655     }
1656   }
1657   void UnsafeArenaSwap(TensorProto* other) {
1658     if (other == this) return;
1659     ABSL_DCHECK(GetArena() == other->GetArena());
1660     InternalSwap(other);
1661   }
1662 
1663   // implements Message ----------------------------------------------
1664 
1665   TensorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1666     return ::google::protobuf::Message::DefaultConstruct<TensorProto>(arena);
1667   }
1668   using ::google::protobuf::Message::CopyFrom;
1669   void CopyFrom(const TensorProto& from);
1670   using ::google::protobuf::Message::MergeFrom;
1671   void MergeFrom(const TensorProto& from) { TensorProto::MergeImpl(*this, from); }
1672 
1673   private:
1674   static void MergeImpl(
1675       ::google::protobuf::MessageLite& to_msg,
1676       const ::google::protobuf::MessageLite& from_msg);
1677 
1678   public:
1679   bool IsInitialized() const {
1680     return true;
1681   }
1682   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1683   #if defined(PROTOBUF_CUSTOM_VTABLE)
1684   private:
1685   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1686   static ::uint8_t* _InternalSerialize(
1687       const MessageLite& msg, ::uint8_t* target,
1688       ::google::protobuf::io::EpsCopyOutputStream* stream);
1689 
1690   public:
1691   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1692   ::uint8_t* _InternalSerialize(
1693       ::uint8_t* target,
1694       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1695     return _InternalSerialize(*this, target, stream);
1696   }
1697   #else   // PROTOBUF_CUSTOM_VTABLE
1698   ::size_t ByteSizeLong() const final;
1699   ::uint8_t* _InternalSerialize(
1700       ::uint8_t* target,
1701       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1702   #endif  // PROTOBUF_CUSTOM_VTABLE
1703   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1704 
1705   private:
1706   void SharedCtor(::google::protobuf::Arena* arena);
1707   void SharedDtor();
1708   void InternalSwap(TensorProto* other);
1709  private:
1710   friend class ::google::protobuf::internal::AnyMetadata;
1711   static ::absl::string_view FullMessageName() { return "onnx.TensorProto"; }
1712 
1713  protected:
1714   explicit TensorProto(::google::protobuf::Arena* arena);
1715   TensorProto(::google::protobuf::Arena* arena, const TensorProto& from);
1716   TensorProto(::google::protobuf::Arena* arena, TensorProto&& from) noexcept
1717       : TensorProto(arena) {
1718     *this = ::std::move(from);
1719   }
1720   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1721   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1722 
1723  public:
1724   ::google::protobuf::Metadata GetMetadata() const;
1725   // nested types ----------------------------------------------------
1726   using Segment = TensorProto_Segment;
1727   using DataType = TensorProto_DataType;
1728   static constexpr DataType UNDEFINED = TensorProto_DataType_UNDEFINED;
1729   static constexpr DataType FLOAT = TensorProto_DataType_FLOAT;
1730   static constexpr DataType UINT8 = TensorProto_DataType_UINT8;
1731   static constexpr DataType INT8 = TensorProto_DataType_INT8;
1732   static constexpr DataType UINT16 = TensorProto_DataType_UINT16;
1733   static constexpr DataType INT16 = TensorProto_DataType_INT16;
1734   static constexpr DataType INT32 = TensorProto_DataType_INT32;
1735   static constexpr DataType INT64 = TensorProto_DataType_INT64;
1736   static constexpr DataType STRING = TensorProto_DataType_STRING;
1737   static constexpr DataType BOOL = TensorProto_DataType_BOOL;
1738   static constexpr DataType FLOAT16 = TensorProto_DataType_FLOAT16;
1739   static constexpr DataType DOUBLE = TensorProto_DataType_DOUBLE;
1740   static constexpr DataType UINT32 = TensorProto_DataType_UINT32;
1741   static constexpr DataType UINT64 = TensorProto_DataType_UINT64;
1742   static constexpr DataType COMPLEX64 = TensorProto_DataType_COMPLEX64;
1743   static constexpr DataType COMPLEX128 = TensorProto_DataType_COMPLEX128;
1744   static constexpr DataType BFLOAT16 = TensorProto_DataType_BFLOAT16;
1745   static constexpr DataType FLOAT8E4M3FN = TensorProto_DataType_FLOAT8E4M3FN;
1746   static constexpr DataType FLOAT8E4M3FNUZ = TensorProto_DataType_FLOAT8E4M3FNUZ;
1747   static constexpr DataType FLOAT8E5M2 = TensorProto_DataType_FLOAT8E5M2;
1748   static constexpr DataType FLOAT8E5M2FNUZ = TensorProto_DataType_FLOAT8E5M2FNUZ;
1749   static inline bool DataType_IsValid(int value) {
1750     return TensorProto_DataType_IsValid(value);
1751   }
1752   static constexpr DataType DataType_MIN = TensorProto_DataType_DataType_MIN;
1753   static constexpr DataType DataType_MAX = TensorProto_DataType_DataType_MAX;
1754   static constexpr int DataType_ARRAYSIZE = TensorProto_DataType_DataType_ARRAYSIZE;
1755   static inline const ::google::protobuf::EnumDescriptor* DataType_descriptor() {
1756     return TensorProto_DataType_descriptor();
1757   }
1758   template <typename T>
1759   static inline const std::string& DataType_Name(T value) {
1760     return TensorProto_DataType_Name(value);
1761   }
1762   static inline bool DataType_Parse(absl::string_view name, DataType* value) {
1763     return TensorProto_DataType_Parse(name, value);
1764   }
1765   using DataLocation = TensorProto_DataLocation;
1766   static constexpr DataLocation DEFAULT = TensorProto_DataLocation_DEFAULT;
1767   static constexpr DataLocation EXTERNAL = TensorProto_DataLocation_EXTERNAL;
1768   static inline bool DataLocation_IsValid(int value) {
1769     return TensorProto_DataLocation_IsValid(value);
1770   }
1771   static constexpr DataLocation DataLocation_MIN = TensorProto_DataLocation_DataLocation_MIN;
1772   static constexpr DataLocation DataLocation_MAX = TensorProto_DataLocation_DataLocation_MAX;
1773   static constexpr int DataLocation_ARRAYSIZE = TensorProto_DataLocation_DataLocation_ARRAYSIZE;
1774   static inline const ::google::protobuf::EnumDescriptor* DataLocation_descriptor() {
1775     return TensorProto_DataLocation_descriptor();
1776   }
1777   template <typename T>
1778   static inline const std::string& DataLocation_Name(T value) {
1779     return TensorProto_DataLocation_Name(value);
1780   }
1781   static inline bool DataLocation_Parse(absl::string_view name, DataLocation* value) {
1782     return TensorProto_DataLocation_Parse(name, value);
1783   }
1784 
1785   // accessors -------------------------------------------------------
1786   enum : int {
1787     kDimsFieldNumber = 1,
1788     kFloatDataFieldNumber = 4,
1789     kInt32DataFieldNumber = 5,
1790     kStringDataFieldNumber = 6,
1791     kInt64DataFieldNumber = 7,
1792     kDoubleDataFieldNumber = 10,
1793     kUint64DataFieldNumber = 11,
1794     kExternalDataFieldNumber = 13,
1795     kNameFieldNumber = 8,
1796     kRawDataFieldNumber = 9,
1797     kDocStringFieldNumber = 12,
1798     kSegmentFieldNumber = 3,
1799     kDataTypeFieldNumber = 2,
1800     kDataLocationFieldNumber = 14,
1801   };
1802   // repeated int64 dims = 1;
1803   int dims_size() const;
1804   private:
1805   int _internal_dims_size() const;
1806 
1807   public:
1808   void clear_dims() ;
1809   ::int64_t dims(int index) const;
1810   void set_dims(int index, ::int64_t value);
1811   void add_dims(::int64_t value);
1812   const ::google::protobuf::RepeatedField<::int64_t>& dims() const;
1813   ::google::protobuf::RepeatedField<::int64_t>* mutable_dims();
1814 
1815   private:
1816   const ::google::protobuf::RepeatedField<::int64_t>& _internal_dims() const;
1817   ::google::protobuf::RepeatedField<::int64_t>* _internal_mutable_dims();
1818 
1819   public:
1820   // repeated float float_data = 4 [packed = true];
1821   int float_data_size() const;
1822   private:
1823   int _internal_float_data_size() const;
1824 
1825   public:
1826   void clear_float_data() ;
1827   float float_data(int index) const;
1828   void set_float_data(int index, float value);
1829   void add_float_data(float value);
1830   const ::google::protobuf::RepeatedField<float>& float_data() const;
1831   ::google::protobuf::RepeatedField<float>* mutable_float_data();
1832 
1833   private:
1834   const ::google::protobuf::RepeatedField<float>& _internal_float_data() const;
1835   ::google::protobuf::RepeatedField<float>* _internal_mutable_float_data();
1836 
1837   public:
1838   // repeated int32 int32_data = 5 [packed = true];
1839   int int32_data_size() const;
1840   private:
1841   int _internal_int32_data_size() const;
1842 
1843   public:
1844   void clear_int32_data() ;
1845   ::int32_t int32_data(int index) const;
1846   void set_int32_data(int index, ::int32_t value);
1847   void add_int32_data(::int32_t value);
1848   const ::google::protobuf::RepeatedField<::int32_t>& int32_data() const;
1849   ::google::protobuf::RepeatedField<::int32_t>* mutable_int32_data();
1850 
1851   private:
1852   const ::google::protobuf::RepeatedField<::int32_t>& _internal_int32_data() const;
1853   ::google::protobuf::RepeatedField<::int32_t>* _internal_mutable_int32_data();
1854 
1855   public:
1856   // repeated bytes string_data = 6;
1857   int string_data_size() const;
1858   private:
1859   int _internal_string_data_size() const;
1860 
1861   public:
1862   void clear_string_data() ;
1863   const std::string& string_data(int index) const;
1864   std::string* mutable_string_data(int index);
1865   template <typename Arg_ = const std::string&, typename... Args_>
1866   void set_string_data(int index, Arg_&& value, Args_... args);
1867   std::string* add_string_data();
1868   template <typename Arg_ = const std::string&, typename... Args_>
1869   void add_string_data(Arg_&& value, Args_... args);
1870   const ::google::protobuf::RepeatedPtrField<std::string>& string_data() const;
1871   ::google::protobuf::RepeatedPtrField<std::string>* mutable_string_data();
1872 
1873   private:
1874   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_string_data() const;
1875   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_string_data();
1876 
1877   public:
1878   // repeated int64 int64_data = 7 [packed = true];
1879   int int64_data_size() const;
1880   private:
1881   int _internal_int64_data_size() const;
1882 
1883   public:
1884   void clear_int64_data() ;
1885   ::int64_t int64_data(int index) const;
1886   void set_int64_data(int index, ::int64_t value);
1887   void add_int64_data(::int64_t value);
1888   const ::google::protobuf::RepeatedField<::int64_t>& int64_data() const;
1889   ::google::protobuf::RepeatedField<::int64_t>* mutable_int64_data();
1890 
1891   private:
1892   const ::google::protobuf::RepeatedField<::int64_t>& _internal_int64_data() const;
1893   ::google::protobuf::RepeatedField<::int64_t>* _internal_mutable_int64_data();
1894 
1895   public:
1896   // repeated double double_data = 10 [packed = true];
1897   int double_data_size() const;
1898   private:
1899   int _internal_double_data_size() const;
1900 
1901   public:
1902   void clear_double_data() ;
1903   double double_data(int index) const;
1904   void set_double_data(int index, double value);
1905   void add_double_data(double value);
1906   const ::google::protobuf::RepeatedField<double>& double_data() const;
1907   ::google::protobuf::RepeatedField<double>* mutable_double_data();
1908 
1909   private:
1910   const ::google::protobuf::RepeatedField<double>& _internal_double_data() const;
1911   ::google::protobuf::RepeatedField<double>* _internal_mutable_double_data();
1912 
1913   public:
1914   // repeated uint64 uint64_data = 11 [packed = true];
1915   int uint64_data_size() const;
1916   private:
1917   int _internal_uint64_data_size() const;
1918 
1919   public:
1920   void clear_uint64_data() ;
1921   ::uint64_t uint64_data(int index) const;
1922   void set_uint64_data(int index, ::uint64_t value);
1923   void add_uint64_data(::uint64_t value);
1924   const ::google::protobuf::RepeatedField<::uint64_t>& uint64_data() const;
1925   ::google::protobuf::RepeatedField<::uint64_t>* mutable_uint64_data();
1926 
1927   private:
1928   const ::google::protobuf::RepeatedField<::uint64_t>& _internal_uint64_data() const;
1929   ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_uint64_data();
1930 
1931   public:
1932   // repeated .onnx.StringStringEntryProto external_data = 13;
1933   int external_data_size() const;
1934   private:
1935   int _internal_external_data_size() const;
1936 
1937   public:
1938   void clear_external_data() ;
1939   ::onnx::StringStringEntryProto* mutable_external_data(int index);
1940   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* mutable_external_data();
1941 
1942   private:
1943   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& _internal_external_data() const;
1944   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* _internal_mutable_external_data();
1945   public:
1946   const ::onnx::StringStringEntryProto& external_data(int index) const;
1947   ::onnx::StringStringEntryProto* add_external_data();
1948   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& external_data() const;
1949   // optional string name = 8;
1950   bool has_name() const;
1951   void clear_name() ;
1952   const std::string& name() const;
1953   template <typename Arg_ = const std::string&, typename... Args_>
1954   void set_name(Arg_&& arg, Args_... args);
1955   std::string* mutable_name();
1956   PROTOBUF_NODISCARD std::string* release_name();
1957   void set_allocated_name(std::string* value);
1958 
1959   private:
1960   const std::string& _internal_name() const;
1961   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
1962       const std::string& value);
1963   std::string* _internal_mutable_name();
1964 
1965   public:
1966   // optional bytes raw_data = 9;
1967   bool has_raw_data() const;
1968   void clear_raw_data() ;
1969   const std::string& raw_data() const;
1970   template <typename Arg_ = const std::string&, typename... Args_>
1971   void set_raw_data(Arg_&& arg, Args_... args);
1972   std::string* mutable_raw_data();
1973   PROTOBUF_NODISCARD std::string* release_raw_data();
1974   void set_allocated_raw_data(std::string* value);
1975 
1976   private:
1977   const std::string& _internal_raw_data() const;
1978   inline PROTOBUF_ALWAYS_INLINE void _internal_set_raw_data(
1979       const std::string& value);
1980   std::string* _internal_mutable_raw_data();
1981 
1982   public:
1983   // optional string doc_string = 12;
1984   bool has_doc_string() const;
1985   void clear_doc_string() ;
1986   const std::string& doc_string() const;
1987   template <typename Arg_ = const std::string&, typename... Args_>
1988   void set_doc_string(Arg_&& arg, Args_... args);
1989   std::string* mutable_doc_string();
1990   PROTOBUF_NODISCARD std::string* release_doc_string();
1991   void set_allocated_doc_string(std::string* value);
1992 
1993   private:
1994   const std::string& _internal_doc_string() const;
1995   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
1996       const std::string& value);
1997   std::string* _internal_mutable_doc_string();
1998 
1999   public:
2000   // optional .onnx.TensorProto.Segment segment = 3;
2001   bool has_segment() const;
2002   void clear_segment() ;
2003   const ::onnx::TensorProto_Segment& segment() const;
2004   PROTOBUF_NODISCARD ::onnx::TensorProto_Segment* release_segment();
2005   ::onnx::TensorProto_Segment* mutable_segment();
2006   void set_allocated_segment(::onnx::TensorProto_Segment* value);
2007   void unsafe_arena_set_allocated_segment(::onnx::TensorProto_Segment* value);
2008   ::onnx::TensorProto_Segment* unsafe_arena_release_segment();
2009 
2010   private:
2011   const ::onnx::TensorProto_Segment& _internal_segment() const;
2012   ::onnx::TensorProto_Segment* _internal_mutable_segment();
2013 
2014   public:
2015   // optional int32 data_type = 2;
2016   bool has_data_type() const;
2017   void clear_data_type() ;
2018   ::int32_t data_type() const;
2019   void set_data_type(::int32_t value);
2020 
2021   private:
2022   ::int32_t _internal_data_type() const;
2023   void _internal_set_data_type(::int32_t value);
2024 
2025   public:
2026   // optional .onnx.TensorProto.DataLocation data_location = 14;
2027   bool has_data_location() const;
2028   void clear_data_location() ;
2029   ::onnx::TensorProto_DataLocation data_location() const;
2030   void set_data_location(::onnx::TensorProto_DataLocation value);
2031 
2032   private:
2033   ::onnx::TensorProto_DataLocation _internal_data_location() const;
2034   void _internal_set_data_location(::onnx::TensorProto_DataLocation value);
2035 
2036   public:
2037   // @@protoc_insertion_point(class_scope:onnx.TensorProto)
2038  private:
2039   class _Internal;
2040   friend class ::google::protobuf::internal::TcParser;
2041   static const ::google::protobuf::internal::TcParseTable<
2042       4, 14, 3,
2043       47, 2>
2044       _table_;
2045 
2046 
2047   friend class ::google::protobuf::MessageLite;
2048   friend class ::google::protobuf::Arena;
2049   template <typename T>
2050   friend class ::google::protobuf::Arena::InternalHelper;
2051   using InternalArenaConstructable_ = void;
2052   using DestructorSkippable_ = void;
2053   struct Impl_ {
2054     inline explicit constexpr Impl_(
2055         ::google::protobuf::internal::ConstantInitialized) noexcept;
2056     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2057                           ::google::protobuf::Arena* arena);
2058     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2059                           ::google::protobuf::Arena* arena, const Impl_& from,
2060                           const TensorProto& from_msg);
2061     ::google::protobuf::internal::HasBits<1> _has_bits_;
2062     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2063     ::google::protobuf::RepeatedField<::int64_t> dims_;
2064     ::google::protobuf::RepeatedField<float> float_data_;
2065     ::google::protobuf::RepeatedField<::int32_t> int32_data_;
2066     mutable ::google::protobuf::internal::CachedSize _int32_data_cached_byte_size_;
2067     ::google::protobuf::RepeatedPtrField<std::string> string_data_;
2068     ::google::protobuf::RepeatedField<::int64_t> int64_data_;
2069     mutable ::google::protobuf::internal::CachedSize _int64_data_cached_byte_size_;
2070     ::google::protobuf::RepeatedField<double> double_data_;
2071     ::google::protobuf::RepeatedField<::uint64_t> uint64_data_;
2072     mutable ::google::protobuf::internal::CachedSize _uint64_data_cached_byte_size_;
2073     ::google::protobuf::RepeatedPtrField< ::onnx::StringStringEntryProto > external_data_;
2074     ::google::protobuf::internal::ArenaStringPtr name_;
2075     ::google::protobuf::internal::ArenaStringPtr raw_data_;
2076     ::google::protobuf::internal::ArenaStringPtr doc_string_;
2077     ::onnx::TensorProto_Segment* segment_;
2078     ::int32_t data_type_;
2079     int data_location_;
2080     PROTOBUF_TSAN_DECLARE_MEMBER
2081   };
2082   union { Impl_ _impl_; };
2083   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
2084 };
2085 // -------------------------------------------------------------------
2086 
2087 class ONNX_API TensorAnnotation final : public ::google::protobuf::Message
2088 /* @@protoc_insertion_point(class_definition:onnx.TensorAnnotation) */ {
2089  public:
2090   inline TensorAnnotation() : TensorAnnotation(nullptr) {}
2091   ~TensorAnnotation() PROTOBUF_FINAL;
2092   template <typename = void>
2093   explicit PROTOBUF_CONSTEXPR TensorAnnotation(
2094       ::google::protobuf::internal::ConstantInitialized);
2095 
2096   inline TensorAnnotation(const TensorAnnotation& from) : TensorAnnotation(nullptr, from) {}
2097   inline TensorAnnotation(TensorAnnotation&& from) noexcept
2098       : TensorAnnotation(nullptr, std::move(from)) {}
2099   inline TensorAnnotation& operator=(const TensorAnnotation& from) {
2100     CopyFrom(from);
2101     return *this;
2102   }
2103   inline TensorAnnotation& operator=(TensorAnnotation&& from) noexcept {
2104     if (this == &from) return *this;
2105     if (GetArena() == from.GetArena()
2106 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2107         && GetArena() != nullptr
2108 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2109     ) {
2110       InternalSwap(&from);
2111     } else {
2112       CopyFrom(from);
2113     }
2114     return *this;
2115   }
2116 
2117   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2118       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2119     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2120   }
2121   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2122       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2123     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2124   }
2125 
2126   static const ::google::protobuf::Descriptor* descriptor() {
2127     return GetDescriptor();
2128   }
2129   static const ::google::protobuf::Descriptor* GetDescriptor() {
2130     return default_instance().GetMetadata().descriptor;
2131   }
2132   static const ::google::protobuf::Reflection* GetReflection() {
2133     return default_instance().GetMetadata().reflection;
2134   }
2135   static const TensorAnnotation& default_instance() {
2136     return *internal_default_instance();
2137   }
2138   static inline const TensorAnnotation* internal_default_instance() {
2139     return reinterpret_cast<const TensorAnnotation*>(
2140         &_TensorAnnotation_default_instance_);
2141   }
2142   static constexpr int kIndexInFileMessages = 6;
2143   friend void swap(TensorAnnotation& a, TensorAnnotation& b) { a.Swap(&b); }
2144   inline void Swap(TensorAnnotation* other) {
2145     if (other == this) return;
2146 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2147     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2148 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2149     if (GetArena() == other->GetArena()) {
2150 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2151       InternalSwap(other);
2152     } else {
2153       ::google::protobuf::internal::GenericSwap(this, other);
2154     }
2155   }
2156   void UnsafeArenaSwap(TensorAnnotation* other) {
2157     if (other == this) return;
2158     ABSL_DCHECK(GetArena() == other->GetArena());
2159     InternalSwap(other);
2160   }
2161 
2162   // implements Message ----------------------------------------------
2163 
2164   TensorAnnotation* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2165     return ::google::protobuf::Message::DefaultConstruct<TensorAnnotation>(arena);
2166   }
2167   using ::google::protobuf::Message::CopyFrom;
2168   void CopyFrom(const TensorAnnotation& from);
2169   using ::google::protobuf::Message::MergeFrom;
2170   void MergeFrom(const TensorAnnotation& from) { TensorAnnotation::MergeImpl(*this, from); }
2171 
2172   private:
2173   static void MergeImpl(
2174       ::google::protobuf::MessageLite& to_msg,
2175       const ::google::protobuf::MessageLite& from_msg);
2176 
2177   public:
2178   bool IsInitialized() const {
2179     return true;
2180   }
2181   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2182   #if defined(PROTOBUF_CUSTOM_VTABLE)
2183   private:
2184   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2185   static ::uint8_t* _InternalSerialize(
2186       const MessageLite& msg, ::uint8_t* target,
2187       ::google::protobuf::io::EpsCopyOutputStream* stream);
2188 
2189   public:
2190   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2191   ::uint8_t* _InternalSerialize(
2192       ::uint8_t* target,
2193       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2194     return _InternalSerialize(*this, target, stream);
2195   }
2196   #else   // PROTOBUF_CUSTOM_VTABLE
2197   ::size_t ByteSizeLong() const final;
2198   ::uint8_t* _InternalSerialize(
2199       ::uint8_t* target,
2200       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2201   #endif  // PROTOBUF_CUSTOM_VTABLE
2202   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2203 
2204   private:
2205   void SharedCtor(::google::protobuf::Arena* arena);
2206   void SharedDtor();
2207   void InternalSwap(TensorAnnotation* other);
2208  private:
2209   friend class ::google::protobuf::internal::AnyMetadata;
2210   static ::absl::string_view FullMessageName() { return "onnx.TensorAnnotation"; }
2211 
2212  protected:
2213   explicit TensorAnnotation(::google::protobuf::Arena* arena);
2214   TensorAnnotation(::google::protobuf::Arena* arena, const TensorAnnotation& from);
2215   TensorAnnotation(::google::protobuf::Arena* arena, TensorAnnotation&& from) noexcept
2216       : TensorAnnotation(arena) {
2217     *this = ::std::move(from);
2218   }
2219   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2220   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2221 
2222  public:
2223   ::google::protobuf::Metadata GetMetadata() const;
2224   // nested types ----------------------------------------------------
2225 
2226   // accessors -------------------------------------------------------
2227   enum : int {
2228     kQuantParameterTensorNamesFieldNumber = 2,
2229     kTensorNameFieldNumber = 1,
2230   };
2231   // repeated .onnx.StringStringEntryProto quant_parameter_tensor_names = 2;
2232   int quant_parameter_tensor_names_size() const;
2233   private:
2234   int _internal_quant_parameter_tensor_names_size() const;
2235 
2236   public:
2237   void clear_quant_parameter_tensor_names() ;
2238   ::onnx::StringStringEntryProto* mutable_quant_parameter_tensor_names(int index);
2239   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* mutable_quant_parameter_tensor_names();
2240 
2241   private:
2242   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& _internal_quant_parameter_tensor_names() const;
2243   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* _internal_mutable_quant_parameter_tensor_names();
2244   public:
2245   const ::onnx::StringStringEntryProto& quant_parameter_tensor_names(int index) const;
2246   ::onnx::StringStringEntryProto* add_quant_parameter_tensor_names();
2247   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& quant_parameter_tensor_names() const;
2248   // optional string tensor_name = 1;
2249   bool has_tensor_name() const;
2250   void clear_tensor_name() ;
2251   const std::string& tensor_name() const;
2252   template <typename Arg_ = const std::string&, typename... Args_>
2253   void set_tensor_name(Arg_&& arg, Args_... args);
2254   std::string* mutable_tensor_name();
2255   PROTOBUF_NODISCARD std::string* release_tensor_name();
2256   void set_allocated_tensor_name(std::string* value);
2257 
2258   private:
2259   const std::string& _internal_tensor_name() const;
2260   inline PROTOBUF_ALWAYS_INLINE void _internal_set_tensor_name(
2261       const std::string& value);
2262   std::string* _internal_mutable_tensor_name();
2263 
2264   public:
2265   // @@protoc_insertion_point(class_scope:onnx.TensorAnnotation)
2266  private:
2267   class _Internal;
2268   friend class ::google::protobuf::internal::TcParser;
2269   static const ::google::protobuf::internal::TcParseTable<
2270       1, 2, 1,
2271       41, 2>
2272       _table_;
2273 
2274 
2275   friend class ::google::protobuf::MessageLite;
2276   friend class ::google::protobuf::Arena;
2277   template <typename T>
2278   friend class ::google::protobuf::Arena::InternalHelper;
2279   using InternalArenaConstructable_ = void;
2280   using DestructorSkippable_ = void;
2281   struct Impl_ {
2282     inline explicit constexpr Impl_(
2283         ::google::protobuf::internal::ConstantInitialized) noexcept;
2284     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2285                           ::google::protobuf::Arena* arena);
2286     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2287                           ::google::protobuf::Arena* arena, const Impl_& from,
2288                           const TensorAnnotation& from_msg);
2289     ::google::protobuf::internal::HasBits<1> _has_bits_;
2290     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2291     ::google::protobuf::RepeatedPtrField< ::onnx::StringStringEntryProto > quant_parameter_tensor_names_;
2292     ::google::protobuf::internal::ArenaStringPtr tensor_name_;
2293     PROTOBUF_TSAN_DECLARE_MEMBER
2294   };
2295   union { Impl_ _impl_; };
2296   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
2297 };
2298 // -------------------------------------------------------------------
2299 
2300 class ONNX_API TypeProto_Tensor final : public ::google::protobuf::Message
2301 /* @@protoc_insertion_point(class_definition:onnx.TypeProto.Tensor) */ {
2302  public:
2303   inline TypeProto_Tensor() : TypeProto_Tensor(nullptr) {}
2304   ~TypeProto_Tensor() PROTOBUF_FINAL;
2305   template <typename = void>
2306   explicit PROTOBUF_CONSTEXPR TypeProto_Tensor(
2307       ::google::protobuf::internal::ConstantInitialized);
2308 
2309   inline TypeProto_Tensor(const TypeProto_Tensor& from) : TypeProto_Tensor(nullptr, from) {}
2310   inline TypeProto_Tensor(TypeProto_Tensor&& from) noexcept
2311       : TypeProto_Tensor(nullptr, std::move(from)) {}
2312   inline TypeProto_Tensor& operator=(const TypeProto_Tensor& from) {
2313     CopyFrom(from);
2314     return *this;
2315   }
2316   inline TypeProto_Tensor& operator=(TypeProto_Tensor&& from) noexcept {
2317     if (this == &from) return *this;
2318     if (GetArena() == from.GetArena()
2319 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2320         && GetArena() != nullptr
2321 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2322     ) {
2323       InternalSwap(&from);
2324     } else {
2325       CopyFrom(from);
2326     }
2327     return *this;
2328   }
2329 
2330   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2331       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2332     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2333   }
2334   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2335       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2336     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2337   }
2338 
2339   static const ::google::protobuf::Descriptor* descriptor() {
2340     return GetDescriptor();
2341   }
2342   static const ::google::protobuf::Descriptor* GetDescriptor() {
2343     return default_instance().GetMetadata().descriptor;
2344   }
2345   static const ::google::protobuf::Reflection* GetReflection() {
2346     return default_instance().GetMetadata().reflection;
2347   }
2348   static const TypeProto_Tensor& default_instance() {
2349     return *internal_default_instance();
2350   }
2351   static inline const TypeProto_Tensor* internal_default_instance() {
2352     return reinterpret_cast<const TypeProto_Tensor*>(
2353         &_TypeProto_Tensor_default_instance_);
2354   }
2355   static constexpr int kIndexInFileMessages = 13;
2356   friend void swap(TypeProto_Tensor& a, TypeProto_Tensor& b) { a.Swap(&b); }
2357   inline void Swap(TypeProto_Tensor* other) {
2358     if (other == this) return;
2359 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2360     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2361 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2362     if (GetArena() == other->GetArena()) {
2363 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2364       InternalSwap(other);
2365     } else {
2366       ::google::protobuf::internal::GenericSwap(this, other);
2367     }
2368   }
2369   void UnsafeArenaSwap(TypeProto_Tensor* other) {
2370     if (other == this) return;
2371     ABSL_DCHECK(GetArena() == other->GetArena());
2372     InternalSwap(other);
2373   }
2374 
2375   // implements Message ----------------------------------------------
2376 
2377   TypeProto_Tensor* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2378     return ::google::protobuf::Message::DefaultConstruct<TypeProto_Tensor>(arena);
2379   }
2380   using ::google::protobuf::Message::CopyFrom;
2381   void CopyFrom(const TypeProto_Tensor& from);
2382   using ::google::protobuf::Message::MergeFrom;
2383   void MergeFrom(const TypeProto_Tensor& from) { TypeProto_Tensor::MergeImpl(*this, from); }
2384 
2385   private:
2386   static void MergeImpl(
2387       ::google::protobuf::MessageLite& to_msg,
2388       const ::google::protobuf::MessageLite& from_msg);
2389 
2390   public:
2391   bool IsInitialized() const {
2392     return true;
2393   }
2394   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2395   #if defined(PROTOBUF_CUSTOM_VTABLE)
2396   private:
2397   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2398   static ::uint8_t* _InternalSerialize(
2399       const MessageLite& msg, ::uint8_t* target,
2400       ::google::protobuf::io::EpsCopyOutputStream* stream);
2401 
2402   public:
2403   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2404   ::uint8_t* _InternalSerialize(
2405       ::uint8_t* target,
2406       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2407     return _InternalSerialize(*this, target, stream);
2408   }
2409   #else   // PROTOBUF_CUSTOM_VTABLE
2410   ::size_t ByteSizeLong() const final;
2411   ::uint8_t* _InternalSerialize(
2412       ::uint8_t* target,
2413       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2414   #endif  // PROTOBUF_CUSTOM_VTABLE
2415   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2416 
2417   private:
2418   void SharedCtor(::google::protobuf::Arena* arena);
2419   void SharedDtor();
2420   void InternalSwap(TypeProto_Tensor* other);
2421  private:
2422   friend class ::google::protobuf::internal::AnyMetadata;
2423   static ::absl::string_view FullMessageName() { return "onnx.TypeProto.Tensor"; }
2424 
2425  protected:
2426   explicit TypeProto_Tensor(::google::protobuf::Arena* arena);
2427   TypeProto_Tensor(::google::protobuf::Arena* arena, const TypeProto_Tensor& from);
2428   TypeProto_Tensor(::google::protobuf::Arena* arena, TypeProto_Tensor&& from) noexcept
2429       : TypeProto_Tensor(arena) {
2430     *this = ::std::move(from);
2431   }
2432   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2433   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2434 
2435  public:
2436   ::google::protobuf::Metadata GetMetadata() const;
2437   // nested types ----------------------------------------------------
2438 
2439   // accessors -------------------------------------------------------
2440   enum : int {
2441     kShapeFieldNumber = 2,
2442     kElemTypeFieldNumber = 1,
2443   };
2444   // optional .onnx.TensorShapeProto shape = 2;
2445   bool has_shape() const;
2446   void clear_shape() ;
2447   const ::onnx::TensorShapeProto& shape() const;
2448   PROTOBUF_NODISCARD ::onnx::TensorShapeProto* release_shape();
2449   ::onnx::TensorShapeProto* mutable_shape();
2450   void set_allocated_shape(::onnx::TensorShapeProto* value);
2451   void unsafe_arena_set_allocated_shape(::onnx::TensorShapeProto* value);
2452   ::onnx::TensorShapeProto* unsafe_arena_release_shape();
2453 
2454   private:
2455   const ::onnx::TensorShapeProto& _internal_shape() const;
2456   ::onnx::TensorShapeProto* _internal_mutable_shape();
2457 
2458   public:
2459   // optional int32 elem_type = 1;
2460   bool has_elem_type() const;
2461   void clear_elem_type() ;
2462   ::int32_t elem_type() const;
2463   void set_elem_type(::int32_t value);
2464 
2465   private:
2466   ::int32_t _internal_elem_type() const;
2467   void _internal_set_elem_type(::int32_t value);
2468 
2469   public:
2470   // @@protoc_insertion_point(class_scope:onnx.TypeProto.Tensor)
2471  private:
2472   class _Internal;
2473   friend class ::google::protobuf::internal::TcParser;
2474   static const ::google::protobuf::internal::TcParseTable<
2475       1, 2, 1,
2476       0, 2>
2477       _table_;
2478 
2479 
2480   friend class ::google::protobuf::MessageLite;
2481   friend class ::google::protobuf::Arena;
2482   template <typename T>
2483   friend class ::google::protobuf::Arena::InternalHelper;
2484   using InternalArenaConstructable_ = void;
2485   using DestructorSkippable_ = void;
2486   struct Impl_ {
2487     inline explicit constexpr Impl_(
2488         ::google::protobuf::internal::ConstantInitialized) noexcept;
2489     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2490                           ::google::protobuf::Arena* arena);
2491     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2492                           ::google::protobuf::Arena* arena, const Impl_& from,
2493                           const TypeProto_Tensor& from_msg);
2494     ::google::protobuf::internal::HasBits<1> _has_bits_;
2495     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2496     ::onnx::TensorShapeProto* shape_;
2497     ::int32_t elem_type_;
2498     PROTOBUF_TSAN_DECLARE_MEMBER
2499   };
2500   union { Impl_ _impl_; };
2501   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
2502 };
2503 // -------------------------------------------------------------------
2504 
2505 class ONNX_API TypeProto_SparseTensor final : public ::google::protobuf::Message
2506 /* @@protoc_insertion_point(class_definition:onnx.TypeProto.SparseTensor) */ {
2507  public:
2508   inline TypeProto_SparseTensor() : TypeProto_SparseTensor(nullptr) {}
2509   ~TypeProto_SparseTensor() PROTOBUF_FINAL;
2510   template <typename = void>
2511   explicit PROTOBUF_CONSTEXPR TypeProto_SparseTensor(
2512       ::google::protobuf::internal::ConstantInitialized);
2513 
2514   inline TypeProto_SparseTensor(const TypeProto_SparseTensor& from) : TypeProto_SparseTensor(nullptr, from) {}
2515   inline TypeProto_SparseTensor(TypeProto_SparseTensor&& from) noexcept
2516       : TypeProto_SparseTensor(nullptr, std::move(from)) {}
2517   inline TypeProto_SparseTensor& operator=(const TypeProto_SparseTensor& from) {
2518     CopyFrom(from);
2519     return *this;
2520   }
2521   inline TypeProto_SparseTensor& operator=(TypeProto_SparseTensor&& from) noexcept {
2522     if (this == &from) return *this;
2523     if (GetArena() == from.GetArena()
2524 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2525         && GetArena() != nullptr
2526 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2527     ) {
2528       InternalSwap(&from);
2529     } else {
2530       CopyFrom(from);
2531     }
2532     return *this;
2533   }
2534 
2535   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2536       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2537     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2538   }
2539   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2540       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2541     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2542   }
2543 
2544   static const ::google::protobuf::Descriptor* descriptor() {
2545     return GetDescriptor();
2546   }
2547   static const ::google::protobuf::Descriptor* GetDescriptor() {
2548     return default_instance().GetMetadata().descriptor;
2549   }
2550   static const ::google::protobuf::Reflection* GetReflection() {
2551     return default_instance().GetMetadata().reflection;
2552   }
2553   static const TypeProto_SparseTensor& default_instance() {
2554     return *internal_default_instance();
2555   }
2556   static inline const TypeProto_SparseTensor* internal_default_instance() {
2557     return reinterpret_cast<const TypeProto_SparseTensor*>(
2558         &_TypeProto_SparseTensor_default_instance_);
2559   }
2560   static constexpr int kIndexInFileMessages = 17;
2561   friend void swap(TypeProto_SparseTensor& a, TypeProto_SparseTensor& b) { a.Swap(&b); }
2562   inline void Swap(TypeProto_SparseTensor* other) {
2563     if (other == this) return;
2564 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2565     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2566 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2567     if (GetArena() == other->GetArena()) {
2568 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2569       InternalSwap(other);
2570     } else {
2571       ::google::protobuf::internal::GenericSwap(this, other);
2572     }
2573   }
2574   void UnsafeArenaSwap(TypeProto_SparseTensor* other) {
2575     if (other == this) return;
2576     ABSL_DCHECK(GetArena() == other->GetArena());
2577     InternalSwap(other);
2578   }
2579 
2580   // implements Message ----------------------------------------------
2581 
2582   TypeProto_SparseTensor* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2583     return ::google::protobuf::Message::DefaultConstruct<TypeProto_SparseTensor>(arena);
2584   }
2585   using ::google::protobuf::Message::CopyFrom;
2586   void CopyFrom(const TypeProto_SparseTensor& from);
2587   using ::google::protobuf::Message::MergeFrom;
2588   void MergeFrom(const TypeProto_SparseTensor& from) { TypeProto_SparseTensor::MergeImpl(*this, from); }
2589 
2590   private:
2591   static void MergeImpl(
2592       ::google::protobuf::MessageLite& to_msg,
2593       const ::google::protobuf::MessageLite& from_msg);
2594 
2595   public:
2596   bool IsInitialized() const {
2597     return true;
2598   }
2599   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2600   #if defined(PROTOBUF_CUSTOM_VTABLE)
2601   private:
2602   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2603   static ::uint8_t* _InternalSerialize(
2604       const MessageLite& msg, ::uint8_t* target,
2605       ::google::protobuf::io::EpsCopyOutputStream* stream);
2606 
2607   public:
2608   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2609   ::uint8_t* _InternalSerialize(
2610       ::uint8_t* target,
2611       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2612     return _InternalSerialize(*this, target, stream);
2613   }
2614   #else   // PROTOBUF_CUSTOM_VTABLE
2615   ::size_t ByteSizeLong() const final;
2616   ::uint8_t* _InternalSerialize(
2617       ::uint8_t* target,
2618       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2619   #endif  // PROTOBUF_CUSTOM_VTABLE
2620   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2621 
2622   private:
2623   void SharedCtor(::google::protobuf::Arena* arena);
2624   void SharedDtor();
2625   void InternalSwap(TypeProto_SparseTensor* other);
2626  private:
2627   friend class ::google::protobuf::internal::AnyMetadata;
2628   static ::absl::string_view FullMessageName() { return "onnx.TypeProto.SparseTensor"; }
2629 
2630  protected:
2631   explicit TypeProto_SparseTensor(::google::protobuf::Arena* arena);
2632   TypeProto_SparseTensor(::google::protobuf::Arena* arena, const TypeProto_SparseTensor& from);
2633   TypeProto_SparseTensor(::google::protobuf::Arena* arena, TypeProto_SparseTensor&& from) noexcept
2634       : TypeProto_SparseTensor(arena) {
2635     *this = ::std::move(from);
2636   }
2637   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2638   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2639 
2640  public:
2641   ::google::protobuf::Metadata GetMetadata() const;
2642   // nested types ----------------------------------------------------
2643 
2644   // accessors -------------------------------------------------------
2645   enum : int {
2646     kShapeFieldNumber = 2,
2647     kElemTypeFieldNumber = 1,
2648   };
2649   // optional .onnx.TensorShapeProto shape = 2;
2650   bool has_shape() const;
2651   void clear_shape() ;
2652   const ::onnx::TensorShapeProto& shape() const;
2653   PROTOBUF_NODISCARD ::onnx::TensorShapeProto* release_shape();
2654   ::onnx::TensorShapeProto* mutable_shape();
2655   void set_allocated_shape(::onnx::TensorShapeProto* value);
2656   void unsafe_arena_set_allocated_shape(::onnx::TensorShapeProto* value);
2657   ::onnx::TensorShapeProto* unsafe_arena_release_shape();
2658 
2659   private:
2660   const ::onnx::TensorShapeProto& _internal_shape() const;
2661   ::onnx::TensorShapeProto* _internal_mutable_shape();
2662 
2663   public:
2664   // optional int32 elem_type = 1;
2665   bool has_elem_type() const;
2666   void clear_elem_type() ;
2667   ::int32_t elem_type() const;
2668   void set_elem_type(::int32_t value);
2669 
2670   private:
2671   ::int32_t _internal_elem_type() const;
2672   void _internal_set_elem_type(::int32_t value);
2673 
2674   public:
2675   // @@protoc_insertion_point(class_scope:onnx.TypeProto.SparseTensor)
2676  private:
2677   class _Internal;
2678   friend class ::google::protobuf::internal::TcParser;
2679   static const ::google::protobuf::internal::TcParseTable<
2680       1, 2, 1,
2681       0, 2>
2682       _table_;
2683 
2684 
2685   friend class ::google::protobuf::MessageLite;
2686   friend class ::google::protobuf::Arena;
2687   template <typename T>
2688   friend class ::google::protobuf::Arena::InternalHelper;
2689   using InternalArenaConstructable_ = void;
2690   using DestructorSkippable_ = void;
2691   struct Impl_ {
2692     inline explicit constexpr Impl_(
2693         ::google::protobuf::internal::ConstantInitialized) noexcept;
2694     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2695                           ::google::protobuf::Arena* arena);
2696     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2697                           ::google::protobuf::Arena* arena, const Impl_& from,
2698                           const TypeProto_SparseTensor& from_msg);
2699     ::google::protobuf::internal::HasBits<1> _has_bits_;
2700     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2701     ::onnx::TensorShapeProto* shape_;
2702     ::int32_t elem_type_;
2703     PROTOBUF_TSAN_DECLARE_MEMBER
2704   };
2705   union { Impl_ _impl_; };
2706   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
2707 };
2708 // -------------------------------------------------------------------
2709 
2710 class ONNX_API SparseTensorProto final : public ::google::protobuf::Message
2711 /* @@protoc_insertion_point(class_definition:onnx.SparseTensorProto) */ {
2712  public:
2713   inline SparseTensorProto() : SparseTensorProto(nullptr) {}
2714   ~SparseTensorProto() PROTOBUF_FINAL;
2715   template <typename = void>
2716   explicit PROTOBUF_CONSTEXPR SparseTensorProto(
2717       ::google::protobuf::internal::ConstantInitialized);
2718 
2719   inline SparseTensorProto(const SparseTensorProto& from) : SparseTensorProto(nullptr, from) {}
2720   inline SparseTensorProto(SparseTensorProto&& from) noexcept
2721       : SparseTensorProto(nullptr, std::move(from)) {}
2722   inline SparseTensorProto& operator=(const SparseTensorProto& from) {
2723     CopyFrom(from);
2724     return *this;
2725   }
2726   inline SparseTensorProto& operator=(SparseTensorProto&& from) noexcept {
2727     if (this == &from) return *this;
2728     if (GetArena() == from.GetArena()
2729 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2730         && GetArena() != nullptr
2731 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2732     ) {
2733       InternalSwap(&from);
2734     } else {
2735       CopyFrom(from);
2736     }
2737     return *this;
2738   }
2739 
2740   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2741       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2742     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2743   }
2744   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2745       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2746     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2747   }
2748 
2749   static const ::google::protobuf::Descriptor* descriptor() {
2750     return GetDescriptor();
2751   }
2752   static const ::google::protobuf::Descriptor* GetDescriptor() {
2753     return default_instance().GetMetadata().descriptor;
2754   }
2755   static const ::google::protobuf::Reflection* GetReflection() {
2756     return default_instance().GetMetadata().reflection;
2757   }
2758   static const SparseTensorProto& default_instance() {
2759     return *internal_default_instance();
2760   }
2761   static inline const SparseTensorProto* internal_default_instance() {
2762     return reinterpret_cast<const SparseTensorProto*>(
2763         &_SparseTensorProto_default_instance_);
2764   }
2765   static constexpr int kIndexInFileMessages = 10;
2766   friend void swap(SparseTensorProto& a, SparseTensorProto& b) { a.Swap(&b); }
2767   inline void Swap(SparseTensorProto* other) {
2768     if (other == this) return;
2769 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2770     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2771 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2772     if (GetArena() == other->GetArena()) {
2773 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2774       InternalSwap(other);
2775     } else {
2776       ::google::protobuf::internal::GenericSwap(this, other);
2777     }
2778   }
2779   void UnsafeArenaSwap(SparseTensorProto* other) {
2780     if (other == this) return;
2781     ABSL_DCHECK(GetArena() == other->GetArena());
2782     InternalSwap(other);
2783   }
2784 
2785   // implements Message ----------------------------------------------
2786 
2787   SparseTensorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2788     return ::google::protobuf::Message::DefaultConstruct<SparseTensorProto>(arena);
2789   }
2790   using ::google::protobuf::Message::CopyFrom;
2791   void CopyFrom(const SparseTensorProto& from);
2792   using ::google::protobuf::Message::MergeFrom;
2793   void MergeFrom(const SparseTensorProto& from) { SparseTensorProto::MergeImpl(*this, from); }
2794 
2795   private:
2796   static void MergeImpl(
2797       ::google::protobuf::MessageLite& to_msg,
2798       const ::google::protobuf::MessageLite& from_msg);
2799 
2800   public:
2801   bool IsInitialized() const {
2802     return true;
2803   }
2804   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2805   #if defined(PROTOBUF_CUSTOM_VTABLE)
2806   private:
2807   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2808   static ::uint8_t* _InternalSerialize(
2809       const MessageLite& msg, ::uint8_t* target,
2810       ::google::protobuf::io::EpsCopyOutputStream* stream);
2811 
2812   public:
2813   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2814   ::uint8_t* _InternalSerialize(
2815       ::uint8_t* target,
2816       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2817     return _InternalSerialize(*this, target, stream);
2818   }
2819   #else   // PROTOBUF_CUSTOM_VTABLE
2820   ::size_t ByteSizeLong() const final;
2821   ::uint8_t* _InternalSerialize(
2822       ::uint8_t* target,
2823       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2824   #endif  // PROTOBUF_CUSTOM_VTABLE
2825   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2826 
2827   private:
2828   void SharedCtor(::google::protobuf::Arena* arena);
2829   void SharedDtor();
2830   void InternalSwap(SparseTensorProto* other);
2831  private:
2832   friend class ::google::protobuf::internal::AnyMetadata;
2833   static ::absl::string_view FullMessageName() { return "onnx.SparseTensorProto"; }
2834 
2835  protected:
2836   explicit SparseTensorProto(::google::protobuf::Arena* arena);
2837   SparseTensorProto(::google::protobuf::Arena* arena, const SparseTensorProto& from);
2838   SparseTensorProto(::google::protobuf::Arena* arena, SparseTensorProto&& from) noexcept
2839       : SparseTensorProto(arena) {
2840     *this = ::std::move(from);
2841   }
2842   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2843   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2844 
2845  public:
2846   ::google::protobuf::Metadata GetMetadata() const;
2847   // nested types ----------------------------------------------------
2848 
2849   // accessors -------------------------------------------------------
2850   enum : int {
2851     kDimsFieldNumber = 3,
2852     kValuesFieldNumber = 1,
2853     kIndicesFieldNumber = 2,
2854   };
2855   // repeated int64 dims = 3;
2856   int dims_size() const;
2857   private:
2858   int _internal_dims_size() const;
2859 
2860   public:
2861   void clear_dims() ;
2862   ::int64_t dims(int index) const;
2863   void set_dims(int index, ::int64_t value);
2864   void add_dims(::int64_t value);
2865   const ::google::protobuf::RepeatedField<::int64_t>& dims() const;
2866   ::google::protobuf::RepeatedField<::int64_t>* mutable_dims();
2867 
2868   private:
2869   const ::google::protobuf::RepeatedField<::int64_t>& _internal_dims() const;
2870   ::google::protobuf::RepeatedField<::int64_t>* _internal_mutable_dims();
2871 
2872   public:
2873   // optional .onnx.TensorProto values = 1;
2874   bool has_values() const;
2875   void clear_values() ;
2876   const ::onnx::TensorProto& values() const;
2877   PROTOBUF_NODISCARD ::onnx::TensorProto* release_values();
2878   ::onnx::TensorProto* mutable_values();
2879   void set_allocated_values(::onnx::TensorProto* value);
2880   void unsafe_arena_set_allocated_values(::onnx::TensorProto* value);
2881   ::onnx::TensorProto* unsafe_arena_release_values();
2882 
2883   private:
2884   const ::onnx::TensorProto& _internal_values() const;
2885   ::onnx::TensorProto* _internal_mutable_values();
2886 
2887   public:
2888   // optional .onnx.TensorProto indices = 2;
2889   bool has_indices() const;
2890   void clear_indices() ;
2891   const ::onnx::TensorProto& indices() const;
2892   PROTOBUF_NODISCARD ::onnx::TensorProto* release_indices();
2893   ::onnx::TensorProto* mutable_indices();
2894   void set_allocated_indices(::onnx::TensorProto* value);
2895   void unsafe_arena_set_allocated_indices(::onnx::TensorProto* value);
2896   ::onnx::TensorProto* unsafe_arena_release_indices();
2897 
2898   private:
2899   const ::onnx::TensorProto& _internal_indices() const;
2900   ::onnx::TensorProto* _internal_mutable_indices();
2901 
2902   public:
2903   // @@protoc_insertion_point(class_scope:onnx.SparseTensorProto)
2904  private:
2905   class _Internal;
2906   friend class ::google::protobuf::internal::TcParser;
2907   static const ::google::protobuf::internal::TcParseTable<
2908       2, 3, 2,
2909       0, 2>
2910       _table_;
2911 
2912 
2913   friend class ::google::protobuf::MessageLite;
2914   friend class ::google::protobuf::Arena;
2915   template <typename T>
2916   friend class ::google::protobuf::Arena::InternalHelper;
2917   using InternalArenaConstructable_ = void;
2918   using DestructorSkippable_ = void;
2919   struct Impl_ {
2920     inline explicit constexpr Impl_(
2921         ::google::protobuf::internal::ConstantInitialized) noexcept;
2922     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2923                           ::google::protobuf::Arena* arena);
2924     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2925                           ::google::protobuf::Arena* arena, const Impl_& from,
2926                           const SparseTensorProto& from_msg);
2927     ::google::protobuf::internal::HasBits<1> _has_bits_;
2928     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2929     ::google::protobuf::RepeatedField<::int64_t> dims_;
2930     ::onnx::TensorProto* values_;
2931     ::onnx::TensorProto* indices_;
2932     PROTOBUF_TSAN_DECLARE_MEMBER
2933   };
2934   union { Impl_ _impl_; };
2935   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
2936 };
2937 // -------------------------------------------------------------------
2938 
2939 class ONNX_API TypeProto final : public ::google::protobuf::Message
2940 /* @@protoc_insertion_point(class_definition:onnx.TypeProto) */ {
2941  public:
2942   inline TypeProto() : TypeProto(nullptr) {}
2943   ~TypeProto() PROTOBUF_FINAL;
2944   template <typename = void>
2945   explicit PROTOBUF_CONSTEXPR TypeProto(
2946       ::google::protobuf::internal::ConstantInitialized);
2947 
2948   inline TypeProto(const TypeProto& from) : TypeProto(nullptr, from) {}
2949   inline TypeProto(TypeProto&& from) noexcept
2950       : TypeProto(nullptr, std::move(from)) {}
2951   inline TypeProto& operator=(const TypeProto& from) {
2952     CopyFrom(from);
2953     return *this;
2954   }
2955   inline TypeProto& operator=(TypeProto&& from) noexcept {
2956     if (this == &from) return *this;
2957     if (GetArena() == from.GetArena()
2958 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2959         && GetArena() != nullptr
2960 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2961     ) {
2962       InternalSwap(&from);
2963     } else {
2964       CopyFrom(from);
2965     }
2966     return *this;
2967   }
2968 
2969   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2970       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2971     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2972   }
2973   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2974       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2975     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2976   }
2977 
2978   static const ::google::protobuf::Descriptor* descriptor() {
2979     return GetDescriptor();
2980   }
2981   static const ::google::protobuf::Descriptor* GetDescriptor() {
2982     return default_instance().GetMetadata().descriptor;
2983   }
2984   static const ::google::protobuf::Reflection* GetReflection() {
2985     return default_instance().GetMetadata().reflection;
2986   }
2987   static const TypeProto& default_instance() {
2988     return *internal_default_instance();
2989   }
2990   enum ValueCase {
2991     kTensorType = 1,
2992     kSequenceType = 4,
2993     kMapType = 5,
2994     kOptionalType = 9,
2995     kSparseTensorType = 8,
2996     kOpaqueType = 7,
2997     VALUE_NOT_SET = 0,
2998   };
2999   static inline const TypeProto* internal_default_instance() {
3000     return reinterpret_cast<const TypeProto*>(
3001         &_TypeProto_default_instance_);
3002   }
3003   static constexpr int kIndexInFileMessages = 19;
3004   friend void swap(TypeProto& a, TypeProto& b) { a.Swap(&b); }
3005   inline void Swap(TypeProto* other) {
3006     if (other == this) return;
3007 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3008     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3009 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3010     if (GetArena() == other->GetArena()) {
3011 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3012       InternalSwap(other);
3013     } else {
3014       ::google::protobuf::internal::GenericSwap(this, other);
3015     }
3016   }
3017   void UnsafeArenaSwap(TypeProto* other) {
3018     if (other == this) return;
3019     ABSL_DCHECK(GetArena() == other->GetArena());
3020     InternalSwap(other);
3021   }
3022 
3023   // implements Message ----------------------------------------------
3024 
3025   TypeProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3026     return ::google::protobuf::Message::DefaultConstruct<TypeProto>(arena);
3027   }
3028   using ::google::protobuf::Message::CopyFrom;
3029   void CopyFrom(const TypeProto& from);
3030   using ::google::protobuf::Message::MergeFrom;
3031   void MergeFrom(const TypeProto& from) { TypeProto::MergeImpl(*this, from); }
3032 
3033   private:
3034   static void MergeImpl(
3035       ::google::protobuf::MessageLite& to_msg,
3036       const ::google::protobuf::MessageLite& from_msg);
3037 
3038   public:
3039   bool IsInitialized() const {
3040     return true;
3041   }
3042   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3043   #if defined(PROTOBUF_CUSTOM_VTABLE)
3044   private:
3045   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3046   static ::uint8_t* _InternalSerialize(
3047       const MessageLite& msg, ::uint8_t* target,
3048       ::google::protobuf::io::EpsCopyOutputStream* stream);
3049 
3050   public:
3051   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3052   ::uint8_t* _InternalSerialize(
3053       ::uint8_t* target,
3054       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3055     return _InternalSerialize(*this, target, stream);
3056   }
3057   #else   // PROTOBUF_CUSTOM_VTABLE
3058   ::size_t ByteSizeLong() const final;
3059   ::uint8_t* _InternalSerialize(
3060       ::uint8_t* target,
3061       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3062   #endif  // PROTOBUF_CUSTOM_VTABLE
3063   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3064 
3065   private:
3066   void SharedCtor(::google::protobuf::Arena* arena);
3067   void SharedDtor();
3068   void InternalSwap(TypeProto* other);
3069  private:
3070   friend class ::google::protobuf::internal::AnyMetadata;
3071   static ::absl::string_view FullMessageName() { return "onnx.TypeProto"; }
3072 
3073  protected:
3074   explicit TypeProto(::google::protobuf::Arena* arena);
3075   TypeProto(::google::protobuf::Arena* arena, const TypeProto& from);
3076   TypeProto(::google::protobuf::Arena* arena, TypeProto&& from) noexcept
3077       : TypeProto(arena) {
3078     *this = ::std::move(from);
3079   }
3080   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3081   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3082 
3083  public:
3084   ::google::protobuf::Metadata GetMetadata() const;
3085   // nested types ----------------------------------------------------
3086   using Tensor = TypeProto_Tensor;
3087   using Sequence = TypeProto_Sequence;
3088   using Map = TypeProto_Map;
3089   using Optional = TypeProto_Optional;
3090   using SparseTensor = TypeProto_SparseTensor;
3091   using Opaque = TypeProto_Opaque;
3092 
3093   // accessors -------------------------------------------------------
3094   enum : int {
3095     kDenotationFieldNumber = 6,
3096     kTensorTypeFieldNumber = 1,
3097     kSequenceTypeFieldNumber = 4,
3098     kMapTypeFieldNumber = 5,
3099     kOptionalTypeFieldNumber = 9,
3100     kSparseTensorTypeFieldNumber = 8,
3101     kOpaqueTypeFieldNumber = 7,
3102   };
3103   // optional string denotation = 6;
3104   bool has_denotation() const;
3105   void clear_denotation() ;
3106   const std::string& denotation() const;
3107   template <typename Arg_ = const std::string&, typename... Args_>
3108   void set_denotation(Arg_&& arg, Args_... args);
3109   std::string* mutable_denotation();
3110   PROTOBUF_NODISCARD std::string* release_denotation();
3111   void set_allocated_denotation(std::string* value);
3112 
3113   private:
3114   const std::string& _internal_denotation() const;
3115   inline PROTOBUF_ALWAYS_INLINE void _internal_set_denotation(
3116       const std::string& value);
3117   std::string* _internal_mutable_denotation();
3118 
3119   public:
3120   // .onnx.TypeProto.Tensor tensor_type = 1;
3121   bool has_tensor_type() const;
3122   private:
3123   bool _internal_has_tensor_type() const;
3124 
3125   public:
3126   void clear_tensor_type() ;
3127   const ::onnx::TypeProto_Tensor& tensor_type() const;
3128   PROTOBUF_NODISCARD ::onnx::TypeProto_Tensor* release_tensor_type();
3129   ::onnx::TypeProto_Tensor* mutable_tensor_type();
3130   void set_allocated_tensor_type(::onnx::TypeProto_Tensor* value);
3131   void unsafe_arena_set_allocated_tensor_type(::onnx::TypeProto_Tensor* value);
3132   ::onnx::TypeProto_Tensor* unsafe_arena_release_tensor_type();
3133 
3134   private:
3135   const ::onnx::TypeProto_Tensor& _internal_tensor_type() const;
3136   ::onnx::TypeProto_Tensor* _internal_mutable_tensor_type();
3137 
3138   public:
3139   // .onnx.TypeProto.Sequence sequence_type = 4;
3140   bool has_sequence_type() const;
3141   private:
3142   bool _internal_has_sequence_type() const;
3143 
3144   public:
3145   void clear_sequence_type() ;
3146   const ::onnx::TypeProto_Sequence& sequence_type() const;
3147   PROTOBUF_NODISCARD ::onnx::TypeProto_Sequence* release_sequence_type();
3148   ::onnx::TypeProto_Sequence* mutable_sequence_type();
3149   void set_allocated_sequence_type(::onnx::TypeProto_Sequence* value);
3150   void unsafe_arena_set_allocated_sequence_type(::onnx::TypeProto_Sequence* value);
3151   ::onnx::TypeProto_Sequence* unsafe_arena_release_sequence_type();
3152 
3153   private:
3154   const ::onnx::TypeProto_Sequence& _internal_sequence_type() const;
3155   ::onnx::TypeProto_Sequence* _internal_mutable_sequence_type();
3156 
3157   public:
3158   // .onnx.TypeProto.Map map_type = 5;
3159   bool has_map_type() const;
3160   private:
3161   bool _internal_has_map_type() const;
3162 
3163   public:
3164   void clear_map_type() ;
3165   const ::onnx::TypeProto_Map& map_type() const;
3166   PROTOBUF_NODISCARD ::onnx::TypeProto_Map* release_map_type();
3167   ::onnx::TypeProto_Map* mutable_map_type();
3168   void set_allocated_map_type(::onnx::TypeProto_Map* value);
3169   void unsafe_arena_set_allocated_map_type(::onnx::TypeProto_Map* value);
3170   ::onnx::TypeProto_Map* unsafe_arena_release_map_type();
3171 
3172   private:
3173   const ::onnx::TypeProto_Map& _internal_map_type() const;
3174   ::onnx::TypeProto_Map* _internal_mutable_map_type();
3175 
3176   public:
3177   // .onnx.TypeProto.Optional optional_type = 9;
3178   bool has_optional_type() const;
3179   private:
3180   bool _internal_has_optional_type() const;
3181 
3182   public:
3183   void clear_optional_type() ;
3184   const ::onnx::TypeProto_Optional& optional_type() const;
3185   PROTOBUF_NODISCARD ::onnx::TypeProto_Optional* release_optional_type();
3186   ::onnx::TypeProto_Optional* mutable_optional_type();
3187   void set_allocated_optional_type(::onnx::TypeProto_Optional* value);
3188   void unsafe_arena_set_allocated_optional_type(::onnx::TypeProto_Optional* value);
3189   ::onnx::TypeProto_Optional* unsafe_arena_release_optional_type();
3190 
3191   private:
3192   const ::onnx::TypeProto_Optional& _internal_optional_type() const;
3193   ::onnx::TypeProto_Optional* _internal_mutable_optional_type();
3194 
3195   public:
3196   // .onnx.TypeProto.SparseTensor sparse_tensor_type = 8;
3197   bool has_sparse_tensor_type() const;
3198   private:
3199   bool _internal_has_sparse_tensor_type() const;
3200 
3201   public:
3202   void clear_sparse_tensor_type() ;
3203   const ::onnx::TypeProto_SparseTensor& sparse_tensor_type() const;
3204   PROTOBUF_NODISCARD ::onnx::TypeProto_SparseTensor* release_sparse_tensor_type();
3205   ::onnx::TypeProto_SparseTensor* mutable_sparse_tensor_type();
3206   void set_allocated_sparse_tensor_type(::onnx::TypeProto_SparseTensor* value);
3207   void unsafe_arena_set_allocated_sparse_tensor_type(::onnx::TypeProto_SparseTensor* value);
3208   ::onnx::TypeProto_SparseTensor* unsafe_arena_release_sparse_tensor_type();
3209 
3210   private:
3211   const ::onnx::TypeProto_SparseTensor& _internal_sparse_tensor_type() const;
3212   ::onnx::TypeProto_SparseTensor* _internal_mutable_sparse_tensor_type();
3213 
3214   public:
3215   // .onnx.TypeProto.Opaque opaque_type = 7;
3216   bool has_opaque_type() const;
3217   private:
3218   bool _internal_has_opaque_type() const;
3219 
3220   public:
3221   void clear_opaque_type() ;
3222   const ::onnx::TypeProto_Opaque& opaque_type() const;
3223   PROTOBUF_NODISCARD ::onnx::TypeProto_Opaque* release_opaque_type();
3224   ::onnx::TypeProto_Opaque* mutable_opaque_type();
3225   void set_allocated_opaque_type(::onnx::TypeProto_Opaque* value);
3226   void unsafe_arena_set_allocated_opaque_type(::onnx::TypeProto_Opaque* value);
3227   ::onnx::TypeProto_Opaque* unsafe_arena_release_opaque_type();
3228 
3229   private:
3230   const ::onnx::TypeProto_Opaque& _internal_opaque_type() const;
3231   ::onnx::TypeProto_Opaque* _internal_mutable_opaque_type();
3232 
3233   public:
3234   void clear_value();
3235   ValueCase value_case() const;
3236   // @@protoc_insertion_point(class_scope:onnx.TypeProto)
3237  private:
3238   class _Internal;
3239   void set_has_tensor_type();
3240   void set_has_sequence_type();
3241   void set_has_map_type();
3242   void set_has_optional_type();
3243   void set_has_sparse_tensor_type();
3244   void set_has_opaque_type();
3245   inline bool has_value() const;
3246   inline void clear_has_value();
3247   friend class ::google::protobuf::internal::TcParser;
3248   static const ::google::protobuf::internal::TcParseTable<
3249       0, 7, 6,
3250       33, 2>
3251       _table_;
3252 
3253 
3254   friend class ::google::protobuf::MessageLite;
3255   friend class ::google::protobuf::Arena;
3256   template <typename T>
3257   friend class ::google::protobuf::Arena::InternalHelper;
3258   using InternalArenaConstructable_ = void;
3259   using DestructorSkippable_ = void;
3260   struct Impl_ {
3261     inline explicit constexpr Impl_(
3262         ::google::protobuf::internal::ConstantInitialized) noexcept;
3263     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3264                           ::google::protobuf::Arena* arena);
3265     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3266                           ::google::protobuf::Arena* arena, const Impl_& from,
3267                           const TypeProto& from_msg);
3268     ::google::protobuf::internal::HasBits<1> _has_bits_;
3269     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3270     ::google::protobuf::internal::ArenaStringPtr denotation_;
3271     union ValueUnion {
3272       constexpr ValueUnion() : _constinit_{} {}
3273       ::google::protobuf::internal::ConstantInitialized _constinit_;
3274       ::onnx::TypeProto_Tensor* tensor_type_;
3275       ::onnx::TypeProto_Sequence* sequence_type_;
3276       ::onnx::TypeProto_Map* map_type_;
3277       ::onnx::TypeProto_Optional* optional_type_;
3278       ::onnx::TypeProto_SparseTensor* sparse_tensor_type_;
3279       ::onnx::TypeProto_Opaque* opaque_type_;
3280     } value_;
3281     ::uint32_t _oneof_case_[1];
3282     PROTOBUF_TSAN_DECLARE_MEMBER
3283   };
3284   union { Impl_ _impl_; };
3285   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
3286 };
3287 // -------------------------------------------------------------------
3288 
3289 class ONNX_API TypeProto_Map final : public ::google::protobuf::Message
3290 /* @@protoc_insertion_point(class_definition:onnx.TypeProto.Map) */ {
3291  public:
3292   inline TypeProto_Map() : TypeProto_Map(nullptr) {}
3293   ~TypeProto_Map() PROTOBUF_FINAL;
3294   template <typename = void>
3295   explicit PROTOBUF_CONSTEXPR TypeProto_Map(
3296       ::google::protobuf::internal::ConstantInitialized);
3297 
3298   inline TypeProto_Map(const TypeProto_Map& from) : TypeProto_Map(nullptr, from) {}
3299   inline TypeProto_Map(TypeProto_Map&& from) noexcept
3300       : TypeProto_Map(nullptr, std::move(from)) {}
3301   inline TypeProto_Map& operator=(const TypeProto_Map& from) {
3302     CopyFrom(from);
3303     return *this;
3304   }
3305   inline TypeProto_Map& operator=(TypeProto_Map&& from) noexcept {
3306     if (this == &from) return *this;
3307     if (GetArena() == from.GetArena()
3308 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3309         && GetArena() != nullptr
3310 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3311     ) {
3312       InternalSwap(&from);
3313     } else {
3314       CopyFrom(from);
3315     }
3316     return *this;
3317   }
3318 
3319   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3320       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3321     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3322   }
3323   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3324       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3325     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3326   }
3327 
3328   static const ::google::protobuf::Descriptor* descriptor() {
3329     return GetDescriptor();
3330   }
3331   static const ::google::protobuf::Descriptor* GetDescriptor() {
3332     return default_instance().GetMetadata().descriptor;
3333   }
3334   static const ::google::protobuf::Reflection* GetReflection() {
3335     return default_instance().GetMetadata().reflection;
3336   }
3337   static const TypeProto_Map& default_instance() {
3338     return *internal_default_instance();
3339   }
3340   static inline const TypeProto_Map* internal_default_instance() {
3341     return reinterpret_cast<const TypeProto_Map*>(
3342         &_TypeProto_Map_default_instance_);
3343   }
3344   static constexpr int kIndexInFileMessages = 15;
3345   friend void swap(TypeProto_Map& a, TypeProto_Map& b) { a.Swap(&b); }
3346   inline void Swap(TypeProto_Map* other) {
3347     if (other == this) return;
3348 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3349     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3350 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3351     if (GetArena() == other->GetArena()) {
3352 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3353       InternalSwap(other);
3354     } else {
3355       ::google::protobuf::internal::GenericSwap(this, other);
3356     }
3357   }
3358   void UnsafeArenaSwap(TypeProto_Map* other) {
3359     if (other == this) return;
3360     ABSL_DCHECK(GetArena() == other->GetArena());
3361     InternalSwap(other);
3362   }
3363 
3364   // implements Message ----------------------------------------------
3365 
3366   TypeProto_Map* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3367     return ::google::protobuf::Message::DefaultConstruct<TypeProto_Map>(arena);
3368   }
3369   using ::google::protobuf::Message::CopyFrom;
3370   void CopyFrom(const TypeProto_Map& from);
3371   using ::google::protobuf::Message::MergeFrom;
3372   void MergeFrom(const TypeProto_Map& from) { TypeProto_Map::MergeImpl(*this, from); }
3373 
3374   private:
3375   static void MergeImpl(
3376       ::google::protobuf::MessageLite& to_msg,
3377       const ::google::protobuf::MessageLite& from_msg);
3378 
3379   public:
3380   bool IsInitialized() const {
3381     return true;
3382   }
3383   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3384   #if defined(PROTOBUF_CUSTOM_VTABLE)
3385   private:
3386   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3387   static ::uint8_t* _InternalSerialize(
3388       const MessageLite& msg, ::uint8_t* target,
3389       ::google::protobuf::io::EpsCopyOutputStream* stream);
3390 
3391   public:
3392   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3393   ::uint8_t* _InternalSerialize(
3394       ::uint8_t* target,
3395       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3396     return _InternalSerialize(*this, target, stream);
3397   }
3398   #else   // PROTOBUF_CUSTOM_VTABLE
3399   ::size_t ByteSizeLong() const final;
3400   ::uint8_t* _InternalSerialize(
3401       ::uint8_t* target,
3402       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3403   #endif  // PROTOBUF_CUSTOM_VTABLE
3404   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3405 
3406   private:
3407   void SharedCtor(::google::protobuf::Arena* arena);
3408   void SharedDtor();
3409   void InternalSwap(TypeProto_Map* other);
3410  private:
3411   friend class ::google::protobuf::internal::AnyMetadata;
3412   static ::absl::string_view FullMessageName() { return "onnx.TypeProto.Map"; }
3413 
3414  protected:
3415   explicit TypeProto_Map(::google::protobuf::Arena* arena);
3416   TypeProto_Map(::google::protobuf::Arena* arena, const TypeProto_Map& from);
3417   TypeProto_Map(::google::protobuf::Arena* arena, TypeProto_Map&& from) noexcept
3418       : TypeProto_Map(arena) {
3419     *this = ::std::move(from);
3420   }
3421   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3422   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3423 
3424  public:
3425   ::google::protobuf::Metadata GetMetadata() const;
3426   // nested types ----------------------------------------------------
3427 
3428   // accessors -------------------------------------------------------
3429   enum : int {
3430     kValueTypeFieldNumber = 2,
3431     kKeyTypeFieldNumber = 1,
3432   };
3433   // optional .onnx.TypeProto value_type = 2;
3434   bool has_value_type() const;
3435   void clear_value_type() ;
3436   const ::onnx::TypeProto& value_type() const;
3437   PROTOBUF_NODISCARD ::onnx::TypeProto* release_value_type();
3438   ::onnx::TypeProto* mutable_value_type();
3439   void set_allocated_value_type(::onnx::TypeProto* value);
3440   void unsafe_arena_set_allocated_value_type(::onnx::TypeProto* value);
3441   ::onnx::TypeProto* unsafe_arena_release_value_type();
3442 
3443   private:
3444   const ::onnx::TypeProto& _internal_value_type() const;
3445   ::onnx::TypeProto* _internal_mutable_value_type();
3446 
3447   public:
3448   // optional int32 key_type = 1;
3449   bool has_key_type() const;
3450   void clear_key_type() ;
3451   ::int32_t key_type() const;
3452   void set_key_type(::int32_t value);
3453 
3454   private:
3455   ::int32_t _internal_key_type() const;
3456   void _internal_set_key_type(::int32_t value);
3457 
3458   public:
3459   // @@protoc_insertion_point(class_scope:onnx.TypeProto.Map)
3460  private:
3461   class _Internal;
3462   friend class ::google::protobuf::internal::TcParser;
3463   static const ::google::protobuf::internal::TcParseTable<
3464       1, 2, 1,
3465       0, 2>
3466       _table_;
3467 
3468 
3469   friend class ::google::protobuf::MessageLite;
3470   friend class ::google::protobuf::Arena;
3471   template <typename T>
3472   friend class ::google::protobuf::Arena::InternalHelper;
3473   using InternalArenaConstructable_ = void;
3474   using DestructorSkippable_ = void;
3475   struct Impl_ {
3476     inline explicit constexpr Impl_(
3477         ::google::protobuf::internal::ConstantInitialized) noexcept;
3478     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3479                           ::google::protobuf::Arena* arena);
3480     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3481                           ::google::protobuf::Arena* arena, const Impl_& from,
3482                           const TypeProto_Map& from_msg);
3483     ::google::protobuf::internal::HasBits<1> _has_bits_;
3484     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3485     ::onnx::TypeProto* value_type_;
3486     ::int32_t key_type_;
3487     PROTOBUF_TSAN_DECLARE_MEMBER
3488   };
3489   union { Impl_ _impl_; };
3490   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
3491 };
3492 // -------------------------------------------------------------------
3493 
3494 class ONNX_API TypeProto_Optional final : public ::google::protobuf::Message
3495 /* @@protoc_insertion_point(class_definition:onnx.TypeProto.Optional) */ {
3496  public:
3497   inline TypeProto_Optional() : TypeProto_Optional(nullptr) {}
3498   ~TypeProto_Optional() PROTOBUF_FINAL;
3499   template <typename = void>
3500   explicit PROTOBUF_CONSTEXPR TypeProto_Optional(
3501       ::google::protobuf::internal::ConstantInitialized);
3502 
3503   inline TypeProto_Optional(const TypeProto_Optional& from) : TypeProto_Optional(nullptr, from) {}
3504   inline TypeProto_Optional(TypeProto_Optional&& from) noexcept
3505       : TypeProto_Optional(nullptr, std::move(from)) {}
3506   inline TypeProto_Optional& operator=(const TypeProto_Optional& from) {
3507     CopyFrom(from);
3508     return *this;
3509   }
3510   inline TypeProto_Optional& operator=(TypeProto_Optional&& from) noexcept {
3511     if (this == &from) return *this;
3512     if (GetArena() == from.GetArena()
3513 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3514         && GetArena() != nullptr
3515 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3516     ) {
3517       InternalSwap(&from);
3518     } else {
3519       CopyFrom(from);
3520     }
3521     return *this;
3522   }
3523 
3524   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3525       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3526     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3527   }
3528   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3529       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3530     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3531   }
3532 
3533   static const ::google::protobuf::Descriptor* descriptor() {
3534     return GetDescriptor();
3535   }
3536   static const ::google::protobuf::Descriptor* GetDescriptor() {
3537     return default_instance().GetMetadata().descriptor;
3538   }
3539   static const ::google::protobuf::Reflection* GetReflection() {
3540     return default_instance().GetMetadata().reflection;
3541   }
3542   static const TypeProto_Optional& default_instance() {
3543     return *internal_default_instance();
3544   }
3545   static inline const TypeProto_Optional* internal_default_instance() {
3546     return reinterpret_cast<const TypeProto_Optional*>(
3547         &_TypeProto_Optional_default_instance_);
3548   }
3549   static constexpr int kIndexInFileMessages = 16;
3550   friend void swap(TypeProto_Optional& a, TypeProto_Optional& b) { a.Swap(&b); }
3551   inline void Swap(TypeProto_Optional* other) {
3552     if (other == this) return;
3553 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3554     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3555 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3556     if (GetArena() == other->GetArena()) {
3557 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3558       InternalSwap(other);
3559     } else {
3560       ::google::protobuf::internal::GenericSwap(this, other);
3561     }
3562   }
3563   void UnsafeArenaSwap(TypeProto_Optional* other) {
3564     if (other == this) return;
3565     ABSL_DCHECK(GetArena() == other->GetArena());
3566     InternalSwap(other);
3567   }
3568 
3569   // implements Message ----------------------------------------------
3570 
3571   TypeProto_Optional* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3572     return ::google::protobuf::Message::DefaultConstruct<TypeProto_Optional>(arena);
3573   }
3574   using ::google::protobuf::Message::CopyFrom;
3575   void CopyFrom(const TypeProto_Optional& from);
3576   using ::google::protobuf::Message::MergeFrom;
3577   void MergeFrom(const TypeProto_Optional& from) { TypeProto_Optional::MergeImpl(*this, from); }
3578 
3579   private:
3580   static void MergeImpl(
3581       ::google::protobuf::MessageLite& to_msg,
3582       const ::google::protobuf::MessageLite& from_msg);
3583 
3584   public:
3585   bool IsInitialized() const {
3586     return true;
3587   }
3588   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3589   #if defined(PROTOBUF_CUSTOM_VTABLE)
3590   private:
3591   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3592   static ::uint8_t* _InternalSerialize(
3593       const MessageLite& msg, ::uint8_t* target,
3594       ::google::protobuf::io::EpsCopyOutputStream* stream);
3595 
3596   public:
3597   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3598   ::uint8_t* _InternalSerialize(
3599       ::uint8_t* target,
3600       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3601     return _InternalSerialize(*this, target, stream);
3602   }
3603   #else   // PROTOBUF_CUSTOM_VTABLE
3604   ::size_t ByteSizeLong() const final;
3605   ::uint8_t* _InternalSerialize(
3606       ::uint8_t* target,
3607       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3608   #endif  // PROTOBUF_CUSTOM_VTABLE
3609   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3610 
3611   private:
3612   void SharedCtor(::google::protobuf::Arena* arena);
3613   void SharedDtor();
3614   void InternalSwap(TypeProto_Optional* other);
3615  private:
3616   friend class ::google::protobuf::internal::AnyMetadata;
3617   static ::absl::string_view FullMessageName() { return "onnx.TypeProto.Optional"; }
3618 
3619  protected:
3620   explicit TypeProto_Optional(::google::protobuf::Arena* arena);
3621   TypeProto_Optional(::google::protobuf::Arena* arena, const TypeProto_Optional& from);
3622   TypeProto_Optional(::google::protobuf::Arena* arena, TypeProto_Optional&& from) noexcept
3623       : TypeProto_Optional(arena) {
3624     *this = ::std::move(from);
3625   }
3626   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3627   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3628 
3629  public:
3630   ::google::protobuf::Metadata GetMetadata() const;
3631   // nested types ----------------------------------------------------
3632 
3633   // accessors -------------------------------------------------------
3634   enum : int {
3635     kElemTypeFieldNumber = 1,
3636   };
3637   // optional .onnx.TypeProto elem_type = 1;
3638   bool has_elem_type() const;
3639   void clear_elem_type() ;
3640   const ::onnx::TypeProto& elem_type() const;
3641   PROTOBUF_NODISCARD ::onnx::TypeProto* release_elem_type();
3642   ::onnx::TypeProto* mutable_elem_type();
3643   void set_allocated_elem_type(::onnx::TypeProto* value);
3644   void unsafe_arena_set_allocated_elem_type(::onnx::TypeProto* value);
3645   ::onnx::TypeProto* unsafe_arena_release_elem_type();
3646 
3647   private:
3648   const ::onnx::TypeProto& _internal_elem_type() const;
3649   ::onnx::TypeProto* _internal_mutable_elem_type();
3650 
3651   public:
3652   // @@protoc_insertion_point(class_scope:onnx.TypeProto.Optional)
3653  private:
3654   class _Internal;
3655   friend class ::google::protobuf::internal::TcParser;
3656   static const ::google::protobuf::internal::TcParseTable<
3657       0, 1, 1,
3658       0, 2>
3659       _table_;
3660 
3661 
3662   friend class ::google::protobuf::MessageLite;
3663   friend class ::google::protobuf::Arena;
3664   template <typename T>
3665   friend class ::google::protobuf::Arena::InternalHelper;
3666   using InternalArenaConstructable_ = void;
3667   using DestructorSkippable_ = void;
3668   struct Impl_ {
3669     inline explicit constexpr Impl_(
3670         ::google::protobuf::internal::ConstantInitialized) noexcept;
3671     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3672                           ::google::protobuf::Arena* arena);
3673     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3674                           ::google::protobuf::Arena* arena, const Impl_& from,
3675                           const TypeProto_Optional& from_msg);
3676     ::google::protobuf::internal::HasBits<1> _has_bits_;
3677     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3678     ::onnx::TypeProto* elem_type_;
3679     PROTOBUF_TSAN_DECLARE_MEMBER
3680   };
3681   union { Impl_ _impl_; };
3682   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
3683 };
3684 // -------------------------------------------------------------------
3685 
3686 class ONNX_API TypeProto_Sequence final : public ::google::protobuf::Message
3687 /* @@protoc_insertion_point(class_definition:onnx.TypeProto.Sequence) */ {
3688  public:
3689   inline TypeProto_Sequence() : TypeProto_Sequence(nullptr) {}
3690   ~TypeProto_Sequence() PROTOBUF_FINAL;
3691   template <typename = void>
3692   explicit PROTOBUF_CONSTEXPR TypeProto_Sequence(
3693       ::google::protobuf::internal::ConstantInitialized);
3694 
3695   inline TypeProto_Sequence(const TypeProto_Sequence& from) : TypeProto_Sequence(nullptr, from) {}
3696   inline TypeProto_Sequence(TypeProto_Sequence&& from) noexcept
3697       : TypeProto_Sequence(nullptr, std::move(from)) {}
3698   inline TypeProto_Sequence& operator=(const TypeProto_Sequence& from) {
3699     CopyFrom(from);
3700     return *this;
3701   }
3702   inline TypeProto_Sequence& operator=(TypeProto_Sequence&& from) noexcept {
3703     if (this == &from) return *this;
3704     if (GetArena() == from.GetArena()
3705 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3706         && GetArena() != nullptr
3707 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3708     ) {
3709       InternalSwap(&from);
3710     } else {
3711       CopyFrom(from);
3712     }
3713     return *this;
3714   }
3715 
3716   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3717       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3718     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3719   }
3720   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3721       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3722     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3723   }
3724 
3725   static const ::google::protobuf::Descriptor* descriptor() {
3726     return GetDescriptor();
3727   }
3728   static const ::google::protobuf::Descriptor* GetDescriptor() {
3729     return default_instance().GetMetadata().descriptor;
3730   }
3731   static const ::google::protobuf::Reflection* GetReflection() {
3732     return default_instance().GetMetadata().reflection;
3733   }
3734   static const TypeProto_Sequence& default_instance() {
3735     return *internal_default_instance();
3736   }
3737   static inline const TypeProto_Sequence* internal_default_instance() {
3738     return reinterpret_cast<const TypeProto_Sequence*>(
3739         &_TypeProto_Sequence_default_instance_);
3740   }
3741   static constexpr int kIndexInFileMessages = 14;
3742   friend void swap(TypeProto_Sequence& a, TypeProto_Sequence& b) { a.Swap(&b); }
3743   inline void Swap(TypeProto_Sequence* other) {
3744     if (other == this) return;
3745 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3746     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3747 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3748     if (GetArena() == other->GetArena()) {
3749 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3750       InternalSwap(other);
3751     } else {
3752       ::google::protobuf::internal::GenericSwap(this, other);
3753     }
3754   }
3755   void UnsafeArenaSwap(TypeProto_Sequence* other) {
3756     if (other == this) return;
3757     ABSL_DCHECK(GetArena() == other->GetArena());
3758     InternalSwap(other);
3759   }
3760 
3761   // implements Message ----------------------------------------------
3762 
3763   TypeProto_Sequence* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3764     return ::google::protobuf::Message::DefaultConstruct<TypeProto_Sequence>(arena);
3765   }
3766   using ::google::protobuf::Message::CopyFrom;
3767   void CopyFrom(const TypeProto_Sequence& from);
3768   using ::google::protobuf::Message::MergeFrom;
3769   void MergeFrom(const TypeProto_Sequence& from) { TypeProto_Sequence::MergeImpl(*this, from); }
3770 
3771   private:
3772   static void MergeImpl(
3773       ::google::protobuf::MessageLite& to_msg,
3774       const ::google::protobuf::MessageLite& from_msg);
3775 
3776   public:
3777   bool IsInitialized() const {
3778     return true;
3779   }
3780   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3781   #if defined(PROTOBUF_CUSTOM_VTABLE)
3782   private:
3783   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3784   static ::uint8_t* _InternalSerialize(
3785       const MessageLite& msg, ::uint8_t* target,
3786       ::google::protobuf::io::EpsCopyOutputStream* stream);
3787 
3788   public:
3789   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3790   ::uint8_t* _InternalSerialize(
3791       ::uint8_t* target,
3792       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3793     return _InternalSerialize(*this, target, stream);
3794   }
3795   #else   // PROTOBUF_CUSTOM_VTABLE
3796   ::size_t ByteSizeLong() const final;
3797   ::uint8_t* _InternalSerialize(
3798       ::uint8_t* target,
3799       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3800   #endif  // PROTOBUF_CUSTOM_VTABLE
3801   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3802 
3803   private:
3804   void SharedCtor(::google::protobuf::Arena* arena);
3805   void SharedDtor();
3806   void InternalSwap(TypeProto_Sequence* other);
3807  private:
3808   friend class ::google::protobuf::internal::AnyMetadata;
3809   static ::absl::string_view FullMessageName() { return "onnx.TypeProto.Sequence"; }
3810 
3811  protected:
3812   explicit TypeProto_Sequence(::google::protobuf::Arena* arena);
3813   TypeProto_Sequence(::google::protobuf::Arena* arena, const TypeProto_Sequence& from);
3814   TypeProto_Sequence(::google::protobuf::Arena* arena, TypeProto_Sequence&& from) noexcept
3815       : TypeProto_Sequence(arena) {
3816     *this = ::std::move(from);
3817   }
3818   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3819   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3820 
3821  public:
3822   ::google::protobuf::Metadata GetMetadata() const;
3823   // nested types ----------------------------------------------------
3824 
3825   // accessors -------------------------------------------------------
3826   enum : int {
3827     kElemTypeFieldNumber = 1,
3828   };
3829   // optional .onnx.TypeProto elem_type = 1;
3830   bool has_elem_type() const;
3831   void clear_elem_type() ;
3832   const ::onnx::TypeProto& elem_type() const;
3833   PROTOBUF_NODISCARD ::onnx::TypeProto* release_elem_type();
3834   ::onnx::TypeProto* mutable_elem_type();
3835   void set_allocated_elem_type(::onnx::TypeProto* value);
3836   void unsafe_arena_set_allocated_elem_type(::onnx::TypeProto* value);
3837   ::onnx::TypeProto* unsafe_arena_release_elem_type();
3838 
3839   private:
3840   const ::onnx::TypeProto& _internal_elem_type() const;
3841   ::onnx::TypeProto* _internal_mutable_elem_type();
3842 
3843   public:
3844   // @@protoc_insertion_point(class_scope:onnx.TypeProto.Sequence)
3845  private:
3846   class _Internal;
3847   friend class ::google::protobuf::internal::TcParser;
3848   static const ::google::protobuf::internal::TcParseTable<
3849       0, 1, 1,
3850       0, 2>
3851       _table_;
3852 
3853 
3854   friend class ::google::protobuf::MessageLite;
3855   friend class ::google::protobuf::Arena;
3856   template <typename T>
3857   friend class ::google::protobuf::Arena::InternalHelper;
3858   using InternalArenaConstructable_ = void;
3859   using DestructorSkippable_ = void;
3860   struct Impl_ {
3861     inline explicit constexpr Impl_(
3862         ::google::protobuf::internal::ConstantInitialized) noexcept;
3863     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3864                           ::google::protobuf::Arena* arena);
3865     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3866                           ::google::protobuf::Arena* arena, const Impl_& from,
3867                           const TypeProto_Sequence& from_msg);
3868     ::google::protobuf::internal::HasBits<1> _has_bits_;
3869     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3870     ::onnx::TypeProto* elem_type_;
3871     PROTOBUF_TSAN_DECLARE_MEMBER
3872   };
3873   union { Impl_ _impl_; };
3874   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
3875 };
3876 // -------------------------------------------------------------------
3877 
3878 class ONNX_API ValueInfoProto final : public ::google::protobuf::Message
3879 /* @@protoc_insertion_point(class_definition:onnx.ValueInfoProto) */ {
3880  public:
3881   inline ValueInfoProto() : ValueInfoProto(nullptr) {}
3882   ~ValueInfoProto() PROTOBUF_FINAL;
3883   template <typename = void>
3884   explicit PROTOBUF_CONSTEXPR ValueInfoProto(
3885       ::google::protobuf::internal::ConstantInitialized);
3886 
3887   inline ValueInfoProto(const ValueInfoProto& from) : ValueInfoProto(nullptr, from) {}
3888   inline ValueInfoProto(ValueInfoProto&& from) noexcept
3889       : ValueInfoProto(nullptr, std::move(from)) {}
3890   inline ValueInfoProto& operator=(const ValueInfoProto& from) {
3891     CopyFrom(from);
3892     return *this;
3893   }
3894   inline ValueInfoProto& operator=(ValueInfoProto&& from) noexcept {
3895     if (this == &from) return *this;
3896     if (GetArena() == from.GetArena()
3897 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3898         && GetArena() != nullptr
3899 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3900     ) {
3901       InternalSwap(&from);
3902     } else {
3903       CopyFrom(from);
3904     }
3905     return *this;
3906   }
3907 
3908   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3909       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3910     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3911   }
3912   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3913       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3914     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3915   }
3916 
3917   static const ::google::protobuf::Descriptor* descriptor() {
3918     return GetDescriptor();
3919   }
3920   static const ::google::protobuf::Descriptor* GetDescriptor() {
3921     return default_instance().GetMetadata().descriptor;
3922   }
3923   static const ::google::protobuf::Reflection* GetReflection() {
3924     return default_instance().GetMetadata().reflection;
3925   }
3926   static const ValueInfoProto& default_instance() {
3927     return *internal_default_instance();
3928   }
3929   static inline const ValueInfoProto* internal_default_instance() {
3930     return reinterpret_cast<const ValueInfoProto*>(
3931         &_ValueInfoProto_default_instance_);
3932   }
3933   static constexpr int kIndexInFileMessages = 1;
3934   friend void swap(ValueInfoProto& a, ValueInfoProto& b) { a.Swap(&b); }
3935   inline void Swap(ValueInfoProto* other) {
3936     if (other == this) return;
3937 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3938     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3939 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3940     if (GetArena() == other->GetArena()) {
3941 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3942       InternalSwap(other);
3943     } else {
3944       ::google::protobuf::internal::GenericSwap(this, other);
3945     }
3946   }
3947   void UnsafeArenaSwap(ValueInfoProto* other) {
3948     if (other == this) return;
3949     ABSL_DCHECK(GetArena() == other->GetArena());
3950     InternalSwap(other);
3951   }
3952 
3953   // implements Message ----------------------------------------------
3954 
3955   ValueInfoProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3956     return ::google::protobuf::Message::DefaultConstruct<ValueInfoProto>(arena);
3957   }
3958   using ::google::protobuf::Message::CopyFrom;
3959   void CopyFrom(const ValueInfoProto& from);
3960   using ::google::protobuf::Message::MergeFrom;
3961   void MergeFrom(const ValueInfoProto& from) { ValueInfoProto::MergeImpl(*this, from); }
3962 
3963   private:
3964   static void MergeImpl(
3965       ::google::protobuf::MessageLite& to_msg,
3966       const ::google::protobuf::MessageLite& from_msg);
3967 
3968   public:
3969   bool IsInitialized() const {
3970     return true;
3971   }
3972   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3973   #if defined(PROTOBUF_CUSTOM_VTABLE)
3974   private:
3975   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3976   static ::uint8_t* _InternalSerialize(
3977       const MessageLite& msg, ::uint8_t* target,
3978       ::google::protobuf::io::EpsCopyOutputStream* stream);
3979 
3980   public:
3981   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3982   ::uint8_t* _InternalSerialize(
3983       ::uint8_t* target,
3984       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3985     return _InternalSerialize(*this, target, stream);
3986   }
3987   #else   // PROTOBUF_CUSTOM_VTABLE
3988   ::size_t ByteSizeLong() const final;
3989   ::uint8_t* _InternalSerialize(
3990       ::uint8_t* target,
3991       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3992   #endif  // PROTOBUF_CUSTOM_VTABLE
3993   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3994 
3995   private:
3996   void SharedCtor(::google::protobuf::Arena* arena);
3997   void SharedDtor();
3998   void InternalSwap(ValueInfoProto* other);
3999  private:
4000   friend class ::google::protobuf::internal::AnyMetadata;
4001   static ::absl::string_view FullMessageName() { return "onnx.ValueInfoProto"; }
4002 
4003  protected:
4004   explicit ValueInfoProto(::google::protobuf::Arena* arena);
4005   ValueInfoProto(::google::protobuf::Arena* arena, const ValueInfoProto& from);
4006   ValueInfoProto(::google::protobuf::Arena* arena, ValueInfoProto&& from) noexcept
4007       : ValueInfoProto(arena) {
4008     *this = ::std::move(from);
4009   }
4010   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
4011   static const ::google::protobuf::Message::ClassDataFull _class_data_;
4012 
4013  public:
4014   ::google::protobuf::Metadata GetMetadata() const;
4015   // nested types ----------------------------------------------------
4016 
4017   // accessors -------------------------------------------------------
4018   enum : int {
4019     kNameFieldNumber = 1,
4020     kDocStringFieldNumber = 3,
4021     kTypeFieldNumber = 2,
4022   };
4023   // optional string name = 1;
4024   bool has_name() const;
4025   void clear_name() ;
4026   const std::string& name() const;
4027   template <typename Arg_ = const std::string&, typename... Args_>
4028   void set_name(Arg_&& arg, Args_... args);
4029   std::string* mutable_name();
4030   PROTOBUF_NODISCARD std::string* release_name();
4031   void set_allocated_name(std::string* value);
4032 
4033   private:
4034   const std::string& _internal_name() const;
4035   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
4036       const std::string& value);
4037   std::string* _internal_mutable_name();
4038 
4039   public:
4040   // optional string doc_string = 3;
4041   bool has_doc_string() const;
4042   void clear_doc_string() ;
4043   const std::string& doc_string() const;
4044   template <typename Arg_ = const std::string&, typename... Args_>
4045   void set_doc_string(Arg_&& arg, Args_... args);
4046   std::string* mutable_doc_string();
4047   PROTOBUF_NODISCARD std::string* release_doc_string();
4048   void set_allocated_doc_string(std::string* value);
4049 
4050   private:
4051   const std::string& _internal_doc_string() const;
4052   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
4053       const std::string& value);
4054   std::string* _internal_mutable_doc_string();
4055 
4056   public:
4057   // optional .onnx.TypeProto type = 2;
4058   bool has_type() const;
4059   void clear_type() ;
4060   const ::onnx::TypeProto& type() const;
4061   PROTOBUF_NODISCARD ::onnx::TypeProto* release_type();
4062   ::onnx::TypeProto* mutable_type();
4063   void set_allocated_type(::onnx::TypeProto* value);
4064   void unsafe_arena_set_allocated_type(::onnx::TypeProto* value);
4065   ::onnx::TypeProto* unsafe_arena_release_type();
4066 
4067   private:
4068   const ::onnx::TypeProto& _internal_type() const;
4069   ::onnx::TypeProto* _internal_mutable_type();
4070 
4071   public:
4072   // @@protoc_insertion_point(class_scope:onnx.ValueInfoProto)
4073  private:
4074   class _Internal;
4075   friend class ::google::protobuf::internal::TcParser;
4076   static const ::google::protobuf::internal::TcParseTable<
4077       2, 3, 1,
4078       42, 2>
4079       _table_;
4080 
4081 
4082   friend class ::google::protobuf::MessageLite;
4083   friend class ::google::protobuf::Arena;
4084   template <typename T>
4085   friend class ::google::protobuf::Arena::InternalHelper;
4086   using InternalArenaConstructable_ = void;
4087   using DestructorSkippable_ = void;
4088   struct Impl_ {
4089     inline explicit constexpr Impl_(
4090         ::google::protobuf::internal::ConstantInitialized) noexcept;
4091     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4092                           ::google::protobuf::Arena* arena);
4093     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4094                           ::google::protobuf::Arena* arena, const Impl_& from,
4095                           const ValueInfoProto& from_msg);
4096     ::google::protobuf::internal::HasBits<1> _has_bits_;
4097     mutable ::google::protobuf::internal::CachedSize _cached_size_;
4098     ::google::protobuf::internal::ArenaStringPtr name_;
4099     ::google::protobuf::internal::ArenaStringPtr doc_string_;
4100     ::onnx::TypeProto* type_;
4101     PROTOBUF_TSAN_DECLARE_MEMBER
4102   };
4103   union { Impl_ _impl_; };
4104   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
4105 };
4106 // -------------------------------------------------------------------
4107 
4108 class ONNX_API AttributeProto final : public ::google::protobuf::Message
4109 /* @@protoc_insertion_point(class_definition:onnx.AttributeProto) */ {
4110  public:
4111   inline AttributeProto() : AttributeProto(nullptr) {}
4112   ~AttributeProto() PROTOBUF_FINAL;
4113   template <typename = void>
4114   explicit PROTOBUF_CONSTEXPR AttributeProto(
4115       ::google::protobuf::internal::ConstantInitialized);
4116 
4117   inline AttributeProto(const AttributeProto& from) : AttributeProto(nullptr, from) {}
4118   inline AttributeProto(AttributeProto&& from) noexcept
4119       : AttributeProto(nullptr, std::move(from)) {}
4120   inline AttributeProto& operator=(const AttributeProto& from) {
4121     CopyFrom(from);
4122     return *this;
4123   }
4124   inline AttributeProto& operator=(AttributeProto&& from) noexcept {
4125     if (this == &from) return *this;
4126     if (GetArena() == from.GetArena()
4127 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4128         && GetArena() != nullptr
4129 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
4130     ) {
4131       InternalSwap(&from);
4132     } else {
4133       CopyFrom(from);
4134     }
4135     return *this;
4136   }
4137 
4138   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4139       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4140     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4141   }
4142   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
4143       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4144     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4145   }
4146 
4147   static const ::google::protobuf::Descriptor* descriptor() {
4148     return GetDescriptor();
4149   }
4150   static const ::google::protobuf::Descriptor* GetDescriptor() {
4151     return default_instance().GetMetadata().descriptor;
4152   }
4153   static const ::google::protobuf::Reflection* GetReflection() {
4154     return default_instance().GetMetadata().reflection;
4155   }
4156   static const AttributeProto& default_instance() {
4157     return *internal_default_instance();
4158   }
4159   static inline const AttributeProto* internal_default_instance() {
4160     return reinterpret_cast<const AttributeProto*>(
4161         &_AttributeProto_default_instance_);
4162   }
4163   static constexpr int kIndexInFileMessages = 0;
4164   friend void swap(AttributeProto& a, AttributeProto& b) { a.Swap(&b); }
4165   inline void Swap(AttributeProto* other) {
4166     if (other == this) return;
4167 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4168     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
4169 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
4170     if (GetArena() == other->GetArena()) {
4171 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
4172       InternalSwap(other);
4173     } else {
4174       ::google::protobuf::internal::GenericSwap(this, other);
4175     }
4176   }
4177   void UnsafeArenaSwap(AttributeProto* other) {
4178     if (other == this) return;
4179     ABSL_DCHECK(GetArena() == other->GetArena());
4180     InternalSwap(other);
4181   }
4182 
4183   // implements Message ----------------------------------------------
4184 
4185   AttributeProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
4186     return ::google::protobuf::Message::DefaultConstruct<AttributeProto>(arena);
4187   }
4188   using ::google::protobuf::Message::CopyFrom;
4189   void CopyFrom(const AttributeProto& from);
4190   using ::google::protobuf::Message::MergeFrom;
4191   void MergeFrom(const AttributeProto& from) { AttributeProto::MergeImpl(*this, from); }
4192 
4193   private:
4194   static void MergeImpl(
4195       ::google::protobuf::MessageLite& to_msg,
4196       const ::google::protobuf::MessageLite& from_msg);
4197 
4198   public:
4199   bool IsInitialized() const {
4200     return true;
4201   }
4202   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4203   #if defined(PROTOBUF_CUSTOM_VTABLE)
4204   private:
4205   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4206   static ::uint8_t* _InternalSerialize(
4207       const MessageLite& msg, ::uint8_t* target,
4208       ::google::protobuf::io::EpsCopyOutputStream* stream);
4209 
4210   public:
4211   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4212   ::uint8_t* _InternalSerialize(
4213       ::uint8_t* target,
4214       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
4215     return _InternalSerialize(*this, target, stream);
4216   }
4217   #else   // PROTOBUF_CUSTOM_VTABLE
4218   ::size_t ByteSizeLong() const final;
4219   ::uint8_t* _InternalSerialize(
4220       ::uint8_t* target,
4221       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
4222   #endif  // PROTOBUF_CUSTOM_VTABLE
4223   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4224 
4225   private:
4226   void SharedCtor(::google::protobuf::Arena* arena);
4227   void SharedDtor();
4228   void InternalSwap(AttributeProto* other);
4229  private:
4230   friend class ::google::protobuf::internal::AnyMetadata;
4231   static ::absl::string_view FullMessageName() { return "onnx.AttributeProto"; }
4232 
4233  protected:
4234   explicit AttributeProto(::google::protobuf::Arena* arena);
4235   AttributeProto(::google::protobuf::Arena* arena, const AttributeProto& from);
4236   AttributeProto(::google::protobuf::Arena* arena, AttributeProto&& from) noexcept
4237       : AttributeProto(arena) {
4238     *this = ::std::move(from);
4239   }
4240   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
4241   static const ::google::protobuf::Message::ClassDataFull _class_data_;
4242 
4243  public:
4244   ::google::protobuf::Metadata GetMetadata() const;
4245   // nested types ----------------------------------------------------
4246   using AttributeType = AttributeProto_AttributeType;
4247   static constexpr AttributeType UNDEFINED = AttributeProto_AttributeType_UNDEFINED;
4248   static constexpr AttributeType FLOAT = AttributeProto_AttributeType_FLOAT;
4249   static constexpr AttributeType INT = AttributeProto_AttributeType_INT;
4250   static constexpr AttributeType STRING = AttributeProto_AttributeType_STRING;
4251   static constexpr AttributeType TENSOR = AttributeProto_AttributeType_TENSOR;
4252   static constexpr AttributeType GRAPH = AttributeProto_AttributeType_GRAPH;
4253   static constexpr AttributeType SPARSE_TENSOR = AttributeProto_AttributeType_SPARSE_TENSOR;
4254   static constexpr AttributeType TYPE_PROTO = AttributeProto_AttributeType_TYPE_PROTO;
4255   static constexpr AttributeType FLOATS = AttributeProto_AttributeType_FLOATS;
4256   static constexpr AttributeType INTS = AttributeProto_AttributeType_INTS;
4257   static constexpr AttributeType STRINGS = AttributeProto_AttributeType_STRINGS;
4258   static constexpr AttributeType TENSORS = AttributeProto_AttributeType_TENSORS;
4259   static constexpr AttributeType GRAPHS = AttributeProto_AttributeType_GRAPHS;
4260   static constexpr AttributeType SPARSE_TENSORS = AttributeProto_AttributeType_SPARSE_TENSORS;
4261   static constexpr AttributeType TYPE_PROTOS = AttributeProto_AttributeType_TYPE_PROTOS;
4262   static inline bool AttributeType_IsValid(int value) {
4263     return AttributeProto_AttributeType_IsValid(value);
4264   }
4265   static constexpr AttributeType AttributeType_MIN = AttributeProto_AttributeType_AttributeType_MIN;
4266   static constexpr AttributeType AttributeType_MAX = AttributeProto_AttributeType_AttributeType_MAX;
4267   static constexpr int AttributeType_ARRAYSIZE = AttributeProto_AttributeType_AttributeType_ARRAYSIZE;
4268   static inline const ::google::protobuf::EnumDescriptor* AttributeType_descriptor() {
4269     return AttributeProto_AttributeType_descriptor();
4270   }
4271   template <typename T>
4272   static inline const std::string& AttributeType_Name(T value) {
4273     return AttributeProto_AttributeType_Name(value);
4274   }
4275   static inline bool AttributeType_Parse(absl::string_view name, AttributeType* value) {
4276     return AttributeProto_AttributeType_Parse(name, value);
4277   }
4278 
4279   // accessors -------------------------------------------------------
4280   enum : int {
4281     kFloatsFieldNumber = 7,
4282     kIntsFieldNumber = 8,
4283     kStringsFieldNumber = 9,
4284     kTensorsFieldNumber = 10,
4285     kGraphsFieldNumber = 11,
4286     kTypeProtosFieldNumber = 15,
4287     kSparseTensorsFieldNumber = 23,
4288     kNameFieldNumber = 1,
4289     kSFieldNumber = 4,
4290     kDocStringFieldNumber = 13,
4291     kRefAttrNameFieldNumber = 21,
4292     kTFieldNumber = 5,
4293     kGFieldNumber = 6,
4294     kTpFieldNumber = 14,
4295     kSparseTensorFieldNumber = 22,
4296     kIFieldNumber = 3,
4297     kFFieldNumber = 2,
4298     kTypeFieldNumber = 20,
4299   };
4300   // repeated float floats = 7;
4301   int floats_size() const;
4302   private:
4303   int _internal_floats_size() const;
4304 
4305   public:
4306   void clear_floats() ;
4307   float floats(int index) const;
4308   void set_floats(int index, float value);
4309   void add_floats(float value);
4310   const ::google::protobuf::RepeatedField<float>& floats() const;
4311   ::google::protobuf::RepeatedField<float>* mutable_floats();
4312 
4313   private:
4314   const ::google::protobuf::RepeatedField<float>& _internal_floats() const;
4315   ::google::protobuf::RepeatedField<float>* _internal_mutable_floats();
4316 
4317   public:
4318   // repeated int64 ints = 8;
4319   int ints_size() const;
4320   private:
4321   int _internal_ints_size() const;
4322 
4323   public:
4324   void clear_ints() ;
4325   ::int64_t ints(int index) const;
4326   void set_ints(int index, ::int64_t value);
4327   void add_ints(::int64_t value);
4328   const ::google::protobuf::RepeatedField<::int64_t>& ints() const;
4329   ::google::protobuf::RepeatedField<::int64_t>* mutable_ints();
4330 
4331   private:
4332   const ::google::protobuf::RepeatedField<::int64_t>& _internal_ints() const;
4333   ::google::protobuf::RepeatedField<::int64_t>* _internal_mutable_ints();
4334 
4335   public:
4336   // repeated bytes strings = 9;
4337   int strings_size() const;
4338   private:
4339   int _internal_strings_size() const;
4340 
4341   public:
4342   void clear_strings() ;
4343   const std::string& strings(int index) const;
4344   std::string* mutable_strings(int index);
4345   template <typename Arg_ = const std::string&, typename... Args_>
4346   void set_strings(int index, Arg_&& value, Args_... args);
4347   std::string* add_strings();
4348   template <typename Arg_ = const std::string&, typename... Args_>
4349   void add_strings(Arg_&& value, Args_... args);
4350   const ::google::protobuf::RepeatedPtrField<std::string>& strings() const;
4351   ::google::protobuf::RepeatedPtrField<std::string>* mutable_strings();
4352 
4353   private:
4354   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_strings() const;
4355   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_strings();
4356 
4357   public:
4358   // repeated .onnx.TensorProto tensors = 10;
4359   int tensors_size() const;
4360   private:
4361   int _internal_tensors_size() const;
4362 
4363   public:
4364   void clear_tensors() ;
4365   ::onnx::TensorProto* mutable_tensors(int index);
4366   ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>* mutable_tensors();
4367 
4368   private:
4369   const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>& _internal_tensors() const;
4370   ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>* _internal_mutable_tensors();
4371   public:
4372   const ::onnx::TensorProto& tensors(int index) const;
4373   ::onnx::TensorProto* add_tensors();
4374   const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>& tensors() const;
4375   // repeated .onnx.GraphProto graphs = 11;
4376   int graphs_size() const;
4377   private:
4378   int _internal_graphs_size() const;
4379 
4380   public:
4381   void clear_graphs() ;
4382   ::onnx::GraphProto* mutable_graphs(int index);
4383   ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>* mutable_graphs();
4384 
4385   private:
4386   const ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>& _internal_graphs() const;
4387   ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>* _internal_mutable_graphs();
4388   public:
4389   const ::onnx::GraphProto& graphs(int index) const;
4390   ::onnx::GraphProto* add_graphs();
4391   const ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>& graphs() const;
4392   // repeated .onnx.TypeProto type_protos = 15;
4393   int type_protos_size() const;
4394   private:
4395   int _internal_type_protos_size() const;
4396 
4397   public:
4398   void clear_type_protos() ;
4399   ::onnx::TypeProto* mutable_type_protos(int index);
4400   ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>* mutable_type_protos();
4401 
4402   private:
4403   const ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>& _internal_type_protos() const;
4404   ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>* _internal_mutable_type_protos();
4405   public:
4406   const ::onnx::TypeProto& type_protos(int index) const;
4407   ::onnx::TypeProto* add_type_protos();
4408   const ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>& type_protos() const;
4409   // repeated .onnx.SparseTensorProto sparse_tensors = 23;
4410   int sparse_tensors_size() const;
4411   private:
4412   int _internal_sparse_tensors_size() const;
4413 
4414   public:
4415   void clear_sparse_tensors() ;
4416   ::onnx::SparseTensorProto* mutable_sparse_tensors(int index);
4417   ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>* mutable_sparse_tensors();
4418 
4419   private:
4420   const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>& _internal_sparse_tensors() const;
4421   ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>* _internal_mutable_sparse_tensors();
4422   public:
4423   const ::onnx::SparseTensorProto& sparse_tensors(int index) const;
4424   ::onnx::SparseTensorProto* add_sparse_tensors();
4425   const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>& sparse_tensors() const;
4426   // optional string name = 1;
4427   bool has_name() const;
4428   void clear_name() ;
4429   const std::string& name() const;
4430   template <typename Arg_ = const std::string&, typename... Args_>
4431   void set_name(Arg_&& arg, Args_... args);
4432   std::string* mutable_name();
4433   PROTOBUF_NODISCARD std::string* release_name();
4434   void set_allocated_name(std::string* value);
4435 
4436   private:
4437   const std::string& _internal_name() const;
4438   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
4439       const std::string& value);
4440   std::string* _internal_mutable_name();
4441 
4442   public:
4443   // optional bytes s = 4;
4444   bool has_s() const;
4445   void clear_s() ;
4446   const std::string& s() const;
4447   template <typename Arg_ = const std::string&, typename... Args_>
4448   void set_s(Arg_&& arg, Args_... args);
4449   std::string* mutable_s();
4450   PROTOBUF_NODISCARD std::string* release_s();
4451   void set_allocated_s(std::string* value);
4452 
4453   private:
4454   const std::string& _internal_s() const;
4455   inline PROTOBUF_ALWAYS_INLINE void _internal_set_s(
4456       const std::string& value);
4457   std::string* _internal_mutable_s();
4458 
4459   public:
4460   // optional string doc_string = 13;
4461   bool has_doc_string() const;
4462   void clear_doc_string() ;
4463   const std::string& doc_string() const;
4464   template <typename Arg_ = const std::string&, typename... Args_>
4465   void set_doc_string(Arg_&& arg, Args_... args);
4466   std::string* mutable_doc_string();
4467   PROTOBUF_NODISCARD std::string* release_doc_string();
4468   void set_allocated_doc_string(std::string* value);
4469 
4470   private:
4471   const std::string& _internal_doc_string() const;
4472   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
4473       const std::string& value);
4474   std::string* _internal_mutable_doc_string();
4475 
4476   public:
4477   // optional string ref_attr_name = 21;
4478   bool has_ref_attr_name() const;
4479   void clear_ref_attr_name() ;
4480   const std::string& ref_attr_name() const;
4481   template <typename Arg_ = const std::string&, typename... Args_>
4482   void set_ref_attr_name(Arg_&& arg, Args_... args);
4483   std::string* mutable_ref_attr_name();
4484   PROTOBUF_NODISCARD std::string* release_ref_attr_name();
4485   void set_allocated_ref_attr_name(std::string* value);
4486 
4487   private:
4488   const std::string& _internal_ref_attr_name() const;
4489   inline PROTOBUF_ALWAYS_INLINE void _internal_set_ref_attr_name(
4490       const std::string& value);
4491   std::string* _internal_mutable_ref_attr_name();
4492 
4493   public:
4494   // optional .onnx.TensorProto t = 5;
4495   bool has_t() const;
4496   void clear_t() ;
4497   const ::onnx::TensorProto& t() const;
4498   PROTOBUF_NODISCARD ::onnx::TensorProto* release_t();
4499   ::onnx::TensorProto* mutable_t();
4500   void set_allocated_t(::onnx::TensorProto* value);
4501   void unsafe_arena_set_allocated_t(::onnx::TensorProto* value);
4502   ::onnx::TensorProto* unsafe_arena_release_t();
4503 
4504   private:
4505   const ::onnx::TensorProto& _internal_t() const;
4506   ::onnx::TensorProto* _internal_mutable_t();
4507 
4508   public:
4509   // optional .onnx.GraphProto g = 6;
4510   bool has_g() const;
4511   void clear_g() ;
4512   const ::onnx::GraphProto& g() const;
4513   PROTOBUF_NODISCARD ::onnx::GraphProto* release_g();
4514   ::onnx::GraphProto* mutable_g();
4515   void set_allocated_g(::onnx::GraphProto* value);
4516   void unsafe_arena_set_allocated_g(::onnx::GraphProto* value);
4517   ::onnx::GraphProto* unsafe_arena_release_g();
4518 
4519   private:
4520   const ::onnx::GraphProto& _internal_g() const;
4521   ::onnx::GraphProto* _internal_mutable_g();
4522 
4523   public:
4524   // optional .onnx.TypeProto tp = 14;
4525   bool has_tp() const;
4526   void clear_tp() ;
4527   const ::onnx::TypeProto& tp() const;
4528   PROTOBUF_NODISCARD ::onnx::TypeProto* release_tp();
4529   ::onnx::TypeProto* mutable_tp();
4530   void set_allocated_tp(::onnx::TypeProto* value);
4531   void unsafe_arena_set_allocated_tp(::onnx::TypeProto* value);
4532   ::onnx::TypeProto* unsafe_arena_release_tp();
4533 
4534   private:
4535   const ::onnx::TypeProto& _internal_tp() const;
4536   ::onnx::TypeProto* _internal_mutable_tp();
4537 
4538   public:
4539   // optional .onnx.SparseTensorProto sparse_tensor = 22;
4540   bool has_sparse_tensor() const;
4541   void clear_sparse_tensor() ;
4542   const ::onnx::SparseTensorProto& sparse_tensor() const;
4543   PROTOBUF_NODISCARD ::onnx::SparseTensorProto* release_sparse_tensor();
4544   ::onnx::SparseTensorProto* mutable_sparse_tensor();
4545   void set_allocated_sparse_tensor(::onnx::SparseTensorProto* value);
4546   void unsafe_arena_set_allocated_sparse_tensor(::onnx::SparseTensorProto* value);
4547   ::onnx::SparseTensorProto* unsafe_arena_release_sparse_tensor();
4548 
4549   private:
4550   const ::onnx::SparseTensorProto& _internal_sparse_tensor() const;
4551   ::onnx::SparseTensorProto* _internal_mutable_sparse_tensor();
4552 
4553   public:
4554   // optional int64 i = 3;
4555   bool has_i() const;
4556   void clear_i() ;
4557   ::int64_t i() const;
4558   void set_i(::int64_t value);
4559 
4560   private:
4561   ::int64_t _internal_i() const;
4562   void _internal_set_i(::int64_t value);
4563 
4564   public:
4565   // optional float f = 2;
4566   bool has_f() const;
4567   void clear_f() ;
4568   float f() const;
4569   void set_f(float value);
4570 
4571   private:
4572   float _internal_f() const;
4573   void _internal_set_f(float value);
4574 
4575   public:
4576   // optional .onnx.AttributeProto.AttributeType type = 20;
4577   bool has_type() const;
4578   void clear_type() ;
4579   ::onnx::AttributeProto_AttributeType type() const;
4580   void set_type(::onnx::AttributeProto_AttributeType value);
4581 
4582   private:
4583   ::onnx::AttributeProto_AttributeType _internal_type() const;
4584   void _internal_set_type(::onnx::AttributeProto_AttributeType value);
4585 
4586   public:
4587   // @@protoc_insertion_point(class_scope:onnx.AttributeProto)
4588  private:
4589   class _Internal;
4590   friend class ::google::protobuf::internal::TcParser;
4591   static const ::google::protobuf::internal::TcParseTable<
4592       5, 18, 9,
4593       71, 2>
4594       _table_;
4595 
4596 
4597   friend class ::google::protobuf::MessageLite;
4598   friend class ::google::protobuf::Arena;
4599   template <typename T>
4600   friend class ::google::protobuf::Arena::InternalHelper;
4601   using InternalArenaConstructable_ = void;
4602   using DestructorSkippable_ = void;
4603   struct Impl_ {
4604     inline explicit constexpr Impl_(
4605         ::google::protobuf::internal::ConstantInitialized) noexcept;
4606     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4607                           ::google::protobuf::Arena* arena);
4608     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4609                           ::google::protobuf::Arena* arena, const Impl_& from,
4610                           const AttributeProto& from_msg);
4611     ::google::protobuf::internal::HasBits<1> _has_bits_;
4612     mutable ::google::protobuf::internal::CachedSize _cached_size_;
4613     ::google::protobuf::RepeatedField<float> floats_;
4614     ::google::protobuf::RepeatedField<::int64_t> ints_;
4615     ::google::protobuf::RepeatedPtrField<std::string> strings_;
4616     ::google::protobuf::RepeatedPtrField< ::onnx::TensorProto > tensors_;
4617     ::google::protobuf::RepeatedPtrField< ::onnx::GraphProto > graphs_;
4618     ::google::protobuf::RepeatedPtrField< ::onnx::TypeProto > type_protos_;
4619     ::google::protobuf::RepeatedPtrField< ::onnx::SparseTensorProto > sparse_tensors_;
4620     ::google::protobuf::internal::ArenaStringPtr name_;
4621     ::google::protobuf::internal::ArenaStringPtr s_;
4622     ::google::protobuf::internal::ArenaStringPtr doc_string_;
4623     ::google::protobuf::internal::ArenaStringPtr ref_attr_name_;
4624     ::onnx::TensorProto* t_;
4625     ::onnx::GraphProto* g_;
4626     ::onnx::TypeProto* tp_;
4627     ::onnx::SparseTensorProto* sparse_tensor_;
4628     ::int64_t i_;
4629     float f_;
4630     int type_;
4631     PROTOBUF_TSAN_DECLARE_MEMBER
4632   };
4633   union { Impl_ _impl_; };
4634   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
4635 };
4636 // -------------------------------------------------------------------
4637 
4638 class ONNX_API GraphProto final : public ::google::protobuf::Message
4639 /* @@protoc_insertion_point(class_definition:onnx.GraphProto) */ {
4640  public:
4641   inline GraphProto() : GraphProto(nullptr) {}
4642   ~GraphProto() PROTOBUF_FINAL;
4643   template <typename = void>
4644   explicit PROTOBUF_CONSTEXPR GraphProto(
4645       ::google::protobuf::internal::ConstantInitialized);
4646 
4647   inline GraphProto(const GraphProto& from) : GraphProto(nullptr, from) {}
4648   inline GraphProto(GraphProto&& from) noexcept
4649       : GraphProto(nullptr, std::move(from)) {}
4650   inline GraphProto& operator=(const GraphProto& from) {
4651     CopyFrom(from);
4652     return *this;
4653   }
4654   inline GraphProto& operator=(GraphProto&& from) noexcept {
4655     if (this == &from) return *this;
4656     if (GetArena() == from.GetArena()
4657 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4658         && GetArena() != nullptr
4659 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
4660     ) {
4661       InternalSwap(&from);
4662     } else {
4663       CopyFrom(from);
4664     }
4665     return *this;
4666   }
4667 
4668   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4669       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4670     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4671   }
4672   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
4673       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4674     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4675   }
4676 
4677   static const ::google::protobuf::Descriptor* descriptor() {
4678     return GetDescriptor();
4679   }
4680   static const ::google::protobuf::Descriptor* GetDescriptor() {
4681     return default_instance().GetMetadata().descriptor;
4682   }
4683   static const ::google::protobuf::Reflection* GetReflection() {
4684     return default_instance().GetMetadata().reflection;
4685   }
4686   static const GraphProto& default_instance() {
4687     return *internal_default_instance();
4688   }
4689   static inline const GraphProto* internal_default_instance() {
4690     return reinterpret_cast<const GraphProto*>(
4691         &_GraphProto_default_instance_);
4692   }
4693   static constexpr int kIndexInFileMessages = 7;
4694   friend void swap(GraphProto& a, GraphProto& b) { a.Swap(&b); }
4695   inline void Swap(GraphProto* other) {
4696     if (other == this) return;
4697 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4698     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
4699 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
4700     if (GetArena() == other->GetArena()) {
4701 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
4702       InternalSwap(other);
4703     } else {
4704       ::google::protobuf::internal::GenericSwap(this, other);
4705     }
4706   }
4707   void UnsafeArenaSwap(GraphProto* other) {
4708     if (other == this) return;
4709     ABSL_DCHECK(GetArena() == other->GetArena());
4710     InternalSwap(other);
4711   }
4712 
4713   // implements Message ----------------------------------------------
4714 
4715   GraphProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
4716     return ::google::protobuf::Message::DefaultConstruct<GraphProto>(arena);
4717   }
4718   using ::google::protobuf::Message::CopyFrom;
4719   void CopyFrom(const GraphProto& from);
4720   using ::google::protobuf::Message::MergeFrom;
4721   void MergeFrom(const GraphProto& from) { GraphProto::MergeImpl(*this, from); }
4722 
4723   private:
4724   static void MergeImpl(
4725       ::google::protobuf::MessageLite& to_msg,
4726       const ::google::protobuf::MessageLite& from_msg);
4727 
4728   public:
4729   bool IsInitialized() const {
4730     return true;
4731   }
4732   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4733   #if defined(PROTOBUF_CUSTOM_VTABLE)
4734   private:
4735   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4736   static ::uint8_t* _InternalSerialize(
4737       const MessageLite& msg, ::uint8_t* target,
4738       ::google::protobuf::io::EpsCopyOutputStream* stream);
4739 
4740   public:
4741   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4742   ::uint8_t* _InternalSerialize(
4743       ::uint8_t* target,
4744       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
4745     return _InternalSerialize(*this, target, stream);
4746   }
4747   #else   // PROTOBUF_CUSTOM_VTABLE
4748   ::size_t ByteSizeLong() const final;
4749   ::uint8_t* _InternalSerialize(
4750       ::uint8_t* target,
4751       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
4752   #endif  // PROTOBUF_CUSTOM_VTABLE
4753   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4754 
4755   private:
4756   void SharedCtor(::google::protobuf::Arena* arena);
4757   void SharedDtor();
4758   void InternalSwap(GraphProto* other);
4759  private:
4760   friend class ::google::protobuf::internal::AnyMetadata;
4761   static ::absl::string_view FullMessageName() { return "onnx.GraphProto"; }
4762 
4763  protected:
4764   explicit GraphProto(::google::protobuf::Arena* arena);
4765   GraphProto(::google::protobuf::Arena* arena, const GraphProto& from);
4766   GraphProto(::google::protobuf::Arena* arena, GraphProto&& from) noexcept
4767       : GraphProto(arena) {
4768     *this = ::std::move(from);
4769   }
4770   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
4771   static const ::google::protobuf::Message::ClassDataFull _class_data_;
4772 
4773  public:
4774   ::google::protobuf::Metadata GetMetadata() const;
4775   // nested types ----------------------------------------------------
4776 
4777   // accessors -------------------------------------------------------
4778   enum : int {
4779     kNodeFieldNumber = 1,
4780     kInitializerFieldNumber = 5,
4781     kInputFieldNumber = 11,
4782     kOutputFieldNumber = 12,
4783     kValueInfoFieldNumber = 13,
4784     kQuantizationAnnotationFieldNumber = 14,
4785     kSparseInitializerFieldNumber = 15,
4786     kNameFieldNumber = 2,
4787     kDocStringFieldNumber = 10,
4788   };
4789   // repeated .onnx.NodeProto node = 1;
4790   int node_size() const;
4791   private:
4792   int _internal_node_size() const;
4793 
4794   public:
4795   void clear_node() ;
4796   ::onnx::NodeProto* mutable_node(int index);
4797   ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>* mutable_node();
4798 
4799   private:
4800   const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>& _internal_node() const;
4801   ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>* _internal_mutable_node();
4802   public:
4803   const ::onnx::NodeProto& node(int index) const;
4804   ::onnx::NodeProto* add_node();
4805   const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>& node() const;
4806   // repeated .onnx.TensorProto initializer = 5;
4807   int initializer_size() const;
4808   private:
4809   int _internal_initializer_size() const;
4810 
4811   public:
4812   void clear_initializer() ;
4813   ::onnx::TensorProto* mutable_initializer(int index);
4814   ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>* mutable_initializer();
4815 
4816   private:
4817   const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>& _internal_initializer() const;
4818   ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>* _internal_mutable_initializer();
4819   public:
4820   const ::onnx::TensorProto& initializer(int index) const;
4821   ::onnx::TensorProto* add_initializer();
4822   const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>& initializer() const;
4823   // repeated .onnx.ValueInfoProto input = 11;
4824   int input_size() const;
4825   private:
4826   int _internal_input_size() const;
4827 
4828   public:
4829   void clear_input() ;
4830   ::onnx::ValueInfoProto* mutable_input(int index);
4831   ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* mutable_input();
4832 
4833   private:
4834   const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& _internal_input() const;
4835   ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* _internal_mutable_input();
4836   public:
4837   const ::onnx::ValueInfoProto& input(int index) const;
4838   ::onnx::ValueInfoProto* add_input();
4839   const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& input() const;
4840   // repeated .onnx.ValueInfoProto output = 12;
4841   int output_size() const;
4842   private:
4843   int _internal_output_size() const;
4844 
4845   public:
4846   void clear_output() ;
4847   ::onnx::ValueInfoProto* mutable_output(int index);
4848   ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* mutable_output();
4849 
4850   private:
4851   const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& _internal_output() const;
4852   ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* _internal_mutable_output();
4853   public:
4854   const ::onnx::ValueInfoProto& output(int index) const;
4855   ::onnx::ValueInfoProto* add_output();
4856   const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& output() const;
4857   // repeated .onnx.ValueInfoProto value_info = 13;
4858   int value_info_size() const;
4859   private:
4860   int _internal_value_info_size() const;
4861 
4862   public:
4863   void clear_value_info() ;
4864   ::onnx::ValueInfoProto* mutable_value_info(int index);
4865   ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* mutable_value_info();
4866 
4867   private:
4868   const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& _internal_value_info() const;
4869   ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* _internal_mutable_value_info();
4870   public:
4871   const ::onnx::ValueInfoProto& value_info(int index) const;
4872   ::onnx::ValueInfoProto* add_value_info();
4873   const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& value_info() const;
4874   // repeated .onnx.TensorAnnotation quantization_annotation = 14;
4875   int quantization_annotation_size() const;
4876   private:
4877   int _internal_quantization_annotation_size() const;
4878 
4879   public:
4880   void clear_quantization_annotation() ;
4881   ::onnx::TensorAnnotation* mutable_quantization_annotation(int index);
4882   ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>* mutable_quantization_annotation();
4883 
4884   private:
4885   const ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>& _internal_quantization_annotation() const;
4886   ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>* _internal_mutable_quantization_annotation();
4887   public:
4888   const ::onnx::TensorAnnotation& quantization_annotation(int index) const;
4889   ::onnx::TensorAnnotation* add_quantization_annotation();
4890   const ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>& quantization_annotation() const;
4891   // repeated .onnx.SparseTensorProto sparse_initializer = 15;
4892   int sparse_initializer_size() const;
4893   private:
4894   int _internal_sparse_initializer_size() const;
4895 
4896   public:
4897   void clear_sparse_initializer() ;
4898   ::onnx::SparseTensorProto* mutable_sparse_initializer(int index);
4899   ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>* mutable_sparse_initializer();
4900 
4901   private:
4902   const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>& _internal_sparse_initializer() const;
4903   ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>* _internal_mutable_sparse_initializer();
4904   public:
4905   const ::onnx::SparseTensorProto& sparse_initializer(int index) const;
4906   ::onnx::SparseTensorProto* add_sparse_initializer();
4907   const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>& sparse_initializer() const;
4908   // optional string name = 2;
4909   bool has_name() const;
4910   void clear_name() ;
4911   const std::string& name() const;
4912   template <typename Arg_ = const std::string&, typename... Args_>
4913   void set_name(Arg_&& arg, Args_... args);
4914   std::string* mutable_name();
4915   PROTOBUF_NODISCARD std::string* release_name();
4916   void set_allocated_name(std::string* value);
4917 
4918   private:
4919   const std::string& _internal_name() const;
4920   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
4921       const std::string& value);
4922   std::string* _internal_mutable_name();
4923 
4924   public:
4925   // optional string doc_string = 10;
4926   bool has_doc_string() const;
4927   void clear_doc_string() ;
4928   const std::string& doc_string() const;
4929   template <typename Arg_ = const std::string&, typename... Args_>
4930   void set_doc_string(Arg_&& arg, Args_... args);
4931   std::string* mutable_doc_string();
4932   PROTOBUF_NODISCARD std::string* release_doc_string();
4933   void set_allocated_doc_string(std::string* value);
4934 
4935   private:
4936   const std::string& _internal_doc_string() const;
4937   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
4938       const std::string& value);
4939   std::string* _internal_mutable_doc_string();
4940 
4941   public:
4942   // @@protoc_insertion_point(class_scope:onnx.GraphProto)
4943  private:
4944   class _Internal;
4945   friend class ::google::protobuf::internal::TcParser;
4946   static const ::google::protobuf::internal::TcParseTable<
4947       4, 9, 7,
4948       46, 2>
4949       _table_;
4950 
4951 
4952   friend class ::google::protobuf::MessageLite;
4953   friend class ::google::protobuf::Arena;
4954   template <typename T>
4955   friend class ::google::protobuf::Arena::InternalHelper;
4956   using InternalArenaConstructable_ = void;
4957   using DestructorSkippable_ = void;
4958   struct Impl_ {
4959     inline explicit constexpr Impl_(
4960         ::google::protobuf::internal::ConstantInitialized) noexcept;
4961     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4962                           ::google::protobuf::Arena* arena);
4963     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4964                           ::google::protobuf::Arena* arena, const Impl_& from,
4965                           const GraphProto& from_msg);
4966     ::google::protobuf::internal::HasBits<1> _has_bits_;
4967     mutable ::google::protobuf::internal::CachedSize _cached_size_;
4968     ::google::protobuf::RepeatedPtrField< ::onnx::NodeProto > node_;
4969     ::google::protobuf::RepeatedPtrField< ::onnx::TensorProto > initializer_;
4970     ::google::protobuf::RepeatedPtrField< ::onnx::ValueInfoProto > input_;
4971     ::google::protobuf::RepeatedPtrField< ::onnx::ValueInfoProto > output_;
4972     ::google::protobuf::RepeatedPtrField< ::onnx::ValueInfoProto > value_info_;
4973     ::google::protobuf::RepeatedPtrField< ::onnx::TensorAnnotation > quantization_annotation_;
4974     ::google::protobuf::RepeatedPtrField< ::onnx::SparseTensorProto > sparse_initializer_;
4975     ::google::protobuf::internal::ArenaStringPtr name_;
4976     ::google::protobuf::internal::ArenaStringPtr doc_string_;
4977     PROTOBUF_TSAN_DECLARE_MEMBER
4978   };
4979   union { Impl_ _impl_; };
4980   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
4981 };
4982 // -------------------------------------------------------------------
4983 
4984 class ONNX_API NodeProto final : public ::google::protobuf::Message
4985 /* @@protoc_insertion_point(class_definition:onnx.NodeProto) */ {
4986  public:
4987   inline NodeProto() : NodeProto(nullptr) {}
4988   ~NodeProto() PROTOBUF_FINAL;
4989   template <typename = void>
4990   explicit PROTOBUF_CONSTEXPR NodeProto(
4991       ::google::protobuf::internal::ConstantInitialized);
4992 
4993   inline NodeProto(const NodeProto& from) : NodeProto(nullptr, from) {}
4994   inline NodeProto(NodeProto&& from) noexcept
4995       : NodeProto(nullptr, std::move(from)) {}
4996   inline NodeProto& operator=(const NodeProto& from) {
4997     CopyFrom(from);
4998     return *this;
4999   }
5000   inline NodeProto& operator=(NodeProto&& from) noexcept {
5001     if (this == &from) return *this;
5002     if (GetArena() == from.GetArena()
5003 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5004         && GetArena() != nullptr
5005 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
5006     ) {
5007       InternalSwap(&from);
5008     } else {
5009       CopyFrom(from);
5010     }
5011     return *this;
5012   }
5013 
5014   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5015       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5016     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5017   }
5018   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
5019       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5020     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5021   }
5022 
5023   static const ::google::protobuf::Descriptor* descriptor() {
5024     return GetDescriptor();
5025   }
5026   static const ::google::protobuf::Descriptor* GetDescriptor() {
5027     return default_instance().GetMetadata().descriptor;
5028   }
5029   static const ::google::protobuf::Reflection* GetReflection() {
5030     return default_instance().GetMetadata().reflection;
5031   }
5032   static const NodeProto& default_instance() {
5033     return *internal_default_instance();
5034   }
5035   static inline const NodeProto* internal_default_instance() {
5036     return reinterpret_cast<const NodeProto*>(
5037         &_NodeProto_default_instance_);
5038   }
5039   static constexpr int kIndexInFileMessages = 2;
5040   friend void swap(NodeProto& a, NodeProto& b) { a.Swap(&b); }
5041   inline void Swap(NodeProto* other) {
5042     if (other == this) return;
5043 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5044     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
5045 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
5046     if (GetArena() == other->GetArena()) {
5047 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
5048       InternalSwap(other);
5049     } else {
5050       ::google::protobuf::internal::GenericSwap(this, other);
5051     }
5052   }
5053   void UnsafeArenaSwap(NodeProto* other) {
5054     if (other == this) return;
5055     ABSL_DCHECK(GetArena() == other->GetArena());
5056     InternalSwap(other);
5057   }
5058 
5059   // implements Message ----------------------------------------------
5060 
5061   NodeProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
5062     return ::google::protobuf::Message::DefaultConstruct<NodeProto>(arena);
5063   }
5064   using ::google::protobuf::Message::CopyFrom;
5065   void CopyFrom(const NodeProto& from);
5066   using ::google::protobuf::Message::MergeFrom;
5067   void MergeFrom(const NodeProto& from) { NodeProto::MergeImpl(*this, from); }
5068 
5069   private:
5070   static void MergeImpl(
5071       ::google::protobuf::MessageLite& to_msg,
5072       const ::google::protobuf::MessageLite& from_msg);
5073 
5074   public:
5075   bool IsInitialized() const {
5076     return true;
5077   }
5078   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5079   #if defined(PROTOBUF_CUSTOM_VTABLE)
5080   private:
5081   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5082   static ::uint8_t* _InternalSerialize(
5083       const MessageLite& msg, ::uint8_t* target,
5084       ::google::protobuf::io::EpsCopyOutputStream* stream);
5085 
5086   public:
5087   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5088   ::uint8_t* _InternalSerialize(
5089       ::uint8_t* target,
5090       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
5091     return _InternalSerialize(*this, target, stream);
5092   }
5093   #else   // PROTOBUF_CUSTOM_VTABLE
5094   ::size_t ByteSizeLong() const final;
5095   ::uint8_t* _InternalSerialize(
5096       ::uint8_t* target,
5097       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
5098   #endif  // PROTOBUF_CUSTOM_VTABLE
5099   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5100 
5101   private:
5102   void SharedCtor(::google::protobuf::Arena* arena);
5103   void SharedDtor();
5104   void InternalSwap(NodeProto* other);
5105  private:
5106   friend class ::google::protobuf::internal::AnyMetadata;
5107   static ::absl::string_view FullMessageName() { return "onnx.NodeProto"; }
5108 
5109  protected:
5110   explicit NodeProto(::google::protobuf::Arena* arena);
5111   NodeProto(::google::protobuf::Arena* arena, const NodeProto& from);
5112   NodeProto(::google::protobuf::Arena* arena, NodeProto&& from) noexcept
5113       : NodeProto(arena) {
5114     *this = ::std::move(from);
5115   }
5116   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
5117   static const ::google::protobuf::Message::ClassDataFull _class_data_;
5118 
5119  public:
5120   ::google::protobuf::Metadata GetMetadata() const;
5121   // nested types ----------------------------------------------------
5122 
5123   // accessors -------------------------------------------------------
5124   enum : int {
5125     kInputFieldNumber = 1,
5126     kOutputFieldNumber = 2,
5127     kAttributeFieldNumber = 5,
5128     kNameFieldNumber = 3,
5129     kOpTypeFieldNumber = 4,
5130     kDocStringFieldNumber = 6,
5131     kDomainFieldNumber = 7,
5132   };
5133   // repeated string input = 1;
5134   int input_size() const;
5135   private:
5136   int _internal_input_size() const;
5137 
5138   public:
5139   void clear_input() ;
5140   const std::string& input(int index) const;
5141   std::string* mutable_input(int index);
5142   template <typename Arg_ = const std::string&, typename... Args_>
5143   void set_input(int index, Arg_&& value, Args_... args);
5144   std::string* add_input();
5145   template <typename Arg_ = const std::string&, typename... Args_>
5146   void add_input(Arg_&& value, Args_... args);
5147   const ::google::protobuf::RepeatedPtrField<std::string>& input() const;
5148   ::google::protobuf::RepeatedPtrField<std::string>* mutable_input();
5149 
5150   private:
5151   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_input() const;
5152   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_input();
5153 
5154   public:
5155   // repeated string output = 2;
5156   int output_size() const;
5157   private:
5158   int _internal_output_size() const;
5159 
5160   public:
5161   void clear_output() ;
5162   const std::string& output(int index) const;
5163   std::string* mutable_output(int index);
5164   template <typename Arg_ = const std::string&, typename... Args_>
5165   void set_output(int index, Arg_&& value, Args_... args);
5166   std::string* add_output();
5167   template <typename Arg_ = const std::string&, typename... Args_>
5168   void add_output(Arg_&& value, Args_... args);
5169   const ::google::protobuf::RepeatedPtrField<std::string>& output() const;
5170   ::google::protobuf::RepeatedPtrField<std::string>* mutable_output();
5171 
5172   private:
5173   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_output() const;
5174   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_output();
5175 
5176   public:
5177   // repeated .onnx.AttributeProto attribute = 5;
5178   int attribute_size() const;
5179   private:
5180   int _internal_attribute_size() const;
5181 
5182   public:
5183   void clear_attribute() ;
5184   ::onnx::AttributeProto* mutable_attribute(int index);
5185   ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>* mutable_attribute();
5186 
5187   private:
5188   const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>& _internal_attribute() const;
5189   ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>* _internal_mutable_attribute();
5190   public:
5191   const ::onnx::AttributeProto& attribute(int index) const;
5192   ::onnx::AttributeProto* add_attribute();
5193   const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>& attribute() const;
5194   // optional string name = 3;
5195   bool has_name() const;
5196   void clear_name() ;
5197   const std::string& name() const;
5198   template <typename Arg_ = const std::string&, typename... Args_>
5199   void set_name(Arg_&& arg, Args_... args);
5200   std::string* mutable_name();
5201   PROTOBUF_NODISCARD std::string* release_name();
5202   void set_allocated_name(std::string* value);
5203 
5204   private:
5205   const std::string& _internal_name() const;
5206   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
5207       const std::string& value);
5208   std::string* _internal_mutable_name();
5209 
5210   public:
5211   // optional string op_type = 4;
5212   bool has_op_type() const;
5213   void clear_op_type() ;
5214   const std::string& op_type() const;
5215   template <typename Arg_ = const std::string&, typename... Args_>
5216   void set_op_type(Arg_&& arg, Args_... args);
5217   std::string* mutable_op_type();
5218   PROTOBUF_NODISCARD std::string* release_op_type();
5219   void set_allocated_op_type(std::string* value);
5220 
5221   private:
5222   const std::string& _internal_op_type() const;
5223   inline PROTOBUF_ALWAYS_INLINE void _internal_set_op_type(
5224       const std::string& value);
5225   std::string* _internal_mutable_op_type();
5226 
5227   public:
5228   // optional string doc_string = 6;
5229   bool has_doc_string() const;
5230   void clear_doc_string() ;
5231   const std::string& doc_string() const;
5232   template <typename Arg_ = const std::string&, typename... Args_>
5233   void set_doc_string(Arg_&& arg, Args_... args);
5234   std::string* mutable_doc_string();
5235   PROTOBUF_NODISCARD std::string* release_doc_string();
5236   void set_allocated_doc_string(std::string* value);
5237 
5238   private:
5239   const std::string& _internal_doc_string() const;
5240   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
5241       const std::string& value);
5242   std::string* _internal_mutable_doc_string();
5243 
5244   public:
5245   // optional string domain = 7;
5246   bool has_domain() const;
5247   void clear_domain() ;
5248   const std::string& domain() const;
5249   template <typename Arg_ = const std::string&, typename... Args_>
5250   void set_domain(Arg_&& arg, Args_... args);
5251   std::string* mutable_domain();
5252   PROTOBUF_NODISCARD std::string* release_domain();
5253   void set_allocated_domain(std::string* value);
5254 
5255   private:
5256   const std::string& _internal_domain() const;
5257   inline PROTOBUF_ALWAYS_INLINE void _internal_set_domain(
5258       const std::string& value);
5259   std::string* _internal_mutable_domain();
5260 
5261   public:
5262   // @@protoc_insertion_point(class_scope:onnx.NodeProto)
5263  private:
5264   class _Internal;
5265   friend class ::google::protobuf::internal::TcParser;
5266   static const ::google::protobuf::internal::TcParseTable<
5267       3, 7, 1,
5268       61, 2>
5269       _table_;
5270 
5271 
5272   friend class ::google::protobuf::MessageLite;
5273   friend class ::google::protobuf::Arena;
5274   template <typename T>
5275   friend class ::google::protobuf::Arena::InternalHelper;
5276   using InternalArenaConstructable_ = void;
5277   using DestructorSkippable_ = void;
5278   struct Impl_ {
5279     inline explicit constexpr Impl_(
5280         ::google::protobuf::internal::ConstantInitialized) noexcept;
5281     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5282                           ::google::protobuf::Arena* arena);
5283     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5284                           ::google::protobuf::Arena* arena, const Impl_& from,
5285                           const NodeProto& from_msg);
5286     ::google::protobuf::internal::HasBits<1> _has_bits_;
5287     mutable ::google::protobuf::internal::CachedSize _cached_size_;
5288     ::google::protobuf::RepeatedPtrField<std::string> input_;
5289     ::google::protobuf::RepeatedPtrField<std::string> output_;
5290     ::google::protobuf::RepeatedPtrField< ::onnx::AttributeProto > attribute_;
5291     ::google::protobuf::internal::ArenaStringPtr name_;
5292     ::google::protobuf::internal::ArenaStringPtr op_type_;
5293     ::google::protobuf::internal::ArenaStringPtr doc_string_;
5294     ::google::protobuf::internal::ArenaStringPtr domain_;
5295     PROTOBUF_TSAN_DECLARE_MEMBER
5296   };
5297   union { Impl_ _impl_; };
5298   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
5299 };
5300 // -------------------------------------------------------------------
5301 
5302 class ONNX_API TrainingInfoProto final : public ::google::protobuf::Message
5303 /* @@protoc_insertion_point(class_definition:onnx.TrainingInfoProto) */ {
5304  public:
5305   inline TrainingInfoProto() : TrainingInfoProto(nullptr) {}
5306   ~TrainingInfoProto() PROTOBUF_FINAL;
5307   template <typename = void>
5308   explicit PROTOBUF_CONSTEXPR TrainingInfoProto(
5309       ::google::protobuf::internal::ConstantInitialized);
5310 
5311   inline TrainingInfoProto(const TrainingInfoProto& from) : TrainingInfoProto(nullptr, from) {}
5312   inline TrainingInfoProto(TrainingInfoProto&& from) noexcept
5313       : TrainingInfoProto(nullptr, std::move(from)) {}
5314   inline TrainingInfoProto& operator=(const TrainingInfoProto& from) {
5315     CopyFrom(from);
5316     return *this;
5317   }
5318   inline TrainingInfoProto& operator=(TrainingInfoProto&& from) noexcept {
5319     if (this == &from) return *this;
5320     if (GetArena() == from.GetArena()
5321 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5322         && GetArena() != nullptr
5323 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
5324     ) {
5325       InternalSwap(&from);
5326     } else {
5327       CopyFrom(from);
5328     }
5329     return *this;
5330   }
5331 
5332   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5333       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5334     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5335   }
5336   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
5337       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5338     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5339   }
5340 
5341   static const ::google::protobuf::Descriptor* descriptor() {
5342     return GetDescriptor();
5343   }
5344   static const ::google::protobuf::Descriptor* GetDescriptor() {
5345     return default_instance().GetMetadata().descriptor;
5346   }
5347   static const ::google::protobuf::Reflection* GetReflection() {
5348     return default_instance().GetMetadata().reflection;
5349   }
5350   static const TrainingInfoProto& default_instance() {
5351     return *internal_default_instance();
5352   }
5353   static inline const TrainingInfoProto* internal_default_instance() {
5354     return reinterpret_cast<const TrainingInfoProto*>(
5355         &_TrainingInfoProto_default_instance_);
5356   }
5357   static constexpr int kIndexInFileMessages = 3;
5358   friend void swap(TrainingInfoProto& a, TrainingInfoProto& b) { a.Swap(&b); }
5359   inline void Swap(TrainingInfoProto* other) {
5360     if (other == this) return;
5361 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5362     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
5363 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
5364     if (GetArena() == other->GetArena()) {
5365 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
5366       InternalSwap(other);
5367     } else {
5368       ::google::protobuf::internal::GenericSwap(this, other);
5369     }
5370   }
5371   void UnsafeArenaSwap(TrainingInfoProto* other) {
5372     if (other == this) return;
5373     ABSL_DCHECK(GetArena() == other->GetArena());
5374     InternalSwap(other);
5375   }
5376 
5377   // implements Message ----------------------------------------------
5378 
5379   TrainingInfoProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
5380     return ::google::protobuf::Message::DefaultConstruct<TrainingInfoProto>(arena);
5381   }
5382   using ::google::protobuf::Message::CopyFrom;
5383   void CopyFrom(const TrainingInfoProto& from);
5384   using ::google::protobuf::Message::MergeFrom;
5385   void MergeFrom(const TrainingInfoProto& from) { TrainingInfoProto::MergeImpl(*this, from); }
5386 
5387   private:
5388   static void MergeImpl(
5389       ::google::protobuf::MessageLite& to_msg,
5390       const ::google::protobuf::MessageLite& from_msg);
5391 
5392   public:
5393   bool IsInitialized() const {
5394     return true;
5395   }
5396   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5397   #if defined(PROTOBUF_CUSTOM_VTABLE)
5398   private:
5399   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5400   static ::uint8_t* _InternalSerialize(
5401       const MessageLite& msg, ::uint8_t* target,
5402       ::google::protobuf::io::EpsCopyOutputStream* stream);
5403 
5404   public:
5405   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5406   ::uint8_t* _InternalSerialize(
5407       ::uint8_t* target,
5408       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
5409     return _InternalSerialize(*this, target, stream);
5410   }
5411   #else   // PROTOBUF_CUSTOM_VTABLE
5412   ::size_t ByteSizeLong() const final;
5413   ::uint8_t* _InternalSerialize(
5414       ::uint8_t* target,
5415       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
5416   #endif  // PROTOBUF_CUSTOM_VTABLE
5417   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5418 
5419   private:
5420   void SharedCtor(::google::protobuf::Arena* arena);
5421   void SharedDtor();
5422   void InternalSwap(TrainingInfoProto* other);
5423  private:
5424   friend class ::google::protobuf::internal::AnyMetadata;
5425   static ::absl::string_view FullMessageName() { return "onnx.TrainingInfoProto"; }
5426 
5427  protected:
5428   explicit TrainingInfoProto(::google::protobuf::Arena* arena);
5429   TrainingInfoProto(::google::protobuf::Arena* arena, const TrainingInfoProto& from);
5430   TrainingInfoProto(::google::protobuf::Arena* arena, TrainingInfoProto&& from) noexcept
5431       : TrainingInfoProto(arena) {
5432     *this = ::std::move(from);
5433   }
5434   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
5435   static const ::google::protobuf::Message::ClassDataFull _class_data_;
5436 
5437  public:
5438   ::google::protobuf::Metadata GetMetadata() const;
5439   // nested types ----------------------------------------------------
5440 
5441   // accessors -------------------------------------------------------
5442   enum : int {
5443     kInitializationBindingFieldNumber = 3,
5444     kUpdateBindingFieldNumber = 4,
5445     kInitializationFieldNumber = 1,
5446     kAlgorithmFieldNumber = 2,
5447   };
5448   // repeated .onnx.StringStringEntryProto initialization_binding = 3;
5449   int initialization_binding_size() const;
5450   private:
5451   int _internal_initialization_binding_size() const;
5452 
5453   public:
5454   void clear_initialization_binding() ;
5455   ::onnx::StringStringEntryProto* mutable_initialization_binding(int index);
5456   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* mutable_initialization_binding();
5457 
5458   private:
5459   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& _internal_initialization_binding() const;
5460   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* _internal_mutable_initialization_binding();
5461   public:
5462   const ::onnx::StringStringEntryProto& initialization_binding(int index) const;
5463   ::onnx::StringStringEntryProto* add_initialization_binding();
5464   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& initialization_binding() const;
5465   // repeated .onnx.StringStringEntryProto update_binding = 4;
5466   int update_binding_size() const;
5467   private:
5468   int _internal_update_binding_size() const;
5469 
5470   public:
5471   void clear_update_binding() ;
5472   ::onnx::StringStringEntryProto* mutable_update_binding(int index);
5473   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* mutable_update_binding();
5474 
5475   private:
5476   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& _internal_update_binding() const;
5477   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* _internal_mutable_update_binding();
5478   public:
5479   const ::onnx::StringStringEntryProto& update_binding(int index) const;
5480   ::onnx::StringStringEntryProto* add_update_binding();
5481   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& update_binding() const;
5482   // optional .onnx.GraphProto initialization = 1;
5483   bool has_initialization() const;
5484   void clear_initialization() ;
5485   const ::onnx::GraphProto& initialization() const;
5486   PROTOBUF_NODISCARD ::onnx::GraphProto* release_initialization();
5487   ::onnx::GraphProto* mutable_initialization();
5488   void set_allocated_initialization(::onnx::GraphProto* value);
5489   void unsafe_arena_set_allocated_initialization(::onnx::GraphProto* value);
5490   ::onnx::GraphProto* unsafe_arena_release_initialization();
5491 
5492   private:
5493   const ::onnx::GraphProto& _internal_initialization() const;
5494   ::onnx::GraphProto* _internal_mutable_initialization();
5495 
5496   public:
5497   // optional .onnx.GraphProto algorithm = 2;
5498   bool has_algorithm() const;
5499   void clear_algorithm() ;
5500   const ::onnx::GraphProto& algorithm() const;
5501   PROTOBUF_NODISCARD ::onnx::GraphProto* release_algorithm();
5502   ::onnx::GraphProto* mutable_algorithm();
5503   void set_allocated_algorithm(::onnx::GraphProto* value);
5504   void unsafe_arena_set_allocated_algorithm(::onnx::GraphProto* value);
5505   ::onnx::GraphProto* unsafe_arena_release_algorithm();
5506 
5507   private:
5508   const ::onnx::GraphProto& _internal_algorithm() const;
5509   ::onnx::GraphProto* _internal_mutable_algorithm();
5510 
5511   public:
5512   // @@protoc_insertion_point(class_scope:onnx.TrainingInfoProto)
5513  private:
5514   class _Internal;
5515   friend class ::google::protobuf::internal::TcParser;
5516   static const ::google::protobuf::internal::TcParseTable<
5517       2, 4, 4,
5518       0, 2>
5519       _table_;
5520 
5521 
5522   friend class ::google::protobuf::MessageLite;
5523   friend class ::google::protobuf::Arena;
5524   template <typename T>
5525   friend class ::google::protobuf::Arena::InternalHelper;
5526   using InternalArenaConstructable_ = void;
5527   using DestructorSkippable_ = void;
5528   struct Impl_ {
5529     inline explicit constexpr Impl_(
5530         ::google::protobuf::internal::ConstantInitialized) noexcept;
5531     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5532                           ::google::protobuf::Arena* arena);
5533     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5534                           ::google::protobuf::Arena* arena, const Impl_& from,
5535                           const TrainingInfoProto& from_msg);
5536     ::google::protobuf::internal::HasBits<1> _has_bits_;
5537     mutable ::google::protobuf::internal::CachedSize _cached_size_;
5538     ::google::protobuf::RepeatedPtrField< ::onnx::StringStringEntryProto > initialization_binding_;
5539     ::google::protobuf::RepeatedPtrField< ::onnx::StringStringEntryProto > update_binding_;
5540     ::onnx::GraphProto* initialization_;
5541     ::onnx::GraphProto* algorithm_;
5542     PROTOBUF_TSAN_DECLARE_MEMBER
5543   };
5544   union { Impl_ _impl_; };
5545   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
5546 };
5547 // -------------------------------------------------------------------
5548 
5549 class ONNX_API FunctionProto final : public ::google::protobuf::Message
5550 /* @@protoc_insertion_point(class_definition:onnx.FunctionProto) */ {
5551  public:
5552   inline FunctionProto() : FunctionProto(nullptr) {}
5553   ~FunctionProto() PROTOBUF_FINAL;
5554   template <typename = void>
5555   explicit PROTOBUF_CONSTEXPR FunctionProto(
5556       ::google::protobuf::internal::ConstantInitialized);
5557 
5558   inline FunctionProto(const FunctionProto& from) : FunctionProto(nullptr, from) {}
5559   inline FunctionProto(FunctionProto&& from) noexcept
5560       : FunctionProto(nullptr, std::move(from)) {}
5561   inline FunctionProto& operator=(const FunctionProto& from) {
5562     CopyFrom(from);
5563     return *this;
5564   }
5565   inline FunctionProto& operator=(FunctionProto&& from) noexcept {
5566     if (this == &from) return *this;
5567     if (GetArena() == from.GetArena()
5568 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5569         && GetArena() != nullptr
5570 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
5571     ) {
5572       InternalSwap(&from);
5573     } else {
5574       CopyFrom(from);
5575     }
5576     return *this;
5577   }
5578 
5579   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5580       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5581     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5582   }
5583   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
5584       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5585     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5586   }
5587 
5588   static const ::google::protobuf::Descriptor* descriptor() {
5589     return GetDescriptor();
5590   }
5591   static const ::google::protobuf::Descriptor* GetDescriptor() {
5592     return default_instance().GetMetadata().descriptor;
5593   }
5594   static const ::google::protobuf::Reflection* GetReflection() {
5595     return default_instance().GetMetadata().reflection;
5596   }
5597   static const FunctionProto& default_instance() {
5598     return *internal_default_instance();
5599   }
5600   static inline const FunctionProto* internal_default_instance() {
5601     return reinterpret_cast<const FunctionProto*>(
5602         &_FunctionProto_default_instance_);
5603   }
5604   static constexpr int kIndexInFileMessages = 21;
5605   friend void swap(FunctionProto& a, FunctionProto& b) { a.Swap(&b); }
5606   inline void Swap(FunctionProto* other) {
5607     if (other == this) return;
5608 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5609     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
5610 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
5611     if (GetArena() == other->GetArena()) {
5612 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
5613       InternalSwap(other);
5614     } else {
5615       ::google::protobuf::internal::GenericSwap(this, other);
5616     }
5617   }
5618   void UnsafeArenaSwap(FunctionProto* other) {
5619     if (other == this) return;
5620     ABSL_DCHECK(GetArena() == other->GetArena());
5621     InternalSwap(other);
5622   }
5623 
5624   // implements Message ----------------------------------------------
5625 
5626   FunctionProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
5627     return ::google::protobuf::Message::DefaultConstruct<FunctionProto>(arena);
5628   }
5629   using ::google::protobuf::Message::CopyFrom;
5630   void CopyFrom(const FunctionProto& from);
5631   using ::google::protobuf::Message::MergeFrom;
5632   void MergeFrom(const FunctionProto& from) { FunctionProto::MergeImpl(*this, from); }
5633 
5634   private:
5635   static void MergeImpl(
5636       ::google::protobuf::MessageLite& to_msg,
5637       const ::google::protobuf::MessageLite& from_msg);
5638 
5639   public:
5640   bool IsInitialized() const {
5641     return true;
5642   }
5643   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5644   #if defined(PROTOBUF_CUSTOM_VTABLE)
5645   private:
5646   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5647   static ::uint8_t* _InternalSerialize(
5648       const MessageLite& msg, ::uint8_t* target,
5649       ::google::protobuf::io::EpsCopyOutputStream* stream);
5650 
5651   public:
5652   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5653   ::uint8_t* _InternalSerialize(
5654       ::uint8_t* target,
5655       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
5656     return _InternalSerialize(*this, target, stream);
5657   }
5658   #else   // PROTOBUF_CUSTOM_VTABLE
5659   ::size_t ByteSizeLong() const final;
5660   ::uint8_t* _InternalSerialize(
5661       ::uint8_t* target,
5662       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
5663   #endif  // PROTOBUF_CUSTOM_VTABLE
5664   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5665 
5666   private:
5667   void SharedCtor(::google::protobuf::Arena* arena);
5668   void SharedDtor();
5669   void InternalSwap(FunctionProto* other);
5670  private:
5671   friend class ::google::protobuf::internal::AnyMetadata;
5672   static ::absl::string_view FullMessageName() { return "onnx.FunctionProto"; }
5673 
5674  protected:
5675   explicit FunctionProto(::google::protobuf::Arena* arena);
5676   FunctionProto(::google::protobuf::Arena* arena, const FunctionProto& from);
5677   FunctionProto(::google::protobuf::Arena* arena, FunctionProto&& from) noexcept
5678       : FunctionProto(arena) {
5679     *this = ::std::move(from);
5680   }
5681   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
5682   static const ::google::protobuf::Message::ClassDataFull _class_data_;
5683 
5684  public:
5685   ::google::protobuf::Metadata GetMetadata() const;
5686   // nested types ----------------------------------------------------
5687 
5688   // accessors -------------------------------------------------------
5689   enum : int {
5690     kInputFieldNumber = 4,
5691     kOutputFieldNumber = 5,
5692     kAttributeFieldNumber = 6,
5693     kNodeFieldNumber = 7,
5694     kOpsetImportFieldNumber = 9,
5695     kAttributeProtoFieldNumber = 11,
5696     kNameFieldNumber = 1,
5697     kDocStringFieldNumber = 8,
5698     kDomainFieldNumber = 10,
5699   };
5700   // repeated string input = 4;
5701   int input_size() const;
5702   private:
5703   int _internal_input_size() const;
5704 
5705   public:
5706   void clear_input() ;
5707   const std::string& input(int index) const;
5708   std::string* mutable_input(int index);
5709   template <typename Arg_ = const std::string&, typename... Args_>
5710   void set_input(int index, Arg_&& value, Args_... args);
5711   std::string* add_input();
5712   template <typename Arg_ = const std::string&, typename... Args_>
5713   void add_input(Arg_&& value, Args_... args);
5714   const ::google::protobuf::RepeatedPtrField<std::string>& input() const;
5715   ::google::protobuf::RepeatedPtrField<std::string>* mutable_input();
5716 
5717   private:
5718   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_input() const;
5719   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_input();
5720 
5721   public:
5722   // repeated string output = 5;
5723   int output_size() const;
5724   private:
5725   int _internal_output_size() const;
5726 
5727   public:
5728   void clear_output() ;
5729   const std::string& output(int index) const;
5730   std::string* mutable_output(int index);
5731   template <typename Arg_ = const std::string&, typename... Args_>
5732   void set_output(int index, Arg_&& value, Args_... args);
5733   std::string* add_output();
5734   template <typename Arg_ = const std::string&, typename... Args_>
5735   void add_output(Arg_&& value, Args_... args);
5736   const ::google::protobuf::RepeatedPtrField<std::string>& output() const;
5737   ::google::protobuf::RepeatedPtrField<std::string>* mutable_output();
5738 
5739   private:
5740   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_output() const;
5741   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_output();
5742 
5743   public:
5744   // repeated string attribute = 6;
5745   int attribute_size() const;
5746   private:
5747   int _internal_attribute_size() const;
5748 
5749   public:
5750   void clear_attribute() ;
5751   const std::string& attribute(int index) const;
5752   std::string* mutable_attribute(int index);
5753   template <typename Arg_ = const std::string&, typename... Args_>
5754   void set_attribute(int index, Arg_&& value, Args_... args);
5755   std::string* add_attribute();
5756   template <typename Arg_ = const std::string&, typename... Args_>
5757   void add_attribute(Arg_&& value, Args_... args);
5758   const ::google::protobuf::RepeatedPtrField<std::string>& attribute() const;
5759   ::google::protobuf::RepeatedPtrField<std::string>* mutable_attribute();
5760 
5761   private:
5762   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_attribute() const;
5763   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_attribute();
5764 
5765   public:
5766   // repeated .onnx.NodeProto node = 7;
5767   int node_size() const;
5768   private:
5769   int _internal_node_size() const;
5770 
5771   public:
5772   void clear_node() ;
5773   ::onnx::NodeProto* mutable_node(int index);
5774   ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>* mutable_node();
5775 
5776   private:
5777   const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>& _internal_node() const;
5778   ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>* _internal_mutable_node();
5779   public:
5780   const ::onnx::NodeProto& node(int index) const;
5781   ::onnx::NodeProto* add_node();
5782   const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>& node() const;
5783   // repeated .onnx.OperatorSetIdProto opset_import = 9;
5784   int opset_import_size() const;
5785   private:
5786   int _internal_opset_import_size() const;
5787 
5788   public:
5789   void clear_opset_import() ;
5790   ::onnx::OperatorSetIdProto* mutable_opset_import(int index);
5791   ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>* mutable_opset_import();
5792 
5793   private:
5794   const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>& _internal_opset_import() const;
5795   ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>* _internal_mutable_opset_import();
5796   public:
5797   const ::onnx::OperatorSetIdProto& opset_import(int index) const;
5798   ::onnx::OperatorSetIdProto* add_opset_import();
5799   const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>& opset_import() const;
5800   // repeated .onnx.AttributeProto attribute_proto = 11;
5801   int attribute_proto_size() const;
5802   private:
5803   int _internal_attribute_proto_size() const;
5804 
5805   public:
5806   void clear_attribute_proto() ;
5807   ::onnx::AttributeProto* mutable_attribute_proto(int index);
5808   ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>* mutable_attribute_proto();
5809 
5810   private:
5811   const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>& _internal_attribute_proto() const;
5812   ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>* _internal_mutable_attribute_proto();
5813   public:
5814   const ::onnx::AttributeProto& attribute_proto(int index) const;
5815   ::onnx::AttributeProto* add_attribute_proto();
5816   const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>& attribute_proto() const;
5817   // optional string name = 1;
5818   bool has_name() const;
5819   void clear_name() ;
5820   const std::string& name() const;
5821   template <typename Arg_ = const std::string&, typename... Args_>
5822   void set_name(Arg_&& arg, Args_... args);
5823   std::string* mutable_name();
5824   PROTOBUF_NODISCARD std::string* release_name();
5825   void set_allocated_name(std::string* value);
5826 
5827   private:
5828   const std::string& _internal_name() const;
5829   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
5830       const std::string& value);
5831   std::string* _internal_mutable_name();
5832 
5833   public:
5834   // optional string doc_string = 8;
5835   bool has_doc_string() const;
5836   void clear_doc_string() ;
5837   const std::string& doc_string() const;
5838   template <typename Arg_ = const std::string&, typename... Args_>
5839   void set_doc_string(Arg_&& arg, Args_... args);
5840   std::string* mutable_doc_string();
5841   PROTOBUF_NODISCARD std::string* release_doc_string();
5842   void set_allocated_doc_string(std::string* value);
5843 
5844   private:
5845   const std::string& _internal_doc_string() const;
5846   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
5847       const std::string& value);
5848   std::string* _internal_mutable_doc_string();
5849 
5850   public:
5851   // optional string domain = 10;
5852   bool has_domain() const;
5853   void clear_domain() ;
5854   const std::string& domain() const;
5855   template <typename Arg_ = const std::string&, typename... Args_>
5856   void set_domain(Arg_&& arg, Args_... args);
5857   std::string* mutable_domain();
5858   PROTOBUF_NODISCARD std::string* release_domain();
5859   void set_allocated_domain(std::string* value);
5860 
5861   private:
5862   const std::string& _internal_domain() const;
5863   inline PROTOBUF_ALWAYS_INLINE void _internal_set_domain(
5864       const std::string& value);
5865   std::string* _internal_mutable_domain();
5866 
5867   public:
5868   // @@protoc_insertion_point(class_scope:onnx.FunctionProto)
5869  private:
5870   class _Internal;
5871   friend class ::google::protobuf::internal::TcParser;
5872   static const ::google::protobuf::internal::TcParseTable<
5873       4, 9, 3,
5874       75, 2>
5875       _table_;
5876 
5877 
5878   friend class ::google::protobuf::MessageLite;
5879   friend class ::google::protobuf::Arena;
5880   template <typename T>
5881   friend class ::google::protobuf::Arena::InternalHelper;
5882   using InternalArenaConstructable_ = void;
5883   using DestructorSkippable_ = void;
5884   struct Impl_ {
5885     inline explicit constexpr Impl_(
5886         ::google::protobuf::internal::ConstantInitialized) noexcept;
5887     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5888                           ::google::protobuf::Arena* arena);
5889     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5890                           ::google::protobuf::Arena* arena, const Impl_& from,
5891                           const FunctionProto& from_msg);
5892     ::google::protobuf::internal::HasBits<1> _has_bits_;
5893     mutable ::google::protobuf::internal::CachedSize _cached_size_;
5894     ::google::protobuf::RepeatedPtrField<std::string> input_;
5895     ::google::protobuf::RepeatedPtrField<std::string> output_;
5896     ::google::protobuf::RepeatedPtrField<std::string> attribute_;
5897     ::google::protobuf::RepeatedPtrField< ::onnx::NodeProto > node_;
5898     ::google::protobuf::RepeatedPtrField< ::onnx::OperatorSetIdProto > opset_import_;
5899     ::google::protobuf::RepeatedPtrField< ::onnx::AttributeProto > attribute_proto_;
5900     ::google::protobuf::internal::ArenaStringPtr name_;
5901     ::google::protobuf::internal::ArenaStringPtr doc_string_;
5902     ::google::protobuf::internal::ArenaStringPtr domain_;
5903     PROTOBUF_TSAN_DECLARE_MEMBER
5904   };
5905   union { Impl_ _impl_; };
5906   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
5907 };
5908 // -------------------------------------------------------------------
5909 
5910 class ONNX_API ModelProto final : public ::google::protobuf::Message
5911 /* @@protoc_insertion_point(class_definition:onnx.ModelProto) */ {
5912  public:
5913   inline ModelProto() : ModelProto(nullptr) {}
5914   ~ModelProto() PROTOBUF_FINAL;
5915   template <typename = void>
5916   explicit PROTOBUF_CONSTEXPR ModelProto(
5917       ::google::protobuf::internal::ConstantInitialized);
5918 
5919   inline ModelProto(const ModelProto& from) : ModelProto(nullptr, from) {}
5920   inline ModelProto(ModelProto&& from) noexcept
5921       : ModelProto(nullptr, std::move(from)) {}
5922   inline ModelProto& operator=(const ModelProto& from) {
5923     CopyFrom(from);
5924     return *this;
5925   }
5926   inline ModelProto& operator=(ModelProto&& from) noexcept {
5927     if (this == &from) return *this;
5928     if (GetArena() == from.GetArena()
5929 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5930         && GetArena() != nullptr
5931 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
5932     ) {
5933       InternalSwap(&from);
5934     } else {
5935       CopyFrom(from);
5936     }
5937     return *this;
5938   }
5939 
5940   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5941       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5942     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5943   }
5944   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
5945       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5946     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5947   }
5948 
5949   static const ::google::protobuf::Descriptor* descriptor() {
5950     return GetDescriptor();
5951   }
5952   static const ::google::protobuf::Descriptor* GetDescriptor() {
5953     return default_instance().GetMetadata().descriptor;
5954   }
5955   static const ::google::protobuf::Reflection* GetReflection() {
5956     return default_instance().GetMetadata().reflection;
5957   }
5958   static const ModelProto& default_instance() {
5959     return *internal_default_instance();
5960   }
5961   static inline const ModelProto* internal_default_instance() {
5962     return reinterpret_cast<const ModelProto*>(
5963         &_ModelProto_default_instance_);
5964   }
5965   static constexpr int kIndexInFileMessages = 4;
5966   friend void swap(ModelProto& a, ModelProto& b) { a.Swap(&b); }
5967   inline void Swap(ModelProto* other) {
5968     if (other == this) return;
5969 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5970     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
5971 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
5972     if (GetArena() == other->GetArena()) {
5973 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
5974       InternalSwap(other);
5975     } else {
5976       ::google::protobuf::internal::GenericSwap(this, other);
5977     }
5978   }
5979   void UnsafeArenaSwap(ModelProto* other) {
5980     if (other == this) return;
5981     ABSL_DCHECK(GetArena() == other->GetArena());
5982     InternalSwap(other);
5983   }
5984 
5985   // implements Message ----------------------------------------------
5986 
5987   ModelProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
5988     return ::google::protobuf::Message::DefaultConstruct<ModelProto>(arena);
5989   }
5990   using ::google::protobuf::Message::CopyFrom;
5991   void CopyFrom(const ModelProto& from);
5992   using ::google::protobuf::Message::MergeFrom;
5993   void MergeFrom(const ModelProto& from) { ModelProto::MergeImpl(*this, from); }
5994 
5995   private:
5996   static void MergeImpl(
5997       ::google::protobuf::MessageLite& to_msg,
5998       const ::google::protobuf::MessageLite& from_msg);
5999 
6000   public:
6001   bool IsInitialized() const {
6002     return true;
6003   }
6004   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6005   #if defined(PROTOBUF_CUSTOM_VTABLE)
6006   private:
6007   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6008   static ::uint8_t* _InternalSerialize(
6009       const MessageLite& msg, ::uint8_t* target,
6010       ::google::protobuf::io::EpsCopyOutputStream* stream);
6011 
6012   public:
6013   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6014   ::uint8_t* _InternalSerialize(
6015       ::uint8_t* target,
6016       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
6017     return _InternalSerialize(*this, target, stream);
6018   }
6019   #else   // PROTOBUF_CUSTOM_VTABLE
6020   ::size_t ByteSizeLong() const final;
6021   ::uint8_t* _InternalSerialize(
6022       ::uint8_t* target,
6023       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
6024   #endif  // PROTOBUF_CUSTOM_VTABLE
6025   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6026 
6027   private:
6028   void SharedCtor(::google::protobuf::Arena* arena);
6029   void SharedDtor();
6030   void InternalSwap(ModelProto* other);
6031  private:
6032   friend class ::google::protobuf::internal::AnyMetadata;
6033   static ::absl::string_view FullMessageName() { return "onnx.ModelProto"; }
6034 
6035  protected:
6036   explicit ModelProto(::google::protobuf::Arena* arena);
6037   ModelProto(::google::protobuf::Arena* arena, const ModelProto& from);
6038   ModelProto(::google::protobuf::Arena* arena, ModelProto&& from) noexcept
6039       : ModelProto(arena) {
6040     *this = ::std::move(from);
6041   }
6042   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
6043   static const ::google::protobuf::Message::ClassDataFull _class_data_;
6044 
6045  public:
6046   ::google::protobuf::Metadata GetMetadata() const;
6047   // nested types ----------------------------------------------------
6048 
6049   // accessors -------------------------------------------------------
6050   enum : int {
6051     kOpsetImportFieldNumber = 8,
6052     kMetadataPropsFieldNumber = 14,
6053     kTrainingInfoFieldNumber = 20,
6054     kFunctionsFieldNumber = 25,
6055     kProducerNameFieldNumber = 2,
6056     kProducerVersionFieldNumber = 3,
6057     kDomainFieldNumber = 4,
6058     kDocStringFieldNumber = 6,
6059     kGraphFieldNumber = 7,
6060     kIrVersionFieldNumber = 1,
6061     kModelVersionFieldNumber = 5,
6062   };
6063   // repeated .onnx.OperatorSetIdProto opset_import = 8;
6064   int opset_import_size() const;
6065   private:
6066   int _internal_opset_import_size() const;
6067 
6068   public:
6069   void clear_opset_import() ;
6070   ::onnx::OperatorSetIdProto* mutable_opset_import(int index);
6071   ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>* mutable_opset_import();
6072 
6073   private:
6074   const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>& _internal_opset_import() const;
6075   ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>* _internal_mutable_opset_import();
6076   public:
6077   const ::onnx::OperatorSetIdProto& opset_import(int index) const;
6078   ::onnx::OperatorSetIdProto* add_opset_import();
6079   const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>& opset_import() const;
6080   // repeated .onnx.StringStringEntryProto metadata_props = 14;
6081   int metadata_props_size() const;
6082   private:
6083   int _internal_metadata_props_size() const;
6084 
6085   public:
6086   void clear_metadata_props() ;
6087   ::onnx::StringStringEntryProto* mutable_metadata_props(int index);
6088   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* mutable_metadata_props();
6089 
6090   private:
6091   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& _internal_metadata_props() const;
6092   ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* _internal_mutable_metadata_props();
6093   public:
6094   const ::onnx::StringStringEntryProto& metadata_props(int index) const;
6095   ::onnx::StringStringEntryProto* add_metadata_props();
6096   const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& metadata_props() const;
6097   // repeated .onnx.TrainingInfoProto training_info = 20;
6098   int training_info_size() const;
6099   private:
6100   int _internal_training_info_size() const;
6101 
6102   public:
6103   void clear_training_info() ;
6104   ::onnx::TrainingInfoProto* mutable_training_info(int index);
6105   ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>* mutable_training_info();
6106 
6107   private:
6108   const ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>& _internal_training_info() const;
6109   ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>* _internal_mutable_training_info();
6110   public:
6111   const ::onnx::TrainingInfoProto& training_info(int index) const;
6112   ::onnx::TrainingInfoProto* add_training_info();
6113   const ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>& training_info() const;
6114   // repeated .onnx.FunctionProto functions = 25;
6115   int functions_size() const;
6116   private:
6117   int _internal_functions_size() const;
6118 
6119   public:
6120   void clear_functions() ;
6121   ::onnx::FunctionProto* mutable_functions(int index);
6122   ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>* mutable_functions();
6123 
6124   private:
6125   const ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>& _internal_functions() const;
6126   ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>* _internal_mutable_functions();
6127   public:
6128   const ::onnx::FunctionProto& functions(int index) const;
6129   ::onnx::FunctionProto* add_functions();
6130   const ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>& functions() const;
6131   // optional string producer_name = 2;
6132   bool has_producer_name() const;
6133   void clear_producer_name() ;
6134   const std::string& producer_name() const;
6135   template <typename Arg_ = const std::string&, typename... Args_>
6136   void set_producer_name(Arg_&& arg, Args_... args);
6137   std::string* mutable_producer_name();
6138   PROTOBUF_NODISCARD std::string* release_producer_name();
6139   void set_allocated_producer_name(std::string* value);
6140 
6141   private:
6142   const std::string& _internal_producer_name() const;
6143   inline PROTOBUF_ALWAYS_INLINE void _internal_set_producer_name(
6144       const std::string& value);
6145   std::string* _internal_mutable_producer_name();
6146 
6147   public:
6148   // optional string producer_version = 3;
6149   bool has_producer_version() const;
6150   void clear_producer_version() ;
6151   const std::string& producer_version() const;
6152   template <typename Arg_ = const std::string&, typename... Args_>
6153   void set_producer_version(Arg_&& arg, Args_... args);
6154   std::string* mutable_producer_version();
6155   PROTOBUF_NODISCARD std::string* release_producer_version();
6156   void set_allocated_producer_version(std::string* value);
6157 
6158   private:
6159   const std::string& _internal_producer_version() const;
6160   inline PROTOBUF_ALWAYS_INLINE void _internal_set_producer_version(
6161       const std::string& value);
6162   std::string* _internal_mutable_producer_version();
6163 
6164   public:
6165   // optional string domain = 4;
6166   bool has_domain() const;
6167   void clear_domain() ;
6168   const std::string& domain() const;
6169   template <typename Arg_ = const std::string&, typename... Args_>
6170   void set_domain(Arg_&& arg, Args_... args);
6171   std::string* mutable_domain();
6172   PROTOBUF_NODISCARD std::string* release_domain();
6173   void set_allocated_domain(std::string* value);
6174 
6175   private:
6176   const std::string& _internal_domain() const;
6177   inline PROTOBUF_ALWAYS_INLINE void _internal_set_domain(
6178       const std::string& value);
6179   std::string* _internal_mutable_domain();
6180 
6181   public:
6182   // optional string doc_string = 6;
6183   bool has_doc_string() const;
6184   void clear_doc_string() ;
6185   const std::string& doc_string() const;
6186   template <typename Arg_ = const std::string&, typename... Args_>
6187   void set_doc_string(Arg_&& arg, Args_... args);
6188   std::string* mutable_doc_string();
6189   PROTOBUF_NODISCARD std::string* release_doc_string();
6190   void set_allocated_doc_string(std::string* value);
6191 
6192   private:
6193   const std::string& _internal_doc_string() const;
6194   inline PROTOBUF_ALWAYS_INLINE void _internal_set_doc_string(
6195       const std::string& value);
6196   std::string* _internal_mutable_doc_string();
6197 
6198   public:
6199   // optional .onnx.GraphProto graph = 7;
6200   bool has_graph() const;
6201   void clear_graph() ;
6202   const ::onnx::GraphProto& graph() const;
6203   PROTOBUF_NODISCARD ::onnx::GraphProto* release_graph();
6204   ::onnx::GraphProto* mutable_graph();
6205   void set_allocated_graph(::onnx::GraphProto* value);
6206   void unsafe_arena_set_allocated_graph(::onnx::GraphProto* value);
6207   ::onnx::GraphProto* unsafe_arena_release_graph();
6208 
6209   private:
6210   const ::onnx::GraphProto& _internal_graph() const;
6211   ::onnx::GraphProto* _internal_mutable_graph();
6212 
6213   public:
6214   // optional int64 ir_version = 1;
6215   bool has_ir_version() const;
6216   void clear_ir_version() ;
6217   ::int64_t ir_version() const;
6218   void set_ir_version(::int64_t value);
6219 
6220   private:
6221   ::int64_t _internal_ir_version() const;
6222   void _internal_set_ir_version(::int64_t value);
6223 
6224   public:
6225   // optional int64 model_version = 5;
6226   bool has_model_version() const;
6227   void clear_model_version() ;
6228   ::int64_t model_version() const;
6229   void set_model_version(::int64_t value);
6230 
6231   private:
6232   ::int64_t _internal_model_version() const;
6233   void _internal_set_model_version(::int64_t value);
6234 
6235   public:
6236   // @@protoc_insertion_point(class_scope:onnx.ModelProto)
6237  private:
6238   class _Internal;
6239   friend class ::google::protobuf::internal::TcParser;
6240   static const ::google::protobuf::internal::TcParseTable<
6241       4, 11, 5,
6242       77, 2>
6243       _table_;
6244 
6245 
6246   friend class ::google::protobuf::MessageLite;
6247   friend class ::google::protobuf::Arena;
6248   template <typename T>
6249   friend class ::google::protobuf::Arena::InternalHelper;
6250   using InternalArenaConstructable_ = void;
6251   using DestructorSkippable_ = void;
6252   struct Impl_ {
6253     inline explicit constexpr Impl_(
6254         ::google::protobuf::internal::ConstantInitialized) noexcept;
6255     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
6256                           ::google::protobuf::Arena* arena);
6257     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
6258                           ::google::protobuf::Arena* arena, const Impl_& from,
6259                           const ModelProto& from_msg);
6260     ::google::protobuf::internal::HasBits<1> _has_bits_;
6261     mutable ::google::protobuf::internal::CachedSize _cached_size_;
6262     ::google::protobuf::RepeatedPtrField< ::onnx::OperatorSetIdProto > opset_import_;
6263     ::google::protobuf::RepeatedPtrField< ::onnx::StringStringEntryProto > metadata_props_;
6264     ::google::protobuf::RepeatedPtrField< ::onnx::TrainingInfoProto > training_info_;
6265     ::google::protobuf::RepeatedPtrField< ::onnx::FunctionProto > functions_;
6266     ::google::protobuf::internal::ArenaStringPtr producer_name_;
6267     ::google::protobuf::internal::ArenaStringPtr producer_version_;
6268     ::google::protobuf::internal::ArenaStringPtr domain_;
6269     ::google::protobuf::internal::ArenaStringPtr doc_string_;
6270     ::onnx::GraphProto* graph_;
6271     ::int64_t ir_version_;
6272     ::int64_t model_version_;
6273     PROTOBUF_TSAN_DECLARE_MEMBER
6274   };
6275   union { Impl_ _impl_; };
6276   friend struct ::TableStruct_onnx_2fonnx_2dml_2eproto;
6277 };
6278 
6279 // ===================================================================
6280 
6281 
6282 
6283 
6284 // ===================================================================
6285 
6286 
6287 #ifdef __GNUC__
6288 #pragma GCC diagnostic push
6289 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
6290 #endif  // __GNUC__
6291 // -------------------------------------------------------------------
6292 
6293 // AttributeProto
6294 
6295 // optional string name = 1;
6296 inline bool AttributeProto::has_name() const {
6297   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
6298   return value;
6299 }
6300 inline void AttributeProto::clear_name() {
6301   ::google::protobuf::internal::TSanWrite(&_impl_);
6302   _impl_.name_.ClearToEmpty();
6303   _impl_._has_bits_[0] &= ~0x00000001u;
6304 }
6305 inline const std::string& AttributeProto::name() const
6306     ABSL_ATTRIBUTE_LIFETIME_BOUND {
6307   // @@protoc_insertion_point(field_get:onnx.AttributeProto.name)
6308   return _internal_name();
6309 }
6310 template <typename Arg_, typename... Args_>
6311 inline PROTOBUF_ALWAYS_INLINE void AttributeProto::set_name(Arg_&& arg,
6312                                                      Args_... args) {
6313   ::google::protobuf::internal::TSanWrite(&_impl_);
6314   _impl_._has_bits_[0] |= 0x00000001u;
6315   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
6316   // @@protoc_insertion_point(field_set:onnx.AttributeProto.name)
6317 }
6318 inline std::string* AttributeProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6319   std::string* _s = _internal_mutable_name();
6320   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.name)
6321   return _s;
6322 }
6323 inline const std::string& AttributeProto::_internal_name() const {
6324   ::google::protobuf::internal::TSanRead(&_impl_);
6325   return _impl_.name_.Get();
6326 }
6327 inline void AttributeProto::_internal_set_name(const std::string& value) {
6328   ::google::protobuf::internal::TSanWrite(&_impl_);
6329   _impl_._has_bits_[0] |= 0x00000001u;
6330   _impl_.name_.Set(value, GetArena());
6331 }
6332 inline std::string* AttributeProto::_internal_mutable_name() {
6333   ::google::protobuf::internal::TSanWrite(&_impl_);
6334   _impl_._has_bits_[0] |= 0x00000001u;
6335   return _impl_.name_.Mutable( GetArena());
6336 }
6337 inline std::string* AttributeProto::release_name() {
6338   ::google::protobuf::internal::TSanWrite(&_impl_);
6339   // @@protoc_insertion_point(field_release:onnx.AttributeProto.name)
6340   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
6341     return nullptr;
6342   }
6343   _impl_._has_bits_[0] &= ~0x00000001u;
6344   auto* released = _impl_.name_.Release();
6345   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6346   _impl_.name_.Set("", GetArena());
6347   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6348   return released;
6349 }
6350 inline void AttributeProto::set_allocated_name(std::string* value) {
6351   ::google::protobuf::internal::TSanWrite(&_impl_);
6352   if (value != nullptr) {
6353     _impl_._has_bits_[0] |= 0x00000001u;
6354   } else {
6355     _impl_._has_bits_[0] &= ~0x00000001u;
6356   }
6357   _impl_.name_.SetAllocated(value, GetArena());
6358   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6359         if (_impl_.name_.IsDefault()) {
6360           _impl_.name_.Set("", GetArena());
6361         }
6362   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6363   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.name)
6364 }
6365 
6366 // optional string ref_attr_name = 21;
6367 inline bool AttributeProto::has_ref_attr_name() const {
6368   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
6369   return value;
6370 }
6371 inline void AttributeProto::clear_ref_attr_name() {
6372   ::google::protobuf::internal::TSanWrite(&_impl_);
6373   _impl_.ref_attr_name_.ClearToEmpty();
6374   _impl_._has_bits_[0] &= ~0x00000008u;
6375 }
6376 inline const std::string& AttributeProto::ref_attr_name() const
6377     ABSL_ATTRIBUTE_LIFETIME_BOUND {
6378   // @@protoc_insertion_point(field_get:onnx.AttributeProto.ref_attr_name)
6379   return _internal_ref_attr_name();
6380 }
6381 template <typename Arg_, typename... Args_>
6382 inline PROTOBUF_ALWAYS_INLINE void AttributeProto::set_ref_attr_name(Arg_&& arg,
6383                                                      Args_... args) {
6384   ::google::protobuf::internal::TSanWrite(&_impl_);
6385   _impl_._has_bits_[0] |= 0x00000008u;
6386   _impl_.ref_attr_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
6387   // @@protoc_insertion_point(field_set:onnx.AttributeProto.ref_attr_name)
6388 }
6389 inline std::string* AttributeProto::mutable_ref_attr_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6390   std::string* _s = _internal_mutable_ref_attr_name();
6391   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.ref_attr_name)
6392   return _s;
6393 }
6394 inline const std::string& AttributeProto::_internal_ref_attr_name() const {
6395   ::google::protobuf::internal::TSanRead(&_impl_);
6396   return _impl_.ref_attr_name_.Get();
6397 }
6398 inline void AttributeProto::_internal_set_ref_attr_name(const std::string& value) {
6399   ::google::protobuf::internal::TSanWrite(&_impl_);
6400   _impl_._has_bits_[0] |= 0x00000008u;
6401   _impl_.ref_attr_name_.Set(value, GetArena());
6402 }
6403 inline std::string* AttributeProto::_internal_mutable_ref_attr_name() {
6404   ::google::protobuf::internal::TSanWrite(&_impl_);
6405   _impl_._has_bits_[0] |= 0x00000008u;
6406   return _impl_.ref_attr_name_.Mutable( GetArena());
6407 }
6408 inline std::string* AttributeProto::release_ref_attr_name() {
6409   ::google::protobuf::internal::TSanWrite(&_impl_);
6410   // @@protoc_insertion_point(field_release:onnx.AttributeProto.ref_attr_name)
6411   if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
6412     return nullptr;
6413   }
6414   _impl_._has_bits_[0] &= ~0x00000008u;
6415   auto* released = _impl_.ref_attr_name_.Release();
6416   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6417   _impl_.ref_attr_name_.Set("", GetArena());
6418   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6419   return released;
6420 }
6421 inline void AttributeProto::set_allocated_ref_attr_name(std::string* value) {
6422   ::google::protobuf::internal::TSanWrite(&_impl_);
6423   if (value != nullptr) {
6424     _impl_._has_bits_[0] |= 0x00000008u;
6425   } else {
6426     _impl_._has_bits_[0] &= ~0x00000008u;
6427   }
6428   _impl_.ref_attr_name_.SetAllocated(value, GetArena());
6429   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6430         if (_impl_.ref_attr_name_.IsDefault()) {
6431           _impl_.ref_attr_name_.Set("", GetArena());
6432         }
6433   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6434   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.ref_attr_name)
6435 }
6436 
6437 // optional string doc_string = 13;
6438 inline bool AttributeProto::has_doc_string() const {
6439   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
6440   return value;
6441 }
6442 inline void AttributeProto::clear_doc_string() {
6443   ::google::protobuf::internal::TSanWrite(&_impl_);
6444   _impl_.doc_string_.ClearToEmpty();
6445   _impl_._has_bits_[0] &= ~0x00000004u;
6446 }
6447 inline const std::string& AttributeProto::doc_string() const
6448     ABSL_ATTRIBUTE_LIFETIME_BOUND {
6449   // @@protoc_insertion_point(field_get:onnx.AttributeProto.doc_string)
6450   return _internal_doc_string();
6451 }
6452 template <typename Arg_, typename... Args_>
6453 inline PROTOBUF_ALWAYS_INLINE void AttributeProto::set_doc_string(Arg_&& arg,
6454                                                      Args_... args) {
6455   ::google::protobuf::internal::TSanWrite(&_impl_);
6456   _impl_._has_bits_[0] |= 0x00000004u;
6457   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
6458   // @@protoc_insertion_point(field_set:onnx.AttributeProto.doc_string)
6459 }
6460 inline std::string* AttributeProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6461   std::string* _s = _internal_mutable_doc_string();
6462   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.doc_string)
6463   return _s;
6464 }
6465 inline const std::string& AttributeProto::_internal_doc_string() const {
6466   ::google::protobuf::internal::TSanRead(&_impl_);
6467   return _impl_.doc_string_.Get();
6468 }
6469 inline void AttributeProto::_internal_set_doc_string(const std::string& value) {
6470   ::google::protobuf::internal::TSanWrite(&_impl_);
6471   _impl_._has_bits_[0] |= 0x00000004u;
6472   _impl_.doc_string_.Set(value, GetArena());
6473 }
6474 inline std::string* AttributeProto::_internal_mutable_doc_string() {
6475   ::google::protobuf::internal::TSanWrite(&_impl_);
6476   _impl_._has_bits_[0] |= 0x00000004u;
6477   return _impl_.doc_string_.Mutable( GetArena());
6478 }
6479 inline std::string* AttributeProto::release_doc_string() {
6480   ::google::protobuf::internal::TSanWrite(&_impl_);
6481   // @@protoc_insertion_point(field_release:onnx.AttributeProto.doc_string)
6482   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
6483     return nullptr;
6484   }
6485   _impl_._has_bits_[0] &= ~0x00000004u;
6486   auto* released = _impl_.doc_string_.Release();
6487   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6488   _impl_.doc_string_.Set("", GetArena());
6489   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6490   return released;
6491 }
6492 inline void AttributeProto::set_allocated_doc_string(std::string* value) {
6493   ::google::protobuf::internal::TSanWrite(&_impl_);
6494   if (value != nullptr) {
6495     _impl_._has_bits_[0] |= 0x00000004u;
6496   } else {
6497     _impl_._has_bits_[0] &= ~0x00000004u;
6498   }
6499   _impl_.doc_string_.SetAllocated(value, GetArena());
6500   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6501         if (_impl_.doc_string_.IsDefault()) {
6502           _impl_.doc_string_.Set("", GetArena());
6503         }
6504   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6505   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.doc_string)
6506 }
6507 
6508 // optional .onnx.AttributeProto.AttributeType type = 20;
6509 inline bool AttributeProto::has_type() const {
6510   bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
6511   return value;
6512 }
6513 inline void AttributeProto::clear_type() {
6514   ::google::protobuf::internal::TSanWrite(&_impl_);
6515   _impl_.type_ = 0;
6516   _impl_._has_bits_[0] &= ~0x00000400u;
6517 }
6518 inline ::onnx::AttributeProto_AttributeType AttributeProto::type() const {
6519   // @@protoc_insertion_point(field_get:onnx.AttributeProto.type)
6520   return _internal_type();
6521 }
6522 inline void AttributeProto::set_type(::onnx::AttributeProto_AttributeType value) {
6523   _internal_set_type(value);
6524   _impl_._has_bits_[0] |= 0x00000400u;
6525   // @@protoc_insertion_point(field_set:onnx.AttributeProto.type)
6526 }
6527 inline ::onnx::AttributeProto_AttributeType AttributeProto::_internal_type() const {
6528   ::google::protobuf::internal::TSanRead(&_impl_);
6529   return static_cast<::onnx::AttributeProto_AttributeType>(_impl_.type_);
6530 }
6531 inline void AttributeProto::_internal_set_type(::onnx::AttributeProto_AttributeType value) {
6532   ::google::protobuf::internal::TSanWrite(&_impl_);
6533   assert(::onnx::AttributeProto_AttributeType_IsValid(value));
6534   _impl_.type_ = value;
6535 }
6536 
6537 // optional float f = 2;
6538 inline bool AttributeProto::has_f() const {
6539   bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
6540   return value;
6541 }
6542 inline void AttributeProto::clear_f() {
6543   ::google::protobuf::internal::TSanWrite(&_impl_);
6544   _impl_.f_ = 0;
6545   _impl_._has_bits_[0] &= ~0x00000200u;
6546 }
6547 inline float AttributeProto::f() const {
6548   // @@protoc_insertion_point(field_get:onnx.AttributeProto.f)
6549   return _internal_f();
6550 }
6551 inline void AttributeProto::set_f(float value) {
6552   _internal_set_f(value);
6553   _impl_._has_bits_[0] |= 0x00000200u;
6554   // @@protoc_insertion_point(field_set:onnx.AttributeProto.f)
6555 }
6556 inline float AttributeProto::_internal_f() const {
6557   ::google::protobuf::internal::TSanRead(&_impl_);
6558   return _impl_.f_;
6559 }
6560 inline void AttributeProto::_internal_set_f(float value) {
6561   ::google::protobuf::internal::TSanWrite(&_impl_);
6562   _impl_.f_ = value;
6563 }
6564 
6565 // optional int64 i = 3;
6566 inline bool AttributeProto::has_i() const {
6567   bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
6568   return value;
6569 }
6570 inline void AttributeProto::clear_i() {
6571   ::google::protobuf::internal::TSanWrite(&_impl_);
6572   _impl_.i_ = ::int64_t{0};
6573   _impl_._has_bits_[0] &= ~0x00000100u;
6574 }
6575 inline ::int64_t AttributeProto::i() const {
6576   // @@protoc_insertion_point(field_get:onnx.AttributeProto.i)
6577   return _internal_i();
6578 }
6579 inline void AttributeProto::set_i(::int64_t value) {
6580   _internal_set_i(value);
6581   _impl_._has_bits_[0] |= 0x00000100u;
6582   // @@protoc_insertion_point(field_set:onnx.AttributeProto.i)
6583 }
6584 inline ::int64_t AttributeProto::_internal_i() const {
6585   ::google::protobuf::internal::TSanRead(&_impl_);
6586   return _impl_.i_;
6587 }
6588 inline void AttributeProto::_internal_set_i(::int64_t value) {
6589   ::google::protobuf::internal::TSanWrite(&_impl_);
6590   _impl_.i_ = value;
6591 }
6592 
6593 // optional bytes s = 4;
6594 inline bool AttributeProto::has_s() const {
6595   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
6596   return value;
6597 }
6598 inline void AttributeProto::clear_s() {
6599   ::google::protobuf::internal::TSanWrite(&_impl_);
6600   _impl_.s_.ClearToEmpty();
6601   _impl_._has_bits_[0] &= ~0x00000002u;
6602 }
6603 inline const std::string& AttributeProto::s() const
6604     ABSL_ATTRIBUTE_LIFETIME_BOUND {
6605   // @@protoc_insertion_point(field_get:onnx.AttributeProto.s)
6606   return _internal_s();
6607 }
6608 template <typename Arg_, typename... Args_>
6609 inline PROTOBUF_ALWAYS_INLINE void AttributeProto::set_s(Arg_&& arg,
6610                                                      Args_... args) {
6611   ::google::protobuf::internal::TSanWrite(&_impl_);
6612   _impl_._has_bits_[0] |= 0x00000002u;
6613   _impl_.s_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
6614   // @@protoc_insertion_point(field_set:onnx.AttributeProto.s)
6615 }
6616 inline std::string* AttributeProto::mutable_s() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6617   std::string* _s = _internal_mutable_s();
6618   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.s)
6619   return _s;
6620 }
6621 inline const std::string& AttributeProto::_internal_s() const {
6622   ::google::protobuf::internal::TSanRead(&_impl_);
6623   return _impl_.s_.Get();
6624 }
6625 inline void AttributeProto::_internal_set_s(const std::string& value) {
6626   ::google::protobuf::internal::TSanWrite(&_impl_);
6627   _impl_._has_bits_[0] |= 0x00000002u;
6628   _impl_.s_.Set(value, GetArena());
6629 }
6630 inline std::string* AttributeProto::_internal_mutable_s() {
6631   ::google::protobuf::internal::TSanWrite(&_impl_);
6632   _impl_._has_bits_[0] |= 0x00000002u;
6633   return _impl_.s_.Mutable( GetArena());
6634 }
6635 inline std::string* AttributeProto::release_s() {
6636   ::google::protobuf::internal::TSanWrite(&_impl_);
6637   // @@protoc_insertion_point(field_release:onnx.AttributeProto.s)
6638   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
6639     return nullptr;
6640   }
6641   _impl_._has_bits_[0] &= ~0x00000002u;
6642   auto* released = _impl_.s_.Release();
6643   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6644   _impl_.s_.Set("", GetArena());
6645   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6646   return released;
6647 }
6648 inline void AttributeProto::set_allocated_s(std::string* value) {
6649   ::google::protobuf::internal::TSanWrite(&_impl_);
6650   if (value != nullptr) {
6651     _impl_._has_bits_[0] |= 0x00000002u;
6652   } else {
6653     _impl_._has_bits_[0] &= ~0x00000002u;
6654   }
6655   _impl_.s_.SetAllocated(value, GetArena());
6656   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6657         if (_impl_.s_.IsDefault()) {
6658           _impl_.s_.Set("", GetArena());
6659         }
6660   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6661   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.s)
6662 }
6663 
6664 // optional .onnx.TensorProto t = 5;
6665 inline bool AttributeProto::has_t() const {
6666   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
6667   PROTOBUF_ASSUME(!value || _impl_.t_ != nullptr);
6668   return value;
6669 }
6670 inline void AttributeProto::clear_t() {
6671   ::google::protobuf::internal::TSanWrite(&_impl_);
6672   if (_impl_.t_ != nullptr) _impl_.t_->Clear();
6673   _impl_._has_bits_[0] &= ~0x00000010u;
6674 }
6675 inline const ::onnx::TensorProto& AttributeProto::_internal_t() const {
6676   ::google::protobuf::internal::TSanRead(&_impl_);
6677   const ::onnx::TensorProto* p = _impl_.t_;
6678   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TensorProto&>(::onnx::_TensorProto_default_instance_);
6679 }
6680 inline const ::onnx::TensorProto& AttributeProto::t() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6681   // @@protoc_insertion_point(field_get:onnx.AttributeProto.t)
6682   return _internal_t();
6683 }
6684 inline void AttributeProto::unsafe_arena_set_allocated_t(::onnx::TensorProto* value) {
6685   ::google::protobuf::internal::TSanWrite(&_impl_);
6686   if (GetArena() == nullptr) {
6687     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.t_);
6688   }
6689   _impl_.t_ = reinterpret_cast<::onnx::TensorProto*>(value);
6690   if (value != nullptr) {
6691     _impl_._has_bits_[0] |= 0x00000010u;
6692   } else {
6693     _impl_._has_bits_[0] &= ~0x00000010u;
6694   }
6695   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.AttributeProto.t)
6696 }
6697 inline ::onnx::TensorProto* AttributeProto::release_t() {
6698   ::google::protobuf::internal::TSanWrite(&_impl_);
6699 
6700   _impl_._has_bits_[0] &= ~0x00000010u;
6701   ::onnx::TensorProto* released = _impl_.t_;
6702   _impl_.t_ = nullptr;
6703 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
6704   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
6705   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6706   if (GetArena() == nullptr) {
6707     delete old;
6708   }
6709 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
6710   if (GetArena() != nullptr) {
6711     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6712   }
6713 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
6714   return released;
6715 }
6716 inline ::onnx::TensorProto* AttributeProto::unsafe_arena_release_t() {
6717   ::google::protobuf::internal::TSanWrite(&_impl_);
6718   // @@protoc_insertion_point(field_release:onnx.AttributeProto.t)
6719 
6720   _impl_._has_bits_[0] &= ~0x00000010u;
6721   ::onnx::TensorProto* temp = _impl_.t_;
6722   _impl_.t_ = nullptr;
6723   return temp;
6724 }
6725 inline ::onnx::TensorProto* AttributeProto::_internal_mutable_t() {
6726   ::google::protobuf::internal::TSanWrite(&_impl_);
6727   if (_impl_.t_ == nullptr) {
6728     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TensorProto>(GetArena());
6729     _impl_.t_ = reinterpret_cast<::onnx::TensorProto*>(p);
6730   }
6731   return _impl_.t_;
6732 }
6733 inline ::onnx::TensorProto* AttributeProto::mutable_t() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6734   _impl_._has_bits_[0] |= 0x00000010u;
6735   ::onnx::TensorProto* _msg = _internal_mutable_t();
6736   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.t)
6737   return _msg;
6738 }
6739 inline void AttributeProto::set_allocated_t(::onnx::TensorProto* value) {
6740   ::google::protobuf::Arena* message_arena = GetArena();
6741   ::google::protobuf::internal::TSanWrite(&_impl_);
6742   if (message_arena == nullptr) {
6743     delete (_impl_.t_);
6744   }
6745 
6746   if (value != nullptr) {
6747     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
6748     if (message_arena != submessage_arena) {
6749       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
6750     }
6751     _impl_._has_bits_[0] |= 0x00000010u;
6752   } else {
6753     _impl_._has_bits_[0] &= ~0x00000010u;
6754   }
6755 
6756   _impl_.t_ = reinterpret_cast<::onnx::TensorProto*>(value);
6757   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.t)
6758 }
6759 
6760 // optional .onnx.GraphProto g = 6;
6761 inline bool AttributeProto::has_g() const {
6762   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
6763   PROTOBUF_ASSUME(!value || _impl_.g_ != nullptr);
6764   return value;
6765 }
6766 inline void AttributeProto::clear_g() {
6767   ::google::protobuf::internal::TSanWrite(&_impl_);
6768   if (_impl_.g_ != nullptr) _impl_.g_->Clear();
6769   _impl_._has_bits_[0] &= ~0x00000020u;
6770 }
6771 inline const ::onnx::GraphProto& AttributeProto::_internal_g() const {
6772   ::google::protobuf::internal::TSanRead(&_impl_);
6773   const ::onnx::GraphProto* p = _impl_.g_;
6774   return p != nullptr ? *p : reinterpret_cast<const ::onnx::GraphProto&>(::onnx::_GraphProto_default_instance_);
6775 }
6776 inline const ::onnx::GraphProto& AttributeProto::g() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6777   // @@protoc_insertion_point(field_get:onnx.AttributeProto.g)
6778   return _internal_g();
6779 }
6780 inline void AttributeProto::unsafe_arena_set_allocated_g(::onnx::GraphProto* value) {
6781   ::google::protobuf::internal::TSanWrite(&_impl_);
6782   if (GetArena() == nullptr) {
6783     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.g_);
6784   }
6785   _impl_.g_ = reinterpret_cast<::onnx::GraphProto*>(value);
6786   if (value != nullptr) {
6787     _impl_._has_bits_[0] |= 0x00000020u;
6788   } else {
6789     _impl_._has_bits_[0] &= ~0x00000020u;
6790   }
6791   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.AttributeProto.g)
6792 }
6793 inline ::onnx::GraphProto* AttributeProto::release_g() {
6794   ::google::protobuf::internal::TSanWrite(&_impl_);
6795 
6796   _impl_._has_bits_[0] &= ~0x00000020u;
6797   ::onnx::GraphProto* released = _impl_.g_;
6798   _impl_.g_ = nullptr;
6799 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
6800   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
6801   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6802   if (GetArena() == nullptr) {
6803     delete old;
6804   }
6805 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
6806   if (GetArena() != nullptr) {
6807     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6808   }
6809 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
6810   return released;
6811 }
6812 inline ::onnx::GraphProto* AttributeProto::unsafe_arena_release_g() {
6813   ::google::protobuf::internal::TSanWrite(&_impl_);
6814   // @@protoc_insertion_point(field_release:onnx.AttributeProto.g)
6815 
6816   _impl_._has_bits_[0] &= ~0x00000020u;
6817   ::onnx::GraphProto* temp = _impl_.g_;
6818   _impl_.g_ = nullptr;
6819   return temp;
6820 }
6821 inline ::onnx::GraphProto* AttributeProto::_internal_mutable_g() {
6822   ::google::protobuf::internal::TSanWrite(&_impl_);
6823   if (_impl_.g_ == nullptr) {
6824     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::GraphProto>(GetArena());
6825     _impl_.g_ = reinterpret_cast<::onnx::GraphProto*>(p);
6826   }
6827   return _impl_.g_;
6828 }
6829 inline ::onnx::GraphProto* AttributeProto::mutable_g() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6830   _impl_._has_bits_[0] |= 0x00000020u;
6831   ::onnx::GraphProto* _msg = _internal_mutable_g();
6832   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.g)
6833   return _msg;
6834 }
6835 inline void AttributeProto::set_allocated_g(::onnx::GraphProto* value) {
6836   ::google::protobuf::Arena* message_arena = GetArena();
6837   ::google::protobuf::internal::TSanWrite(&_impl_);
6838   if (message_arena == nullptr) {
6839     delete (_impl_.g_);
6840   }
6841 
6842   if (value != nullptr) {
6843     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
6844     if (message_arena != submessage_arena) {
6845       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
6846     }
6847     _impl_._has_bits_[0] |= 0x00000020u;
6848   } else {
6849     _impl_._has_bits_[0] &= ~0x00000020u;
6850   }
6851 
6852   _impl_.g_ = reinterpret_cast<::onnx::GraphProto*>(value);
6853   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.g)
6854 }
6855 
6856 // optional .onnx.SparseTensorProto sparse_tensor = 22;
6857 inline bool AttributeProto::has_sparse_tensor() const {
6858   bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
6859   PROTOBUF_ASSUME(!value || _impl_.sparse_tensor_ != nullptr);
6860   return value;
6861 }
6862 inline void AttributeProto::clear_sparse_tensor() {
6863   ::google::protobuf::internal::TSanWrite(&_impl_);
6864   if (_impl_.sparse_tensor_ != nullptr) _impl_.sparse_tensor_->Clear();
6865   _impl_._has_bits_[0] &= ~0x00000080u;
6866 }
6867 inline const ::onnx::SparseTensorProto& AttributeProto::_internal_sparse_tensor() const {
6868   ::google::protobuf::internal::TSanRead(&_impl_);
6869   const ::onnx::SparseTensorProto* p = _impl_.sparse_tensor_;
6870   return p != nullptr ? *p : reinterpret_cast<const ::onnx::SparseTensorProto&>(::onnx::_SparseTensorProto_default_instance_);
6871 }
6872 inline const ::onnx::SparseTensorProto& AttributeProto::sparse_tensor() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6873   // @@protoc_insertion_point(field_get:onnx.AttributeProto.sparse_tensor)
6874   return _internal_sparse_tensor();
6875 }
6876 inline void AttributeProto::unsafe_arena_set_allocated_sparse_tensor(::onnx::SparseTensorProto* value) {
6877   ::google::protobuf::internal::TSanWrite(&_impl_);
6878   if (GetArena() == nullptr) {
6879     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sparse_tensor_);
6880   }
6881   _impl_.sparse_tensor_ = reinterpret_cast<::onnx::SparseTensorProto*>(value);
6882   if (value != nullptr) {
6883     _impl_._has_bits_[0] |= 0x00000080u;
6884   } else {
6885     _impl_._has_bits_[0] &= ~0x00000080u;
6886   }
6887   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.AttributeProto.sparse_tensor)
6888 }
6889 inline ::onnx::SparseTensorProto* AttributeProto::release_sparse_tensor() {
6890   ::google::protobuf::internal::TSanWrite(&_impl_);
6891 
6892   _impl_._has_bits_[0] &= ~0x00000080u;
6893   ::onnx::SparseTensorProto* released = _impl_.sparse_tensor_;
6894   _impl_.sparse_tensor_ = nullptr;
6895 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
6896   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
6897   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6898   if (GetArena() == nullptr) {
6899     delete old;
6900   }
6901 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
6902   if (GetArena() != nullptr) {
6903     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6904   }
6905 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
6906   return released;
6907 }
6908 inline ::onnx::SparseTensorProto* AttributeProto::unsafe_arena_release_sparse_tensor() {
6909   ::google::protobuf::internal::TSanWrite(&_impl_);
6910   // @@protoc_insertion_point(field_release:onnx.AttributeProto.sparse_tensor)
6911 
6912   _impl_._has_bits_[0] &= ~0x00000080u;
6913   ::onnx::SparseTensorProto* temp = _impl_.sparse_tensor_;
6914   _impl_.sparse_tensor_ = nullptr;
6915   return temp;
6916 }
6917 inline ::onnx::SparseTensorProto* AttributeProto::_internal_mutable_sparse_tensor() {
6918   ::google::protobuf::internal::TSanWrite(&_impl_);
6919   if (_impl_.sparse_tensor_ == nullptr) {
6920     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::SparseTensorProto>(GetArena());
6921     _impl_.sparse_tensor_ = reinterpret_cast<::onnx::SparseTensorProto*>(p);
6922   }
6923   return _impl_.sparse_tensor_;
6924 }
6925 inline ::onnx::SparseTensorProto* AttributeProto::mutable_sparse_tensor() ABSL_ATTRIBUTE_LIFETIME_BOUND {
6926   _impl_._has_bits_[0] |= 0x00000080u;
6927   ::onnx::SparseTensorProto* _msg = _internal_mutable_sparse_tensor();
6928   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.sparse_tensor)
6929   return _msg;
6930 }
6931 inline void AttributeProto::set_allocated_sparse_tensor(::onnx::SparseTensorProto* value) {
6932   ::google::protobuf::Arena* message_arena = GetArena();
6933   ::google::protobuf::internal::TSanWrite(&_impl_);
6934   if (message_arena == nullptr) {
6935     delete (_impl_.sparse_tensor_);
6936   }
6937 
6938   if (value != nullptr) {
6939     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
6940     if (message_arena != submessage_arena) {
6941       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
6942     }
6943     _impl_._has_bits_[0] |= 0x00000080u;
6944   } else {
6945     _impl_._has_bits_[0] &= ~0x00000080u;
6946   }
6947 
6948   _impl_.sparse_tensor_ = reinterpret_cast<::onnx::SparseTensorProto*>(value);
6949   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.sparse_tensor)
6950 }
6951 
6952 // optional .onnx.TypeProto tp = 14;
6953 inline bool AttributeProto::has_tp() const {
6954   bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
6955   PROTOBUF_ASSUME(!value || _impl_.tp_ != nullptr);
6956   return value;
6957 }
6958 inline void AttributeProto::clear_tp() {
6959   ::google::protobuf::internal::TSanWrite(&_impl_);
6960   if (_impl_.tp_ != nullptr) _impl_.tp_->Clear();
6961   _impl_._has_bits_[0] &= ~0x00000040u;
6962 }
6963 inline const ::onnx::TypeProto& AttributeProto::_internal_tp() const {
6964   ::google::protobuf::internal::TSanRead(&_impl_);
6965   const ::onnx::TypeProto* p = _impl_.tp_;
6966   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TypeProto&>(::onnx::_TypeProto_default_instance_);
6967 }
6968 inline const ::onnx::TypeProto& AttributeProto::tp() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6969   // @@protoc_insertion_point(field_get:onnx.AttributeProto.tp)
6970   return _internal_tp();
6971 }
6972 inline void AttributeProto::unsafe_arena_set_allocated_tp(::onnx::TypeProto* value) {
6973   ::google::protobuf::internal::TSanWrite(&_impl_);
6974   if (GetArena() == nullptr) {
6975     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tp_);
6976   }
6977   _impl_.tp_ = reinterpret_cast<::onnx::TypeProto*>(value);
6978   if (value != nullptr) {
6979     _impl_._has_bits_[0] |= 0x00000040u;
6980   } else {
6981     _impl_._has_bits_[0] &= ~0x00000040u;
6982   }
6983   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.AttributeProto.tp)
6984 }
6985 inline ::onnx::TypeProto* AttributeProto::release_tp() {
6986   ::google::protobuf::internal::TSanWrite(&_impl_);
6987 
6988   _impl_._has_bits_[0] &= ~0x00000040u;
6989   ::onnx::TypeProto* released = _impl_.tp_;
6990   _impl_.tp_ = nullptr;
6991 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
6992   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
6993   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
6994   if (GetArena() == nullptr) {
6995     delete old;
6996   }
6997 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
6998   if (GetArena() != nullptr) {
6999     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
7000   }
7001 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
7002   return released;
7003 }
7004 inline ::onnx::TypeProto* AttributeProto::unsafe_arena_release_tp() {
7005   ::google::protobuf::internal::TSanWrite(&_impl_);
7006   // @@protoc_insertion_point(field_release:onnx.AttributeProto.tp)
7007 
7008   _impl_._has_bits_[0] &= ~0x00000040u;
7009   ::onnx::TypeProto* temp = _impl_.tp_;
7010   _impl_.tp_ = nullptr;
7011   return temp;
7012 }
7013 inline ::onnx::TypeProto* AttributeProto::_internal_mutable_tp() {
7014   ::google::protobuf::internal::TSanWrite(&_impl_);
7015   if (_impl_.tp_ == nullptr) {
7016     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto>(GetArena());
7017     _impl_.tp_ = reinterpret_cast<::onnx::TypeProto*>(p);
7018   }
7019   return _impl_.tp_;
7020 }
7021 inline ::onnx::TypeProto* AttributeProto::mutable_tp() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7022   _impl_._has_bits_[0] |= 0x00000040u;
7023   ::onnx::TypeProto* _msg = _internal_mutable_tp();
7024   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.tp)
7025   return _msg;
7026 }
7027 inline void AttributeProto::set_allocated_tp(::onnx::TypeProto* value) {
7028   ::google::protobuf::Arena* message_arena = GetArena();
7029   ::google::protobuf::internal::TSanWrite(&_impl_);
7030   if (message_arena == nullptr) {
7031     delete (_impl_.tp_);
7032   }
7033 
7034   if (value != nullptr) {
7035     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
7036     if (message_arena != submessage_arena) {
7037       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
7038     }
7039     _impl_._has_bits_[0] |= 0x00000040u;
7040   } else {
7041     _impl_._has_bits_[0] &= ~0x00000040u;
7042   }
7043 
7044   _impl_.tp_ = reinterpret_cast<::onnx::TypeProto*>(value);
7045   // @@protoc_insertion_point(field_set_allocated:onnx.AttributeProto.tp)
7046 }
7047 
7048 // repeated float floats = 7;
7049 inline int AttributeProto::_internal_floats_size() const {
7050   return _internal_floats().size();
7051 }
7052 inline int AttributeProto::floats_size() const {
7053   return _internal_floats_size();
7054 }
7055 inline void AttributeProto::clear_floats() {
7056   ::google::protobuf::internal::TSanWrite(&_impl_);
7057   _impl_.floats_.Clear();
7058 }
7059 inline float AttributeProto::floats(int index) const {
7060   // @@protoc_insertion_point(field_get:onnx.AttributeProto.floats)
7061   return _internal_floats().Get(index);
7062 }
7063 inline void AttributeProto::set_floats(int index, float value) {
7064   _internal_mutable_floats()->Set(index, value);
7065   // @@protoc_insertion_point(field_set:onnx.AttributeProto.floats)
7066 }
7067 inline void AttributeProto::add_floats(float value) {
7068   ::google::protobuf::internal::TSanWrite(&_impl_);
7069   _internal_mutable_floats()->Add(value);
7070   // @@protoc_insertion_point(field_add:onnx.AttributeProto.floats)
7071 }
7072 inline const ::google::protobuf::RepeatedField<float>& AttributeProto::floats() const
7073     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7074   // @@protoc_insertion_point(field_list:onnx.AttributeProto.floats)
7075   return _internal_floats();
7076 }
7077 inline ::google::protobuf::RepeatedField<float>* AttributeProto::mutable_floats()
7078     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7079   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.floats)
7080   ::google::protobuf::internal::TSanWrite(&_impl_);
7081   return _internal_mutable_floats();
7082 }
7083 inline const ::google::protobuf::RepeatedField<float>&
7084 AttributeProto::_internal_floats() const {
7085   ::google::protobuf::internal::TSanRead(&_impl_);
7086   return _impl_.floats_;
7087 }
7088 inline ::google::protobuf::RepeatedField<float>* AttributeProto::_internal_mutable_floats() {
7089   ::google::protobuf::internal::TSanRead(&_impl_);
7090   return &_impl_.floats_;
7091 }
7092 
7093 // repeated int64 ints = 8;
7094 inline int AttributeProto::_internal_ints_size() const {
7095   return _internal_ints().size();
7096 }
7097 inline int AttributeProto::ints_size() const {
7098   return _internal_ints_size();
7099 }
7100 inline void AttributeProto::clear_ints() {
7101   ::google::protobuf::internal::TSanWrite(&_impl_);
7102   _impl_.ints_.Clear();
7103 }
7104 inline ::int64_t AttributeProto::ints(int index) const {
7105   // @@protoc_insertion_point(field_get:onnx.AttributeProto.ints)
7106   return _internal_ints().Get(index);
7107 }
7108 inline void AttributeProto::set_ints(int index, ::int64_t value) {
7109   _internal_mutable_ints()->Set(index, value);
7110   // @@protoc_insertion_point(field_set:onnx.AttributeProto.ints)
7111 }
7112 inline void AttributeProto::add_ints(::int64_t value) {
7113   ::google::protobuf::internal::TSanWrite(&_impl_);
7114   _internal_mutable_ints()->Add(value);
7115   // @@protoc_insertion_point(field_add:onnx.AttributeProto.ints)
7116 }
7117 inline const ::google::protobuf::RepeatedField<::int64_t>& AttributeProto::ints() const
7118     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7119   // @@protoc_insertion_point(field_list:onnx.AttributeProto.ints)
7120   return _internal_ints();
7121 }
7122 inline ::google::protobuf::RepeatedField<::int64_t>* AttributeProto::mutable_ints()
7123     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7124   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.ints)
7125   ::google::protobuf::internal::TSanWrite(&_impl_);
7126   return _internal_mutable_ints();
7127 }
7128 inline const ::google::protobuf::RepeatedField<::int64_t>&
7129 AttributeProto::_internal_ints() const {
7130   ::google::protobuf::internal::TSanRead(&_impl_);
7131   return _impl_.ints_;
7132 }
7133 inline ::google::protobuf::RepeatedField<::int64_t>* AttributeProto::_internal_mutable_ints() {
7134   ::google::protobuf::internal::TSanRead(&_impl_);
7135   return &_impl_.ints_;
7136 }
7137 
7138 // repeated bytes strings = 9;
7139 inline int AttributeProto::_internal_strings_size() const {
7140   return _internal_strings().size();
7141 }
7142 inline int AttributeProto::strings_size() const {
7143   return _internal_strings_size();
7144 }
7145 inline void AttributeProto::clear_strings() {
7146   ::google::protobuf::internal::TSanWrite(&_impl_);
7147   _impl_.strings_.Clear();
7148 }
7149 inline std::string* AttributeProto::add_strings() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7150   ::google::protobuf::internal::TSanWrite(&_impl_);
7151   std::string* _s = _internal_mutable_strings()->Add();
7152   // @@protoc_insertion_point(field_add_mutable:onnx.AttributeProto.strings)
7153   return _s;
7154 }
7155 inline const std::string& AttributeProto::strings(int index) const
7156     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7157   // @@protoc_insertion_point(field_get:onnx.AttributeProto.strings)
7158   return _internal_strings().Get(index);
7159 }
7160 inline std::string* AttributeProto::mutable_strings(int index)
7161     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7162   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.strings)
7163   return _internal_mutable_strings()->Mutable(index);
7164 }
7165 template <typename Arg_, typename... Args_>
7166 inline void AttributeProto::set_strings(int index, Arg_&& value, Args_... args) {
7167   ::google::protobuf::internal::AssignToString(
7168       *_internal_mutable_strings()->Mutable(index),
7169       std::forward<Arg_>(value), args... , ::google::protobuf::internal::BytesTag{});
7170   // @@protoc_insertion_point(field_set:onnx.AttributeProto.strings)
7171 }
7172 template <typename Arg_, typename... Args_>
7173 inline void AttributeProto::add_strings(Arg_&& value, Args_... args) {
7174   ::google::protobuf::internal::TSanWrite(&_impl_);
7175   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_strings(),
7176                                std::forward<Arg_>(value),
7177                                args... , ::google::protobuf::internal::BytesTag{});
7178   // @@protoc_insertion_point(field_add:onnx.AttributeProto.strings)
7179 }
7180 inline const ::google::protobuf::RepeatedPtrField<std::string>&
7181 AttributeProto::strings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7182   // @@protoc_insertion_point(field_list:onnx.AttributeProto.strings)
7183   return _internal_strings();
7184 }
7185 inline ::google::protobuf::RepeatedPtrField<std::string>*
7186 AttributeProto::mutable_strings() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7187   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.strings)
7188   ::google::protobuf::internal::TSanWrite(&_impl_);
7189   return _internal_mutable_strings();
7190 }
7191 inline const ::google::protobuf::RepeatedPtrField<std::string>&
7192 AttributeProto::_internal_strings() const {
7193   ::google::protobuf::internal::TSanRead(&_impl_);
7194   return _impl_.strings_;
7195 }
7196 inline ::google::protobuf::RepeatedPtrField<std::string>*
7197 AttributeProto::_internal_mutable_strings() {
7198   ::google::protobuf::internal::TSanRead(&_impl_);
7199   return &_impl_.strings_;
7200 }
7201 
7202 // repeated .onnx.TensorProto tensors = 10;
7203 inline int AttributeProto::_internal_tensors_size() const {
7204   return _internal_tensors().size();
7205 }
7206 inline int AttributeProto::tensors_size() const {
7207   return _internal_tensors_size();
7208 }
7209 inline void AttributeProto::clear_tensors() {
7210   ::google::protobuf::internal::TSanWrite(&_impl_);
7211   _impl_.tensors_.Clear();
7212 }
7213 inline ::onnx::TensorProto* AttributeProto::mutable_tensors(int index)
7214     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7215   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.tensors)
7216   return _internal_mutable_tensors()->Mutable(index);
7217 }
7218 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>* AttributeProto::mutable_tensors()
7219     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7220   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.tensors)
7221   ::google::protobuf::internal::TSanWrite(&_impl_);
7222   return _internal_mutable_tensors();
7223 }
7224 inline const ::onnx::TensorProto& AttributeProto::tensors(int index) const
7225     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7226   // @@protoc_insertion_point(field_get:onnx.AttributeProto.tensors)
7227   return _internal_tensors().Get(index);
7228 }
7229 inline ::onnx::TensorProto* AttributeProto::add_tensors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7230   ::google::protobuf::internal::TSanWrite(&_impl_);
7231   ::onnx::TensorProto* _add = _internal_mutable_tensors()->Add();
7232   // @@protoc_insertion_point(field_add:onnx.AttributeProto.tensors)
7233   return _add;
7234 }
7235 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>& AttributeProto::tensors() const
7236     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7237   // @@protoc_insertion_point(field_list:onnx.AttributeProto.tensors)
7238   return _internal_tensors();
7239 }
7240 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>&
7241 AttributeProto::_internal_tensors() const {
7242   ::google::protobuf::internal::TSanRead(&_impl_);
7243   return _impl_.tensors_;
7244 }
7245 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>*
7246 AttributeProto::_internal_mutable_tensors() {
7247   ::google::protobuf::internal::TSanRead(&_impl_);
7248   return &_impl_.tensors_;
7249 }
7250 
7251 // repeated .onnx.GraphProto graphs = 11;
7252 inline int AttributeProto::_internal_graphs_size() const {
7253   return _internal_graphs().size();
7254 }
7255 inline int AttributeProto::graphs_size() const {
7256   return _internal_graphs_size();
7257 }
7258 inline void AttributeProto::clear_graphs() {
7259   ::google::protobuf::internal::TSanWrite(&_impl_);
7260   _impl_.graphs_.Clear();
7261 }
7262 inline ::onnx::GraphProto* AttributeProto::mutable_graphs(int index)
7263     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7264   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.graphs)
7265   return _internal_mutable_graphs()->Mutable(index);
7266 }
7267 inline ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>* AttributeProto::mutable_graphs()
7268     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7269   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.graphs)
7270   ::google::protobuf::internal::TSanWrite(&_impl_);
7271   return _internal_mutable_graphs();
7272 }
7273 inline const ::onnx::GraphProto& AttributeProto::graphs(int index) const
7274     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7275   // @@protoc_insertion_point(field_get:onnx.AttributeProto.graphs)
7276   return _internal_graphs().Get(index);
7277 }
7278 inline ::onnx::GraphProto* AttributeProto::add_graphs() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7279   ::google::protobuf::internal::TSanWrite(&_impl_);
7280   ::onnx::GraphProto* _add = _internal_mutable_graphs()->Add();
7281   // @@protoc_insertion_point(field_add:onnx.AttributeProto.graphs)
7282   return _add;
7283 }
7284 inline const ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>& AttributeProto::graphs() const
7285     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7286   // @@protoc_insertion_point(field_list:onnx.AttributeProto.graphs)
7287   return _internal_graphs();
7288 }
7289 inline const ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>&
7290 AttributeProto::_internal_graphs() const {
7291   ::google::protobuf::internal::TSanRead(&_impl_);
7292   return _impl_.graphs_;
7293 }
7294 inline ::google::protobuf::RepeatedPtrField<::onnx::GraphProto>*
7295 AttributeProto::_internal_mutable_graphs() {
7296   ::google::protobuf::internal::TSanRead(&_impl_);
7297   return &_impl_.graphs_;
7298 }
7299 
7300 // repeated .onnx.SparseTensorProto sparse_tensors = 23;
7301 inline int AttributeProto::_internal_sparse_tensors_size() const {
7302   return _internal_sparse_tensors().size();
7303 }
7304 inline int AttributeProto::sparse_tensors_size() const {
7305   return _internal_sparse_tensors_size();
7306 }
7307 inline void AttributeProto::clear_sparse_tensors() {
7308   ::google::protobuf::internal::TSanWrite(&_impl_);
7309   _impl_.sparse_tensors_.Clear();
7310 }
7311 inline ::onnx::SparseTensorProto* AttributeProto::mutable_sparse_tensors(int index)
7312     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7313   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.sparse_tensors)
7314   return _internal_mutable_sparse_tensors()->Mutable(index);
7315 }
7316 inline ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>* AttributeProto::mutable_sparse_tensors()
7317     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7318   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.sparse_tensors)
7319   ::google::protobuf::internal::TSanWrite(&_impl_);
7320   return _internal_mutable_sparse_tensors();
7321 }
7322 inline const ::onnx::SparseTensorProto& AttributeProto::sparse_tensors(int index) const
7323     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7324   // @@protoc_insertion_point(field_get:onnx.AttributeProto.sparse_tensors)
7325   return _internal_sparse_tensors().Get(index);
7326 }
7327 inline ::onnx::SparseTensorProto* AttributeProto::add_sparse_tensors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7328   ::google::protobuf::internal::TSanWrite(&_impl_);
7329   ::onnx::SparseTensorProto* _add = _internal_mutable_sparse_tensors()->Add();
7330   // @@protoc_insertion_point(field_add:onnx.AttributeProto.sparse_tensors)
7331   return _add;
7332 }
7333 inline const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>& AttributeProto::sparse_tensors() const
7334     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7335   // @@protoc_insertion_point(field_list:onnx.AttributeProto.sparse_tensors)
7336   return _internal_sparse_tensors();
7337 }
7338 inline const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>&
7339 AttributeProto::_internal_sparse_tensors() const {
7340   ::google::protobuf::internal::TSanRead(&_impl_);
7341   return _impl_.sparse_tensors_;
7342 }
7343 inline ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>*
7344 AttributeProto::_internal_mutable_sparse_tensors() {
7345   ::google::protobuf::internal::TSanRead(&_impl_);
7346   return &_impl_.sparse_tensors_;
7347 }
7348 
7349 // repeated .onnx.TypeProto type_protos = 15;
7350 inline int AttributeProto::_internal_type_protos_size() const {
7351   return _internal_type_protos().size();
7352 }
7353 inline int AttributeProto::type_protos_size() const {
7354   return _internal_type_protos_size();
7355 }
7356 inline void AttributeProto::clear_type_protos() {
7357   ::google::protobuf::internal::TSanWrite(&_impl_);
7358   _impl_.type_protos_.Clear();
7359 }
7360 inline ::onnx::TypeProto* AttributeProto::mutable_type_protos(int index)
7361     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7362   // @@protoc_insertion_point(field_mutable:onnx.AttributeProto.type_protos)
7363   return _internal_mutable_type_protos()->Mutable(index);
7364 }
7365 inline ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>* AttributeProto::mutable_type_protos()
7366     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7367   // @@protoc_insertion_point(field_mutable_list:onnx.AttributeProto.type_protos)
7368   ::google::protobuf::internal::TSanWrite(&_impl_);
7369   return _internal_mutable_type_protos();
7370 }
7371 inline const ::onnx::TypeProto& AttributeProto::type_protos(int index) const
7372     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7373   // @@protoc_insertion_point(field_get:onnx.AttributeProto.type_protos)
7374   return _internal_type_protos().Get(index);
7375 }
7376 inline ::onnx::TypeProto* AttributeProto::add_type_protos() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7377   ::google::protobuf::internal::TSanWrite(&_impl_);
7378   ::onnx::TypeProto* _add = _internal_mutable_type_protos()->Add();
7379   // @@protoc_insertion_point(field_add:onnx.AttributeProto.type_protos)
7380   return _add;
7381 }
7382 inline const ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>& AttributeProto::type_protos() const
7383     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7384   // @@protoc_insertion_point(field_list:onnx.AttributeProto.type_protos)
7385   return _internal_type_protos();
7386 }
7387 inline const ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>&
7388 AttributeProto::_internal_type_protos() const {
7389   ::google::protobuf::internal::TSanRead(&_impl_);
7390   return _impl_.type_protos_;
7391 }
7392 inline ::google::protobuf::RepeatedPtrField<::onnx::TypeProto>*
7393 AttributeProto::_internal_mutable_type_protos() {
7394   ::google::protobuf::internal::TSanRead(&_impl_);
7395   return &_impl_.type_protos_;
7396 }
7397 
7398 // -------------------------------------------------------------------
7399 
7400 // ValueInfoProto
7401 
7402 // optional string name = 1;
7403 inline bool ValueInfoProto::has_name() const {
7404   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
7405   return value;
7406 }
7407 inline void ValueInfoProto::clear_name() {
7408   ::google::protobuf::internal::TSanWrite(&_impl_);
7409   _impl_.name_.ClearToEmpty();
7410   _impl_._has_bits_[0] &= ~0x00000001u;
7411 }
7412 inline const std::string& ValueInfoProto::name() const
7413     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7414   // @@protoc_insertion_point(field_get:onnx.ValueInfoProto.name)
7415   return _internal_name();
7416 }
7417 template <typename Arg_, typename... Args_>
7418 inline PROTOBUF_ALWAYS_INLINE void ValueInfoProto::set_name(Arg_&& arg,
7419                                                      Args_... args) {
7420   ::google::protobuf::internal::TSanWrite(&_impl_);
7421   _impl_._has_bits_[0] |= 0x00000001u;
7422   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
7423   // @@protoc_insertion_point(field_set:onnx.ValueInfoProto.name)
7424 }
7425 inline std::string* ValueInfoProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7426   std::string* _s = _internal_mutable_name();
7427   // @@protoc_insertion_point(field_mutable:onnx.ValueInfoProto.name)
7428   return _s;
7429 }
7430 inline const std::string& ValueInfoProto::_internal_name() const {
7431   ::google::protobuf::internal::TSanRead(&_impl_);
7432   return _impl_.name_.Get();
7433 }
7434 inline void ValueInfoProto::_internal_set_name(const std::string& value) {
7435   ::google::protobuf::internal::TSanWrite(&_impl_);
7436   _impl_._has_bits_[0] |= 0x00000001u;
7437   _impl_.name_.Set(value, GetArena());
7438 }
7439 inline std::string* ValueInfoProto::_internal_mutable_name() {
7440   ::google::protobuf::internal::TSanWrite(&_impl_);
7441   _impl_._has_bits_[0] |= 0x00000001u;
7442   return _impl_.name_.Mutable( GetArena());
7443 }
7444 inline std::string* ValueInfoProto::release_name() {
7445   ::google::protobuf::internal::TSanWrite(&_impl_);
7446   // @@protoc_insertion_point(field_release:onnx.ValueInfoProto.name)
7447   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
7448     return nullptr;
7449   }
7450   _impl_._has_bits_[0] &= ~0x00000001u;
7451   auto* released = _impl_.name_.Release();
7452   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7453   _impl_.name_.Set("", GetArena());
7454   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7455   return released;
7456 }
7457 inline void ValueInfoProto::set_allocated_name(std::string* value) {
7458   ::google::protobuf::internal::TSanWrite(&_impl_);
7459   if (value != nullptr) {
7460     _impl_._has_bits_[0] |= 0x00000001u;
7461   } else {
7462     _impl_._has_bits_[0] &= ~0x00000001u;
7463   }
7464   _impl_.name_.SetAllocated(value, GetArena());
7465   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7466         if (_impl_.name_.IsDefault()) {
7467           _impl_.name_.Set("", GetArena());
7468         }
7469   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7470   // @@protoc_insertion_point(field_set_allocated:onnx.ValueInfoProto.name)
7471 }
7472 
7473 // optional .onnx.TypeProto type = 2;
7474 inline bool ValueInfoProto::has_type() const {
7475   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
7476   PROTOBUF_ASSUME(!value || _impl_.type_ != nullptr);
7477   return value;
7478 }
7479 inline void ValueInfoProto::clear_type() {
7480   ::google::protobuf::internal::TSanWrite(&_impl_);
7481   if (_impl_.type_ != nullptr) _impl_.type_->Clear();
7482   _impl_._has_bits_[0] &= ~0x00000004u;
7483 }
7484 inline const ::onnx::TypeProto& ValueInfoProto::_internal_type() const {
7485   ::google::protobuf::internal::TSanRead(&_impl_);
7486   const ::onnx::TypeProto* p = _impl_.type_;
7487   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TypeProto&>(::onnx::_TypeProto_default_instance_);
7488 }
7489 inline const ::onnx::TypeProto& ValueInfoProto::type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7490   // @@protoc_insertion_point(field_get:onnx.ValueInfoProto.type)
7491   return _internal_type();
7492 }
7493 inline void ValueInfoProto::unsafe_arena_set_allocated_type(::onnx::TypeProto* value) {
7494   ::google::protobuf::internal::TSanWrite(&_impl_);
7495   if (GetArena() == nullptr) {
7496     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_);
7497   }
7498   _impl_.type_ = reinterpret_cast<::onnx::TypeProto*>(value);
7499   if (value != nullptr) {
7500     _impl_._has_bits_[0] |= 0x00000004u;
7501   } else {
7502     _impl_._has_bits_[0] &= ~0x00000004u;
7503   }
7504   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.ValueInfoProto.type)
7505 }
7506 inline ::onnx::TypeProto* ValueInfoProto::release_type() {
7507   ::google::protobuf::internal::TSanWrite(&_impl_);
7508 
7509   _impl_._has_bits_[0] &= ~0x00000004u;
7510   ::onnx::TypeProto* released = _impl_.type_;
7511   _impl_.type_ = nullptr;
7512 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7513   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
7514   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
7515   if (GetArena() == nullptr) {
7516     delete old;
7517   }
7518 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
7519   if (GetArena() != nullptr) {
7520     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
7521   }
7522 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
7523   return released;
7524 }
7525 inline ::onnx::TypeProto* ValueInfoProto::unsafe_arena_release_type() {
7526   ::google::protobuf::internal::TSanWrite(&_impl_);
7527   // @@protoc_insertion_point(field_release:onnx.ValueInfoProto.type)
7528 
7529   _impl_._has_bits_[0] &= ~0x00000004u;
7530   ::onnx::TypeProto* temp = _impl_.type_;
7531   _impl_.type_ = nullptr;
7532   return temp;
7533 }
7534 inline ::onnx::TypeProto* ValueInfoProto::_internal_mutable_type() {
7535   ::google::protobuf::internal::TSanWrite(&_impl_);
7536   if (_impl_.type_ == nullptr) {
7537     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto>(GetArena());
7538     _impl_.type_ = reinterpret_cast<::onnx::TypeProto*>(p);
7539   }
7540   return _impl_.type_;
7541 }
7542 inline ::onnx::TypeProto* ValueInfoProto::mutable_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7543   _impl_._has_bits_[0] |= 0x00000004u;
7544   ::onnx::TypeProto* _msg = _internal_mutable_type();
7545   // @@protoc_insertion_point(field_mutable:onnx.ValueInfoProto.type)
7546   return _msg;
7547 }
7548 inline void ValueInfoProto::set_allocated_type(::onnx::TypeProto* value) {
7549   ::google::protobuf::Arena* message_arena = GetArena();
7550   ::google::protobuf::internal::TSanWrite(&_impl_);
7551   if (message_arena == nullptr) {
7552     delete (_impl_.type_);
7553   }
7554 
7555   if (value != nullptr) {
7556     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
7557     if (message_arena != submessage_arena) {
7558       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
7559     }
7560     _impl_._has_bits_[0] |= 0x00000004u;
7561   } else {
7562     _impl_._has_bits_[0] &= ~0x00000004u;
7563   }
7564 
7565   _impl_.type_ = reinterpret_cast<::onnx::TypeProto*>(value);
7566   // @@protoc_insertion_point(field_set_allocated:onnx.ValueInfoProto.type)
7567 }
7568 
7569 // optional string doc_string = 3;
7570 inline bool ValueInfoProto::has_doc_string() const {
7571   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
7572   return value;
7573 }
7574 inline void ValueInfoProto::clear_doc_string() {
7575   ::google::protobuf::internal::TSanWrite(&_impl_);
7576   _impl_.doc_string_.ClearToEmpty();
7577   _impl_._has_bits_[0] &= ~0x00000002u;
7578 }
7579 inline const std::string& ValueInfoProto::doc_string() const
7580     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7581   // @@protoc_insertion_point(field_get:onnx.ValueInfoProto.doc_string)
7582   return _internal_doc_string();
7583 }
7584 template <typename Arg_, typename... Args_>
7585 inline PROTOBUF_ALWAYS_INLINE void ValueInfoProto::set_doc_string(Arg_&& arg,
7586                                                      Args_... args) {
7587   ::google::protobuf::internal::TSanWrite(&_impl_);
7588   _impl_._has_bits_[0] |= 0x00000002u;
7589   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
7590   // @@protoc_insertion_point(field_set:onnx.ValueInfoProto.doc_string)
7591 }
7592 inline std::string* ValueInfoProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7593   std::string* _s = _internal_mutable_doc_string();
7594   // @@protoc_insertion_point(field_mutable:onnx.ValueInfoProto.doc_string)
7595   return _s;
7596 }
7597 inline const std::string& ValueInfoProto::_internal_doc_string() const {
7598   ::google::protobuf::internal::TSanRead(&_impl_);
7599   return _impl_.doc_string_.Get();
7600 }
7601 inline void ValueInfoProto::_internal_set_doc_string(const std::string& value) {
7602   ::google::protobuf::internal::TSanWrite(&_impl_);
7603   _impl_._has_bits_[0] |= 0x00000002u;
7604   _impl_.doc_string_.Set(value, GetArena());
7605 }
7606 inline std::string* ValueInfoProto::_internal_mutable_doc_string() {
7607   ::google::protobuf::internal::TSanWrite(&_impl_);
7608   _impl_._has_bits_[0] |= 0x00000002u;
7609   return _impl_.doc_string_.Mutable( GetArena());
7610 }
7611 inline std::string* ValueInfoProto::release_doc_string() {
7612   ::google::protobuf::internal::TSanWrite(&_impl_);
7613   // @@protoc_insertion_point(field_release:onnx.ValueInfoProto.doc_string)
7614   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
7615     return nullptr;
7616   }
7617   _impl_._has_bits_[0] &= ~0x00000002u;
7618   auto* released = _impl_.doc_string_.Release();
7619   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7620   _impl_.doc_string_.Set("", GetArena());
7621   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7622   return released;
7623 }
7624 inline void ValueInfoProto::set_allocated_doc_string(std::string* value) {
7625   ::google::protobuf::internal::TSanWrite(&_impl_);
7626   if (value != nullptr) {
7627     _impl_._has_bits_[0] |= 0x00000002u;
7628   } else {
7629     _impl_._has_bits_[0] &= ~0x00000002u;
7630   }
7631   _impl_.doc_string_.SetAllocated(value, GetArena());
7632   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7633         if (_impl_.doc_string_.IsDefault()) {
7634           _impl_.doc_string_.Set("", GetArena());
7635         }
7636   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7637   // @@protoc_insertion_point(field_set_allocated:onnx.ValueInfoProto.doc_string)
7638 }
7639 
7640 // -------------------------------------------------------------------
7641 
7642 // NodeProto
7643 
7644 // repeated string input = 1;
7645 inline int NodeProto::_internal_input_size() const {
7646   return _internal_input().size();
7647 }
7648 inline int NodeProto::input_size() const {
7649   return _internal_input_size();
7650 }
7651 inline void NodeProto::clear_input() {
7652   ::google::protobuf::internal::TSanWrite(&_impl_);
7653   _impl_.input_.Clear();
7654 }
7655 inline std::string* NodeProto::add_input() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7656   ::google::protobuf::internal::TSanWrite(&_impl_);
7657   std::string* _s = _internal_mutable_input()->Add();
7658   // @@protoc_insertion_point(field_add_mutable:onnx.NodeProto.input)
7659   return _s;
7660 }
7661 inline const std::string& NodeProto::input(int index) const
7662     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7663   // @@protoc_insertion_point(field_get:onnx.NodeProto.input)
7664   return _internal_input().Get(index);
7665 }
7666 inline std::string* NodeProto::mutable_input(int index)
7667     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7668   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.input)
7669   return _internal_mutable_input()->Mutable(index);
7670 }
7671 template <typename Arg_, typename... Args_>
7672 inline void NodeProto::set_input(int index, Arg_&& value, Args_... args) {
7673   ::google::protobuf::internal::AssignToString(
7674       *_internal_mutable_input()->Mutable(index),
7675       std::forward<Arg_>(value), args... );
7676   // @@protoc_insertion_point(field_set:onnx.NodeProto.input)
7677 }
7678 template <typename Arg_, typename... Args_>
7679 inline void NodeProto::add_input(Arg_&& value, Args_... args) {
7680   ::google::protobuf::internal::TSanWrite(&_impl_);
7681   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_input(),
7682                                std::forward<Arg_>(value),
7683                                args... );
7684   // @@protoc_insertion_point(field_add:onnx.NodeProto.input)
7685 }
7686 inline const ::google::protobuf::RepeatedPtrField<std::string>&
7687 NodeProto::input() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7688   // @@protoc_insertion_point(field_list:onnx.NodeProto.input)
7689   return _internal_input();
7690 }
7691 inline ::google::protobuf::RepeatedPtrField<std::string>*
7692 NodeProto::mutable_input() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7693   // @@protoc_insertion_point(field_mutable_list:onnx.NodeProto.input)
7694   ::google::protobuf::internal::TSanWrite(&_impl_);
7695   return _internal_mutable_input();
7696 }
7697 inline const ::google::protobuf::RepeatedPtrField<std::string>&
7698 NodeProto::_internal_input() const {
7699   ::google::protobuf::internal::TSanRead(&_impl_);
7700   return _impl_.input_;
7701 }
7702 inline ::google::protobuf::RepeatedPtrField<std::string>*
7703 NodeProto::_internal_mutable_input() {
7704   ::google::protobuf::internal::TSanRead(&_impl_);
7705   return &_impl_.input_;
7706 }
7707 
7708 // repeated string output = 2;
7709 inline int NodeProto::_internal_output_size() const {
7710   return _internal_output().size();
7711 }
7712 inline int NodeProto::output_size() const {
7713   return _internal_output_size();
7714 }
7715 inline void NodeProto::clear_output() {
7716   ::google::protobuf::internal::TSanWrite(&_impl_);
7717   _impl_.output_.Clear();
7718 }
7719 inline std::string* NodeProto::add_output() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7720   ::google::protobuf::internal::TSanWrite(&_impl_);
7721   std::string* _s = _internal_mutable_output()->Add();
7722   // @@protoc_insertion_point(field_add_mutable:onnx.NodeProto.output)
7723   return _s;
7724 }
7725 inline const std::string& NodeProto::output(int index) const
7726     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7727   // @@protoc_insertion_point(field_get:onnx.NodeProto.output)
7728   return _internal_output().Get(index);
7729 }
7730 inline std::string* NodeProto::mutable_output(int index)
7731     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7732   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.output)
7733   return _internal_mutable_output()->Mutable(index);
7734 }
7735 template <typename Arg_, typename... Args_>
7736 inline void NodeProto::set_output(int index, Arg_&& value, Args_... args) {
7737   ::google::protobuf::internal::AssignToString(
7738       *_internal_mutable_output()->Mutable(index),
7739       std::forward<Arg_>(value), args... );
7740   // @@protoc_insertion_point(field_set:onnx.NodeProto.output)
7741 }
7742 template <typename Arg_, typename... Args_>
7743 inline void NodeProto::add_output(Arg_&& value, Args_... args) {
7744   ::google::protobuf::internal::TSanWrite(&_impl_);
7745   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_output(),
7746                                std::forward<Arg_>(value),
7747                                args... );
7748   // @@protoc_insertion_point(field_add:onnx.NodeProto.output)
7749 }
7750 inline const ::google::protobuf::RepeatedPtrField<std::string>&
7751 NodeProto::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7752   // @@protoc_insertion_point(field_list:onnx.NodeProto.output)
7753   return _internal_output();
7754 }
7755 inline ::google::protobuf::RepeatedPtrField<std::string>*
7756 NodeProto::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7757   // @@protoc_insertion_point(field_mutable_list:onnx.NodeProto.output)
7758   ::google::protobuf::internal::TSanWrite(&_impl_);
7759   return _internal_mutable_output();
7760 }
7761 inline const ::google::protobuf::RepeatedPtrField<std::string>&
7762 NodeProto::_internal_output() const {
7763   ::google::protobuf::internal::TSanRead(&_impl_);
7764   return _impl_.output_;
7765 }
7766 inline ::google::protobuf::RepeatedPtrField<std::string>*
7767 NodeProto::_internal_mutable_output() {
7768   ::google::protobuf::internal::TSanRead(&_impl_);
7769   return &_impl_.output_;
7770 }
7771 
7772 // optional string name = 3;
7773 inline bool NodeProto::has_name() const {
7774   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
7775   return value;
7776 }
7777 inline void NodeProto::clear_name() {
7778   ::google::protobuf::internal::TSanWrite(&_impl_);
7779   _impl_.name_.ClearToEmpty();
7780   _impl_._has_bits_[0] &= ~0x00000001u;
7781 }
7782 inline const std::string& NodeProto::name() const
7783     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7784   // @@protoc_insertion_point(field_get:onnx.NodeProto.name)
7785   return _internal_name();
7786 }
7787 template <typename Arg_, typename... Args_>
7788 inline PROTOBUF_ALWAYS_INLINE void NodeProto::set_name(Arg_&& arg,
7789                                                      Args_... args) {
7790   ::google::protobuf::internal::TSanWrite(&_impl_);
7791   _impl_._has_bits_[0] |= 0x00000001u;
7792   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
7793   // @@protoc_insertion_point(field_set:onnx.NodeProto.name)
7794 }
7795 inline std::string* NodeProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7796   std::string* _s = _internal_mutable_name();
7797   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.name)
7798   return _s;
7799 }
7800 inline const std::string& NodeProto::_internal_name() const {
7801   ::google::protobuf::internal::TSanRead(&_impl_);
7802   return _impl_.name_.Get();
7803 }
7804 inline void NodeProto::_internal_set_name(const std::string& value) {
7805   ::google::protobuf::internal::TSanWrite(&_impl_);
7806   _impl_._has_bits_[0] |= 0x00000001u;
7807   _impl_.name_.Set(value, GetArena());
7808 }
7809 inline std::string* NodeProto::_internal_mutable_name() {
7810   ::google::protobuf::internal::TSanWrite(&_impl_);
7811   _impl_._has_bits_[0] |= 0x00000001u;
7812   return _impl_.name_.Mutable( GetArena());
7813 }
7814 inline std::string* NodeProto::release_name() {
7815   ::google::protobuf::internal::TSanWrite(&_impl_);
7816   // @@protoc_insertion_point(field_release:onnx.NodeProto.name)
7817   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
7818     return nullptr;
7819   }
7820   _impl_._has_bits_[0] &= ~0x00000001u;
7821   auto* released = _impl_.name_.Release();
7822   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7823   _impl_.name_.Set("", GetArena());
7824   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7825   return released;
7826 }
7827 inline void NodeProto::set_allocated_name(std::string* value) {
7828   ::google::protobuf::internal::TSanWrite(&_impl_);
7829   if (value != nullptr) {
7830     _impl_._has_bits_[0] |= 0x00000001u;
7831   } else {
7832     _impl_._has_bits_[0] &= ~0x00000001u;
7833   }
7834   _impl_.name_.SetAllocated(value, GetArena());
7835   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7836         if (_impl_.name_.IsDefault()) {
7837           _impl_.name_.Set("", GetArena());
7838         }
7839   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7840   // @@protoc_insertion_point(field_set_allocated:onnx.NodeProto.name)
7841 }
7842 
7843 // optional string op_type = 4;
7844 inline bool NodeProto::has_op_type() const {
7845   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
7846   return value;
7847 }
7848 inline void NodeProto::clear_op_type() {
7849   ::google::protobuf::internal::TSanWrite(&_impl_);
7850   _impl_.op_type_.ClearToEmpty();
7851   _impl_._has_bits_[0] &= ~0x00000002u;
7852 }
7853 inline const std::string& NodeProto::op_type() const
7854     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7855   // @@protoc_insertion_point(field_get:onnx.NodeProto.op_type)
7856   return _internal_op_type();
7857 }
7858 template <typename Arg_, typename... Args_>
7859 inline PROTOBUF_ALWAYS_INLINE void NodeProto::set_op_type(Arg_&& arg,
7860                                                      Args_... args) {
7861   ::google::protobuf::internal::TSanWrite(&_impl_);
7862   _impl_._has_bits_[0] |= 0x00000002u;
7863   _impl_.op_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
7864   // @@protoc_insertion_point(field_set:onnx.NodeProto.op_type)
7865 }
7866 inline std::string* NodeProto::mutable_op_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7867   std::string* _s = _internal_mutable_op_type();
7868   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.op_type)
7869   return _s;
7870 }
7871 inline const std::string& NodeProto::_internal_op_type() const {
7872   ::google::protobuf::internal::TSanRead(&_impl_);
7873   return _impl_.op_type_.Get();
7874 }
7875 inline void NodeProto::_internal_set_op_type(const std::string& value) {
7876   ::google::protobuf::internal::TSanWrite(&_impl_);
7877   _impl_._has_bits_[0] |= 0x00000002u;
7878   _impl_.op_type_.Set(value, GetArena());
7879 }
7880 inline std::string* NodeProto::_internal_mutable_op_type() {
7881   ::google::protobuf::internal::TSanWrite(&_impl_);
7882   _impl_._has_bits_[0] |= 0x00000002u;
7883   return _impl_.op_type_.Mutable( GetArena());
7884 }
7885 inline std::string* NodeProto::release_op_type() {
7886   ::google::protobuf::internal::TSanWrite(&_impl_);
7887   // @@protoc_insertion_point(field_release:onnx.NodeProto.op_type)
7888   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
7889     return nullptr;
7890   }
7891   _impl_._has_bits_[0] &= ~0x00000002u;
7892   auto* released = _impl_.op_type_.Release();
7893   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7894   _impl_.op_type_.Set("", GetArena());
7895   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7896   return released;
7897 }
7898 inline void NodeProto::set_allocated_op_type(std::string* value) {
7899   ::google::protobuf::internal::TSanWrite(&_impl_);
7900   if (value != nullptr) {
7901     _impl_._has_bits_[0] |= 0x00000002u;
7902   } else {
7903     _impl_._has_bits_[0] &= ~0x00000002u;
7904   }
7905   _impl_.op_type_.SetAllocated(value, GetArena());
7906   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7907         if (_impl_.op_type_.IsDefault()) {
7908           _impl_.op_type_.Set("", GetArena());
7909         }
7910   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7911   // @@protoc_insertion_point(field_set_allocated:onnx.NodeProto.op_type)
7912 }
7913 
7914 // optional string domain = 7;
7915 inline bool NodeProto::has_domain() const {
7916   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
7917   return value;
7918 }
7919 inline void NodeProto::clear_domain() {
7920   ::google::protobuf::internal::TSanWrite(&_impl_);
7921   _impl_.domain_.ClearToEmpty();
7922   _impl_._has_bits_[0] &= ~0x00000008u;
7923 }
7924 inline const std::string& NodeProto::domain() const
7925     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7926   // @@protoc_insertion_point(field_get:onnx.NodeProto.domain)
7927   return _internal_domain();
7928 }
7929 template <typename Arg_, typename... Args_>
7930 inline PROTOBUF_ALWAYS_INLINE void NodeProto::set_domain(Arg_&& arg,
7931                                                      Args_... args) {
7932   ::google::protobuf::internal::TSanWrite(&_impl_);
7933   _impl_._has_bits_[0] |= 0x00000008u;
7934   _impl_.domain_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
7935   // @@protoc_insertion_point(field_set:onnx.NodeProto.domain)
7936 }
7937 inline std::string* NodeProto::mutable_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND {
7938   std::string* _s = _internal_mutable_domain();
7939   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.domain)
7940   return _s;
7941 }
7942 inline const std::string& NodeProto::_internal_domain() const {
7943   ::google::protobuf::internal::TSanRead(&_impl_);
7944   return _impl_.domain_.Get();
7945 }
7946 inline void NodeProto::_internal_set_domain(const std::string& value) {
7947   ::google::protobuf::internal::TSanWrite(&_impl_);
7948   _impl_._has_bits_[0] |= 0x00000008u;
7949   _impl_.domain_.Set(value, GetArena());
7950 }
7951 inline std::string* NodeProto::_internal_mutable_domain() {
7952   ::google::protobuf::internal::TSanWrite(&_impl_);
7953   _impl_._has_bits_[0] |= 0x00000008u;
7954   return _impl_.domain_.Mutable( GetArena());
7955 }
7956 inline std::string* NodeProto::release_domain() {
7957   ::google::protobuf::internal::TSanWrite(&_impl_);
7958   // @@protoc_insertion_point(field_release:onnx.NodeProto.domain)
7959   if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
7960     return nullptr;
7961   }
7962   _impl_._has_bits_[0] &= ~0x00000008u;
7963   auto* released = _impl_.domain_.Release();
7964   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7965   _impl_.domain_.Set("", GetArena());
7966   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7967   return released;
7968 }
7969 inline void NodeProto::set_allocated_domain(std::string* value) {
7970   ::google::protobuf::internal::TSanWrite(&_impl_);
7971   if (value != nullptr) {
7972     _impl_._has_bits_[0] |= 0x00000008u;
7973   } else {
7974     _impl_._has_bits_[0] &= ~0x00000008u;
7975   }
7976   _impl_.domain_.SetAllocated(value, GetArena());
7977   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7978         if (_impl_.domain_.IsDefault()) {
7979           _impl_.domain_.Set("", GetArena());
7980         }
7981   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7982   // @@protoc_insertion_point(field_set_allocated:onnx.NodeProto.domain)
7983 }
7984 
7985 // repeated .onnx.AttributeProto attribute = 5;
7986 inline int NodeProto::_internal_attribute_size() const {
7987   return _internal_attribute().size();
7988 }
7989 inline int NodeProto::attribute_size() const {
7990   return _internal_attribute_size();
7991 }
7992 inline void NodeProto::clear_attribute() {
7993   ::google::protobuf::internal::TSanWrite(&_impl_);
7994   _impl_.attribute_.Clear();
7995 }
7996 inline ::onnx::AttributeProto* NodeProto::mutable_attribute(int index)
7997     ABSL_ATTRIBUTE_LIFETIME_BOUND {
7998   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.attribute)
7999   return _internal_mutable_attribute()->Mutable(index);
8000 }
8001 inline ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>* NodeProto::mutable_attribute()
8002     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8003   // @@protoc_insertion_point(field_mutable_list:onnx.NodeProto.attribute)
8004   ::google::protobuf::internal::TSanWrite(&_impl_);
8005   return _internal_mutable_attribute();
8006 }
8007 inline const ::onnx::AttributeProto& NodeProto::attribute(int index) const
8008     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8009   // @@protoc_insertion_point(field_get:onnx.NodeProto.attribute)
8010   return _internal_attribute().Get(index);
8011 }
8012 inline ::onnx::AttributeProto* NodeProto::add_attribute() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8013   ::google::protobuf::internal::TSanWrite(&_impl_);
8014   ::onnx::AttributeProto* _add = _internal_mutable_attribute()->Add();
8015   // @@protoc_insertion_point(field_add:onnx.NodeProto.attribute)
8016   return _add;
8017 }
8018 inline const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>& NodeProto::attribute() const
8019     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8020   // @@protoc_insertion_point(field_list:onnx.NodeProto.attribute)
8021   return _internal_attribute();
8022 }
8023 inline const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>&
8024 NodeProto::_internal_attribute() const {
8025   ::google::protobuf::internal::TSanRead(&_impl_);
8026   return _impl_.attribute_;
8027 }
8028 inline ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>*
8029 NodeProto::_internal_mutable_attribute() {
8030   ::google::protobuf::internal::TSanRead(&_impl_);
8031   return &_impl_.attribute_;
8032 }
8033 
8034 // optional string doc_string = 6;
8035 inline bool NodeProto::has_doc_string() const {
8036   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
8037   return value;
8038 }
8039 inline void NodeProto::clear_doc_string() {
8040   ::google::protobuf::internal::TSanWrite(&_impl_);
8041   _impl_.doc_string_.ClearToEmpty();
8042   _impl_._has_bits_[0] &= ~0x00000004u;
8043 }
8044 inline const std::string& NodeProto::doc_string() const
8045     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8046   // @@protoc_insertion_point(field_get:onnx.NodeProto.doc_string)
8047   return _internal_doc_string();
8048 }
8049 template <typename Arg_, typename... Args_>
8050 inline PROTOBUF_ALWAYS_INLINE void NodeProto::set_doc_string(Arg_&& arg,
8051                                                      Args_... args) {
8052   ::google::protobuf::internal::TSanWrite(&_impl_);
8053   _impl_._has_bits_[0] |= 0x00000004u;
8054   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8055   // @@protoc_insertion_point(field_set:onnx.NodeProto.doc_string)
8056 }
8057 inline std::string* NodeProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8058   std::string* _s = _internal_mutable_doc_string();
8059   // @@protoc_insertion_point(field_mutable:onnx.NodeProto.doc_string)
8060   return _s;
8061 }
8062 inline const std::string& NodeProto::_internal_doc_string() const {
8063   ::google::protobuf::internal::TSanRead(&_impl_);
8064   return _impl_.doc_string_.Get();
8065 }
8066 inline void NodeProto::_internal_set_doc_string(const std::string& value) {
8067   ::google::protobuf::internal::TSanWrite(&_impl_);
8068   _impl_._has_bits_[0] |= 0x00000004u;
8069   _impl_.doc_string_.Set(value, GetArena());
8070 }
8071 inline std::string* NodeProto::_internal_mutable_doc_string() {
8072   ::google::protobuf::internal::TSanWrite(&_impl_);
8073   _impl_._has_bits_[0] |= 0x00000004u;
8074   return _impl_.doc_string_.Mutable( GetArena());
8075 }
8076 inline std::string* NodeProto::release_doc_string() {
8077   ::google::protobuf::internal::TSanWrite(&_impl_);
8078   // @@protoc_insertion_point(field_release:onnx.NodeProto.doc_string)
8079   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
8080     return nullptr;
8081   }
8082   _impl_._has_bits_[0] &= ~0x00000004u;
8083   auto* released = _impl_.doc_string_.Release();
8084   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8085   _impl_.doc_string_.Set("", GetArena());
8086   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8087   return released;
8088 }
8089 inline void NodeProto::set_allocated_doc_string(std::string* value) {
8090   ::google::protobuf::internal::TSanWrite(&_impl_);
8091   if (value != nullptr) {
8092     _impl_._has_bits_[0] |= 0x00000004u;
8093   } else {
8094     _impl_._has_bits_[0] &= ~0x00000004u;
8095   }
8096   _impl_.doc_string_.SetAllocated(value, GetArena());
8097   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8098         if (_impl_.doc_string_.IsDefault()) {
8099           _impl_.doc_string_.Set("", GetArena());
8100         }
8101   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8102   // @@protoc_insertion_point(field_set_allocated:onnx.NodeProto.doc_string)
8103 }
8104 
8105 // -------------------------------------------------------------------
8106 
8107 // TrainingInfoProto
8108 
8109 // optional .onnx.GraphProto initialization = 1;
8110 inline bool TrainingInfoProto::has_initialization() const {
8111   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
8112   PROTOBUF_ASSUME(!value || _impl_.initialization_ != nullptr);
8113   return value;
8114 }
8115 inline void TrainingInfoProto::clear_initialization() {
8116   ::google::protobuf::internal::TSanWrite(&_impl_);
8117   if (_impl_.initialization_ != nullptr) _impl_.initialization_->Clear();
8118   _impl_._has_bits_[0] &= ~0x00000001u;
8119 }
8120 inline const ::onnx::GraphProto& TrainingInfoProto::_internal_initialization() const {
8121   ::google::protobuf::internal::TSanRead(&_impl_);
8122   const ::onnx::GraphProto* p = _impl_.initialization_;
8123   return p != nullptr ? *p : reinterpret_cast<const ::onnx::GraphProto&>(::onnx::_GraphProto_default_instance_);
8124 }
8125 inline const ::onnx::GraphProto& TrainingInfoProto::initialization() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8126   // @@protoc_insertion_point(field_get:onnx.TrainingInfoProto.initialization)
8127   return _internal_initialization();
8128 }
8129 inline void TrainingInfoProto::unsafe_arena_set_allocated_initialization(::onnx::GraphProto* value) {
8130   ::google::protobuf::internal::TSanWrite(&_impl_);
8131   if (GetArena() == nullptr) {
8132     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.initialization_);
8133   }
8134   _impl_.initialization_ = reinterpret_cast<::onnx::GraphProto*>(value);
8135   if (value != nullptr) {
8136     _impl_._has_bits_[0] |= 0x00000001u;
8137   } else {
8138     _impl_._has_bits_[0] &= ~0x00000001u;
8139   }
8140   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TrainingInfoProto.initialization)
8141 }
8142 inline ::onnx::GraphProto* TrainingInfoProto::release_initialization() {
8143   ::google::protobuf::internal::TSanWrite(&_impl_);
8144 
8145   _impl_._has_bits_[0] &= ~0x00000001u;
8146   ::onnx::GraphProto* released = _impl_.initialization_;
8147   _impl_.initialization_ = nullptr;
8148 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8149   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
8150   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8151   if (GetArena() == nullptr) {
8152     delete old;
8153   }
8154 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
8155   if (GetArena() != nullptr) {
8156     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8157   }
8158 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
8159   return released;
8160 }
8161 inline ::onnx::GraphProto* TrainingInfoProto::unsafe_arena_release_initialization() {
8162   ::google::protobuf::internal::TSanWrite(&_impl_);
8163   // @@protoc_insertion_point(field_release:onnx.TrainingInfoProto.initialization)
8164 
8165   _impl_._has_bits_[0] &= ~0x00000001u;
8166   ::onnx::GraphProto* temp = _impl_.initialization_;
8167   _impl_.initialization_ = nullptr;
8168   return temp;
8169 }
8170 inline ::onnx::GraphProto* TrainingInfoProto::_internal_mutable_initialization() {
8171   ::google::protobuf::internal::TSanWrite(&_impl_);
8172   if (_impl_.initialization_ == nullptr) {
8173     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::GraphProto>(GetArena());
8174     _impl_.initialization_ = reinterpret_cast<::onnx::GraphProto*>(p);
8175   }
8176   return _impl_.initialization_;
8177 }
8178 inline ::onnx::GraphProto* TrainingInfoProto::mutable_initialization() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8179   _impl_._has_bits_[0] |= 0x00000001u;
8180   ::onnx::GraphProto* _msg = _internal_mutable_initialization();
8181   // @@protoc_insertion_point(field_mutable:onnx.TrainingInfoProto.initialization)
8182   return _msg;
8183 }
8184 inline void TrainingInfoProto::set_allocated_initialization(::onnx::GraphProto* value) {
8185   ::google::protobuf::Arena* message_arena = GetArena();
8186   ::google::protobuf::internal::TSanWrite(&_impl_);
8187   if (message_arena == nullptr) {
8188     delete (_impl_.initialization_);
8189   }
8190 
8191   if (value != nullptr) {
8192     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
8193     if (message_arena != submessage_arena) {
8194       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
8195     }
8196     _impl_._has_bits_[0] |= 0x00000001u;
8197   } else {
8198     _impl_._has_bits_[0] &= ~0x00000001u;
8199   }
8200 
8201   _impl_.initialization_ = reinterpret_cast<::onnx::GraphProto*>(value);
8202   // @@protoc_insertion_point(field_set_allocated:onnx.TrainingInfoProto.initialization)
8203 }
8204 
8205 // optional .onnx.GraphProto algorithm = 2;
8206 inline bool TrainingInfoProto::has_algorithm() const {
8207   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
8208   PROTOBUF_ASSUME(!value || _impl_.algorithm_ != nullptr);
8209   return value;
8210 }
8211 inline void TrainingInfoProto::clear_algorithm() {
8212   ::google::protobuf::internal::TSanWrite(&_impl_);
8213   if (_impl_.algorithm_ != nullptr) _impl_.algorithm_->Clear();
8214   _impl_._has_bits_[0] &= ~0x00000002u;
8215 }
8216 inline const ::onnx::GraphProto& TrainingInfoProto::_internal_algorithm() const {
8217   ::google::protobuf::internal::TSanRead(&_impl_);
8218   const ::onnx::GraphProto* p = _impl_.algorithm_;
8219   return p != nullptr ? *p : reinterpret_cast<const ::onnx::GraphProto&>(::onnx::_GraphProto_default_instance_);
8220 }
8221 inline const ::onnx::GraphProto& TrainingInfoProto::algorithm() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8222   // @@protoc_insertion_point(field_get:onnx.TrainingInfoProto.algorithm)
8223   return _internal_algorithm();
8224 }
8225 inline void TrainingInfoProto::unsafe_arena_set_allocated_algorithm(::onnx::GraphProto* value) {
8226   ::google::protobuf::internal::TSanWrite(&_impl_);
8227   if (GetArena() == nullptr) {
8228     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.algorithm_);
8229   }
8230   _impl_.algorithm_ = reinterpret_cast<::onnx::GraphProto*>(value);
8231   if (value != nullptr) {
8232     _impl_._has_bits_[0] |= 0x00000002u;
8233   } else {
8234     _impl_._has_bits_[0] &= ~0x00000002u;
8235   }
8236   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TrainingInfoProto.algorithm)
8237 }
8238 inline ::onnx::GraphProto* TrainingInfoProto::release_algorithm() {
8239   ::google::protobuf::internal::TSanWrite(&_impl_);
8240 
8241   _impl_._has_bits_[0] &= ~0x00000002u;
8242   ::onnx::GraphProto* released = _impl_.algorithm_;
8243   _impl_.algorithm_ = nullptr;
8244 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8245   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
8246   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8247   if (GetArena() == nullptr) {
8248     delete old;
8249   }
8250 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
8251   if (GetArena() != nullptr) {
8252     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8253   }
8254 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
8255   return released;
8256 }
8257 inline ::onnx::GraphProto* TrainingInfoProto::unsafe_arena_release_algorithm() {
8258   ::google::protobuf::internal::TSanWrite(&_impl_);
8259   // @@protoc_insertion_point(field_release:onnx.TrainingInfoProto.algorithm)
8260 
8261   _impl_._has_bits_[0] &= ~0x00000002u;
8262   ::onnx::GraphProto* temp = _impl_.algorithm_;
8263   _impl_.algorithm_ = nullptr;
8264   return temp;
8265 }
8266 inline ::onnx::GraphProto* TrainingInfoProto::_internal_mutable_algorithm() {
8267   ::google::protobuf::internal::TSanWrite(&_impl_);
8268   if (_impl_.algorithm_ == nullptr) {
8269     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::GraphProto>(GetArena());
8270     _impl_.algorithm_ = reinterpret_cast<::onnx::GraphProto*>(p);
8271   }
8272   return _impl_.algorithm_;
8273 }
8274 inline ::onnx::GraphProto* TrainingInfoProto::mutable_algorithm() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8275   _impl_._has_bits_[0] |= 0x00000002u;
8276   ::onnx::GraphProto* _msg = _internal_mutable_algorithm();
8277   // @@protoc_insertion_point(field_mutable:onnx.TrainingInfoProto.algorithm)
8278   return _msg;
8279 }
8280 inline void TrainingInfoProto::set_allocated_algorithm(::onnx::GraphProto* value) {
8281   ::google::protobuf::Arena* message_arena = GetArena();
8282   ::google::protobuf::internal::TSanWrite(&_impl_);
8283   if (message_arena == nullptr) {
8284     delete (_impl_.algorithm_);
8285   }
8286 
8287   if (value != nullptr) {
8288     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
8289     if (message_arena != submessage_arena) {
8290       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
8291     }
8292     _impl_._has_bits_[0] |= 0x00000002u;
8293   } else {
8294     _impl_._has_bits_[0] &= ~0x00000002u;
8295   }
8296 
8297   _impl_.algorithm_ = reinterpret_cast<::onnx::GraphProto*>(value);
8298   // @@protoc_insertion_point(field_set_allocated:onnx.TrainingInfoProto.algorithm)
8299 }
8300 
8301 // repeated .onnx.StringStringEntryProto initialization_binding = 3;
8302 inline int TrainingInfoProto::_internal_initialization_binding_size() const {
8303   return _internal_initialization_binding().size();
8304 }
8305 inline int TrainingInfoProto::initialization_binding_size() const {
8306   return _internal_initialization_binding_size();
8307 }
8308 inline void TrainingInfoProto::clear_initialization_binding() {
8309   ::google::protobuf::internal::TSanWrite(&_impl_);
8310   _impl_.initialization_binding_.Clear();
8311 }
8312 inline ::onnx::StringStringEntryProto* TrainingInfoProto::mutable_initialization_binding(int index)
8313     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8314   // @@protoc_insertion_point(field_mutable:onnx.TrainingInfoProto.initialization_binding)
8315   return _internal_mutable_initialization_binding()->Mutable(index);
8316 }
8317 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* TrainingInfoProto::mutable_initialization_binding()
8318     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8319   // @@protoc_insertion_point(field_mutable_list:onnx.TrainingInfoProto.initialization_binding)
8320   ::google::protobuf::internal::TSanWrite(&_impl_);
8321   return _internal_mutable_initialization_binding();
8322 }
8323 inline const ::onnx::StringStringEntryProto& TrainingInfoProto::initialization_binding(int index) const
8324     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8325   // @@protoc_insertion_point(field_get:onnx.TrainingInfoProto.initialization_binding)
8326   return _internal_initialization_binding().Get(index);
8327 }
8328 inline ::onnx::StringStringEntryProto* TrainingInfoProto::add_initialization_binding() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8329   ::google::protobuf::internal::TSanWrite(&_impl_);
8330   ::onnx::StringStringEntryProto* _add = _internal_mutable_initialization_binding()->Add();
8331   // @@protoc_insertion_point(field_add:onnx.TrainingInfoProto.initialization_binding)
8332   return _add;
8333 }
8334 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& TrainingInfoProto::initialization_binding() const
8335     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8336   // @@protoc_insertion_point(field_list:onnx.TrainingInfoProto.initialization_binding)
8337   return _internal_initialization_binding();
8338 }
8339 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>&
8340 TrainingInfoProto::_internal_initialization_binding() const {
8341   ::google::protobuf::internal::TSanRead(&_impl_);
8342   return _impl_.initialization_binding_;
8343 }
8344 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>*
8345 TrainingInfoProto::_internal_mutable_initialization_binding() {
8346   ::google::protobuf::internal::TSanRead(&_impl_);
8347   return &_impl_.initialization_binding_;
8348 }
8349 
8350 // repeated .onnx.StringStringEntryProto update_binding = 4;
8351 inline int TrainingInfoProto::_internal_update_binding_size() const {
8352   return _internal_update_binding().size();
8353 }
8354 inline int TrainingInfoProto::update_binding_size() const {
8355   return _internal_update_binding_size();
8356 }
8357 inline void TrainingInfoProto::clear_update_binding() {
8358   ::google::protobuf::internal::TSanWrite(&_impl_);
8359   _impl_.update_binding_.Clear();
8360 }
8361 inline ::onnx::StringStringEntryProto* TrainingInfoProto::mutable_update_binding(int index)
8362     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8363   // @@protoc_insertion_point(field_mutable:onnx.TrainingInfoProto.update_binding)
8364   return _internal_mutable_update_binding()->Mutable(index);
8365 }
8366 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* TrainingInfoProto::mutable_update_binding()
8367     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8368   // @@protoc_insertion_point(field_mutable_list:onnx.TrainingInfoProto.update_binding)
8369   ::google::protobuf::internal::TSanWrite(&_impl_);
8370   return _internal_mutable_update_binding();
8371 }
8372 inline const ::onnx::StringStringEntryProto& TrainingInfoProto::update_binding(int index) const
8373     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8374   // @@protoc_insertion_point(field_get:onnx.TrainingInfoProto.update_binding)
8375   return _internal_update_binding().Get(index);
8376 }
8377 inline ::onnx::StringStringEntryProto* TrainingInfoProto::add_update_binding() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8378   ::google::protobuf::internal::TSanWrite(&_impl_);
8379   ::onnx::StringStringEntryProto* _add = _internal_mutable_update_binding()->Add();
8380   // @@protoc_insertion_point(field_add:onnx.TrainingInfoProto.update_binding)
8381   return _add;
8382 }
8383 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& TrainingInfoProto::update_binding() const
8384     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8385   // @@protoc_insertion_point(field_list:onnx.TrainingInfoProto.update_binding)
8386   return _internal_update_binding();
8387 }
8388 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>&
8389 TrainingInfoProto::_internal_update_binding() const {
8390   ::google::protobuf::internal::TSanRead(&_impl_);
8391   return _impl_.update_binding_;
8392 }
8393 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>*
8394 TrainingInfoProto::_internal_mutable_update_binding() {
8395   ::google::protobuf::internal::TSanRead(&_impl_);
8396   return &_impl_.update_binding_;
8397 }
8398 
8399 // -------------------------------------------------------------------
8400 
8401 // ModelProto
8402 
8403 // optional int64 ir_version = 1;
8404 inline bool ModelProto::has_ir_version() const {
8405   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
8406   return value;
8407 }
8408 inline void ModelProto::clear_ir_version() {
8409   ::google::protobuf::internal::TSanWrite(&_impl_);
8410   _impl_.ir_version_ = ::int64_t{0};
8411   _impl_._has_bits_[0] &= ~0x00000020u;
8412 }
8413 inline ::int64_t ModelProto::ir_version() const {
8414   // @@protoc_insertion_point(field_get:onnx.ModelProto.ir_version)
8415   return _internal_ir_version();
8416 }
8417 inline void ModelProto::set_ir_version(::int64_t value) {
8418   _internal_set_ir_version(value);
8419   _impl_._has_bits_[0] |= 0x00000020u;
8420   // @@protoc_insertion_point(field_set:onnx.ModelProto.ir_version)
8421 }
8422 inline ::int64_t ModelProto::_internal_ir_version() const {
8423   ::google::protobuf::internal::TSanRead(&_impl_);
8424   return _impl_.ir_version_;
8425 }
8426 inline void ModelProto::_internal_set_ir_version(::int64_t value) {
8427   ::google::protobuf::internal::TSanWrite(&_impl_);
8428   _impl_.ir_version_ = value;
8429 }
8430 
8431 // repeated .onnx.OperatorSetIdProto opset_import = 8;
8432 inline int ModelProto::_internal_opset_import_size() const {
8433   return _internal_opset_import().size();
8434 }
8435 inline int ModelProto::opset_import_size() const {
8436   return _internal_opset_import_size();
8437 }
8438 inline void ModelProto::clear_opset_import() {
8439   ::google::protobuf::internal::TSanWrite(&_impl_);
8440   _impl_.opset_import_.Clear();
8441 }
8442 inline ::onnx::OperatorSetIdProto* ModelProto::mutable_opset_import(int index)
8443     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8444   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.opset_import)
8445   return _internal_mutable_opset_import()->Mutable(index);
8446 }
8447 inline ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>* ModelProto::mutable_opset_import()
8448     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8449   // @@protoc_insertion_point(field_mutable_list:onnx.ModelProto.opset_import)
8450   ::google::protobuf::internal::TSanWrite(&_impl_);
8451   return _internal_mutable_opset_import();
8452 }
8453 inline const ::onnx::OperatorSetIdProto& ModelProto::opset_import(int index) const
8454     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8455   // @@protoc_insertion_point(field_get:onnx.ModelProto.opset_import)
8456   return _internal_opset_import().Get(index);
8457 }
8458 inline ::onnx::OperatorSetIdProto* ModelProto::add_opset_import() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8459   ::google::protobuf::internal::TSanWrite(&_impl_);
8460   ::onnx::OperatorSetIdProto* _add = _internal_mutable_opset_import()->Add();
8461   // @@protoc_insertion_point(field_add:onnx.ModelProto.opset_import)
8462   return _add;
8463 }
8464 inline const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>& ModelProto::opset_import() const
8465     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8466   // @@protoc_insertion_point(field_list:onnx.ModelProto.opset_import)
8467   return _internal_opset_import();
8468 }
8469 inline const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>&
8470 ModelProto::_internal_opset_import() const {
8471   ::google::protobuf::internal::TSanRead(&_impl_);
8472   return _impl_.opset_import_;
8473 }
8474 inline ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>*
8475 ModelProto::_internal_mutable_opset_import() {
8476   ::google::protobuf::internal::TSanRead(&_impl_);
8477   return &_impl_.opset_import_;
8478 }
8479 
8480 // optional string producer_name = 2;
8481 inline bool ModelProto::has_producer_name() const {
8482   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
8483   return value;
8484 }
8485 inline void ModelProto::clear_producer_name() {
8486   ::google::protobuf::internal::TSanWrite(&_impl_);
8487   _impl_.producer_name_.ClearToEmpty();
8488   _impl_._has_bits_[0] &= ~0x00000001u;
8489 }
8490 inline const std::string& ModelProto::producer_name() const
8491     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8492   // @@protoc_insertion_point(field_get:onnx.ModelProto.producer_name)
8493   return _internal_producer_name();
8494 }
8495 template <typename Arg_, typename... Args_>
8496 inline PROTOBUF_ALWAYS_INLINE void ModelProto::set_producer_name(Arg_&& arg,
8497                                                      Args_... args) {
8498   ::google::protobuf::internal::TSanWrite(&_impl_);
8499   _impl_._has_bits_[0] |= 0x00000001u;
8500   _impl_.producer_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8501   // @@protoc_insertion_point(field_set:onnx.ModelProto.producer_name)
8502 }
8503 inline std::string* ModelProto::mutable_producer_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8504   std::string* _s = _internal_mutable_producer_name();
8505   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.producer_name)
8506   return _s;
8507 }
8508 inline const std::string& ModelProto::_internal_producer_name() const {
8509   ::google::protobuf::internal::TSanRead(&_impl_);
8510   return _impl_.producer_name_.Get();
8511 }
8512 inline void ModelProto::_internal_set_producer_name(const std::string& value) {
8513   ::google::protobuf::internal::TSanWrite(&_impl_);
8514   _impl_._has_bits_[0] |= 0x00000001u;
8515   _impl_.producer_name_.Set(value, GetArena());
8516 }
8517 inline std::string* ModelProto::_internal_mutable_producer_name() {
8518   ::google::protobuf::internal::TSanWrite(&_impl_);
8519   _impl_._has_bits_[0] |= 0x00000001u;
8520   return _impl_.producer_name_.Mutable( GetArena());
8521 }
8522 inline std::string* ModelProto::release_producer_name() {
8523   ::google::protobuf::internal::TSanWrite(&_impl_);
8524   // @@protoc_insertion_point(field_release:onnx.ModelProto.producer_name)
8525   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
8526     return nullptr;
8527   }
8528   _impl_._has_bits_[0] &= ~0x00000001u;
8529   auto* released = _impl_.producer_name_.Release();
8530   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8531   _impl_.producer_name_.Set("", GetArena());
8532   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8533   return released;
8534 }
8535 inline void ModelProto::set_allocated_producer_name(std::string* value) {
8536   ::google::protobuf::internal::TSanWrite(&_impl_);
8537   if (value != nullptr) {
8538     _impl_._has_bits_[0] |= 0x00000001u;
8539   } else {
8540     _impl_._has_bits_[0] &= ~0x00000001u;
8541   }
8542   _impl_.producer_name_.SetAllocated(value, GetArena());
8543   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8544         if (_impl_.producer_name_.IsDefault()) {
8545           _impl_.producer_name_.Set("", GetArena());
8546         }
8547   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8548   // @@protoc_insertion_point(field_set_allocated:onnx.ModelProto.producer_name)
8549 }
8550 
8551 // optional string producer_version = 3;
8552 inline bool ModelProto::has_producer_version() const {
8553   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
8554   return value;
8555 }
8556 inline void ModelProto::clear_producer_version() {
8557   ::google::protobuf::internal::TSanWrite(&_impl_);
8558   _impl_.producer_version_.ClearToEmpty();
8559   _impl_._has_bits_[0] &= ~0x00000002u;
8560 }
8561 inline const std::string& ModelProto::producer_version() const
8562     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8563   // @@protoc_insertion_point(field_get:onnx.ModelProto.producer_version)
8564   return _internal_producer_version();
8565 }
8566 template <typename Arg_, typename... Args_>
8567 inline PROTOBUF_ALWAYS_INLINE void ModelProto::set_producer_version(Arg_&& arg,
8568                                                      Args_... args) {
8569   ::google::protobuf::internal::TSanWrite(&_impl_);
8570   _impl_._has_bits_[0] |= 0x00000002u;
8571   _impl_.producer_version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8572   // @@protoc_insertion_point(field_set:onnx.ModelProto.producer_version)
8573 }
8574 inline std::string* ModelProto::mutable_producer_version() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8575   std::string* _s = _internal_mutable_producer_version();
8576   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.producer_version)
8577   return _s;
8578 }
8579 inline const std::string& ModelProto::_internal_producer_version() const {
8580   ::google::protobuf::internal::TSanRead(&_impl_);
8581   return _impl_.producer_version_.Get();
8582 }
8583 inline void ModelProto::_internal_set_producer_version(const std::string& value) {
8584   ::google::protobuf::internal::TSanWrite(&_impl_);
8585   _impl_._has_bits_[0] |= 0x00000002u;
8586   _impl_.producer_version_.Set(value, GetArena());
8587 }
8588 inline std::string* ModelProto::_internal_mutable_producer_version() {
8589   ::google::protobuf::internal::TSanWrite(&_impl_);
8590   _impl_._has_bits_[0] |= 0x00000002u;
8591   return _impl_.producer_version_.Mutable( GetArena());
8592 }
8593 inline std::string* ModelProto::release_producer_version() {
8594   ::google::protobuf::internal::TSanWrite(&_impl_);
8595   // @@protoc_insertion_point(field_release:onnx.ModelProto.producer_version)
8596   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
8597     return nullptr;
8598   }
8599   _impl_._has_bits_[0] &= ~0x00000002u;
8600   auto* released = _impl_.producer_version_.Release();
8601   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8602   _impl_.producer_version_.Set("", GetArena());
8603   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8604   return released;
8605 }
8606 inline void ModelProto::set_allocated_producer_version(std::string* value) {
8607   ::google::protobuf::internal::TSanWrite(&_impl_);
8608   if (value != nullptr) {
8609     _impl_._has_bits_[0] |= 0x00000002u;
8610   } else {
8611     _impl_._has_bits_[0] &= ~0x00000002u;
8612   }
8613   _impl_.producer_version_.SetAllocated(value, GetArena());
8614   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8615         if (_impl_.producer_version_.IsDefault()) {
8616           _impl_.producer_version_.Set("", GetArena());
8617         }
8618   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8619   // @@protoc_insertion_point(field_set_allocated:onnx.ModelProto.producer_version)
8620 }
8621 
8622 // optional string domain = 4;
8623 inline bool ModelProto::has_domain() const {
8624   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
8625   return value;
8626 }
8627 inline void ModelProto::clear_domain() {
8628   ::google::protobuf::internal::TSanWrite(&_impl_);
8629   _impl_.domain_.ClearToEmpty();
8630   _impl_._has_bits_[0] &= ~0x00000004u;
8631 }
8632 inline const std::string& ModelProto::domain() const
8633     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8634   // @@protoc_insertion_point(field_get:onnx.ModelProto.domain)
8635   return _internal_domain();
8636 }
8637 template <typename Arg_, typename... Args_>
8638 inline PROTOBUF_ALWAYS_INLINE void ModelProto::set_domain(Arg_&& arg,
8639                                                      Args_... args) {
8640   ::google::protobuf::internal::TSanWrite(&_impl_);
8641   _impl_._has_bits_[0] |= 0x00000004u;
8642   _impl_.domain_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8643   // @@protoc_insertion_point(field_set:onnx.ModelProto.domain)
8644 }
8645 inline std::string* ModelProto::mutable_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8646   std::string* _s = _internal_mutable_domain();
8647   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.domain)
8648   return _s;
8649 }
8650 inline const std::string& ModelProto::_internal_domain() const {
8651   ::google::protobuf::internal::TSanRead(&_impl_);
8652   return _impl_.domain_.Get();
8653 }
8654 inline void ModelProto::_internal_set_domain(const std::string& value) {
8655   ::google::protobuf::internal::TSanWrite(&_impl_);
8656   _impl_._has_bits_[0] |= 0x00000004u;
8657   _impl_.domain_.Set(value, GetArena());
8658 }
8659 inline std::string* ModelProto::_internal_mutable_domain() {
8660   ::google::protobuf::internal::TSanWrite(&_impl_);
8661   _impl_._has_bits_[0] |= 0x00000004u;
8662   return _impl_.domain_.Mutable( GetArena());
8663 }
8664 inline std::string* ModelProto::release_domain() {
8665   ::google::protobuf::internal::TSanWrite(&_impl_);
8666   // @@protoc_insertion_point(field_release:onnx.ModelProto.domain)
8667   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
8668     return nullptr;
8669   }
8670   _impl_._has_bits_[0] &= ~0x00000004u;
8671   auto* released = _impl_.domain_.Release();
8672   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8673   _impl_.domain_.Set("", GetArena());
8674   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8675   return released;
8676 }
8677 inline void ModelProto::set_allocated_domain(std::string* value) {
8678   ::google::protobuf::internal::TSanWrite(&_impl_);
8679   if (value != nullptr) {
8680     _impl_._has_bits_[0] |= 0x00000004u;
8681   } else {
8682     _impl_._has_bits_[0] &= ~0x00000004u;
8683   }
8684   _impl_.domain_.SetAllocated(value, GetArena());
8685   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8686         if (_impl_.domain_.IsDefault()) {
8687           _impl_.domain_.Set("", GetArena());
8688         }
8689   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8690   // @@protoc_insertion_point(field_set_allocated:onnx.ModelProto.domain)
8691 }
8692 
8693 // optional int64 model_version = 5;
8694 inline bool ModelProto::has_model_version() const {
8695   bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
8696   return value;
8697 }
8698 inline void ModelProto::clear_model_version() {
8699   ::google::protobuf::internal::TSanWrite(&_impl_);
8700   _impl_.model_version_ = ::int64_t{0};
8701   _impl_._has_bits_[0] &= ~0x00000040u;
8702 }
8703 inline ::int64_t ModelProto::model_version() const {
8704   // @@protoc_insertion_point(field_get:onnx.ModelProto.model_version)
8705   return _internal_model_version();
8706 }
8707 inline void ModelProto::set_model_version(::int64_t value) {
8708   _internal_set_model_version(value);
8709   _impl_._has_bits_[0] |= 0x00000040u;
8710   // @@protoc_insertion_point(field_set:onnx.ModelProto.model_version)
8711 }
8712 inline ::int64_t ModelProto::_internal_model_version() const {
8713   ::google::protobuf::internal::TSanRead(&_impl_);
8714   return _impl_.model_version_;
8715 }
8716 inline void ModelProto::_internal_set_model_version(::int64_t value) {
8717   ::google::protobuf::internal::TSanWrite(&_impl_);
8718   _impl_.model_version_ = value;
8719 }
8720 
8721 // optional string doc_string = 6;
8722 inline bool ModelProto::has_doc_string() const {
8723   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
8724   return value;
8725 }
8726 inline void ModelProto::clear_doc_string() {
8727   ::google::protobuf::internal::TSanWrite(&_impl_);
8728   _impl_.doc_string_.ClearToEmpty();
8729   _impl_._has_bits_[0] &= ~0x00000008u;
8730 }
8731 inline const std::string& ModelProto::doc_string() const
8732     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8733   // @@protoc_insertion_point(field_get:onnx.ModelProto.doc_string)
8734   return _internal_doc_string();
8735 }
8736 template <typename Arg_, typename... Args_>
8737 inline PROTOBUF_ALWAYS_INLINE void ModelProto::set_doc_string(Arg_&& arg,
8738                                                      Args_... args) {
8739   ::google::protobuf::internal::TSanWrite(&_impl_);
8740   _impl_._has_bits_[0] |= 0x00000008u;
8741   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8742   // @@protoc_insertion_point(field_set:onnx.ModelProto.doc_string)
8743 }
8744 inline std::string* ModelProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8745   std::string* _s = _internal_mutable_doc_string();
8746   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.doc_string)
8747   return _s;
8748 }
8749 inline const std::string& ModelProto::_internal_doc_string() const {
8750   ::google::protobuf::internal::TSanRead(&_impl_);
8751   return _impl_.doc_string_.Get();
8752 }
8753 inline void ModelProto::_internal_set_doc_string(const std::string& value) {
8754   ::google::protobuf::internal::TSanWrite(&_impl_);
8755   _impl_._has_bits_[0] |= 0x00000008u;
8756   _impl_.doc_string_.Set(value, GetArena());
8757 }
8758 inline std::string* ModelProto::_internal_mutable_doc_string() {
8759   ::google::protobuf::internal::TSanWrite(&_impl_);
8760   _impl_._has_bits_[0] |= 0x00000008u;
8761   return _impl_.doc_string_.Mutable( GetArena());
8762 }
8763 inline std::string* ModelProto::release_doc_string() {
8764   ::google::protobuf::internal::TSanWrite(&_impl_);
8765   // @@protoc_insertion_point(field_release:onnx.ModelProto.doc_string)
8766   if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
8767     return nullptr;
8768   }
8769   _impl_._has_bits_[0] &= ~0x00000008u;
8770   auto* released = _impl_.doc_string_.Release();
8771   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8772   _impl_.doc_string_.Set("", GetArena());
8773   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8774   return released;
8775 }
8776 inline void ModelProto::set_allocated_doc_string(std::string* value) {
8777   ::google::protobuf::internal::TSanWrite(&_impl_);
8778   if (value != nullptr) {
8779     _impl_._has_bits_[0] |= 0x00000008u;
8780   } else {
8781     _impl_._has_bits_[0] &= ~0x00000008u;
8782   }
8783   _impl_.doc_string_.SetAllocated(value, GetArena());
8784   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8785         if (_impl_.doc_string_.IsDefault()) {
8786           _impl_.doc_string_.Set("", GetArena());
8787         }
8788   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8789   // @@protoc_insertion_point(field_set_allocated:onnx.ModelProto.doc_string)
8790 }
8791 
8792 // optional .onnx.GraphProto graph = 7;
8793 inline bool ModelProto::has_graph() const {
8794   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
8795   PROTOBUF_ASSUME(!value || _impl_.graph_ != nullptr);
8796   return value;
8797 }
8798 inline void ModelProto::clear_graph() {
8799   ::google::protobuf::internal::TSanWrite(&_impl_);
8800   if (_impl_.graph_ != nullptr) _impl_.graph_->Clear();
8801   _impl_._has_bits_[0] &= ~0x00000010u;
8802 }
8803 inline const ::onnx::GraphProto& ModelProto::_internal_graph() const {
8804   ::google::protobuf::internal::TSanRead(&_impl_);
8805   const ::onnx::GraphProto* p = _impl_.graph_;
8806   return p != nullptr ? *p : reinterpret_cast<const ::onnx::GraphProto&>(::onnx::_GraphProto_default_instance_);
8807 }
8808 inline const ::onnx::GraphProto& ModelProto::graph() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8809   // @@protoc_insertion_point(field_get:onnx.ModelProto.graph)
8810   return _internal_graph();
8811 }
8812 inline void ModelProto::unsafe_arena_set_allocated_graph(::onnx::GraphProto* value) {
8813   ::google::protobuf::internal::TSanWrite(&_impl_);
8814   if (GetArena() == nullptr) {
8815     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.graph_);
8816   }
8817   _impl_.graph_ = reinterpret_cast<::onnx::GraphProto*>(value);
8818   if (value != nullptr) {
8819     _impl_._has_bits_[0] |= 0x00000010u;
8820   } else {
8821     _impl_._has_bits_[0] &= ~0x00000010u;
8822   }
8823   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.ModelProto.graph)
8824 }
8825 inline ::onnx::GraphProto* ModelProto::release_graph() {
8826   ::google::protobuf::internal::TSanWrite(&_impl_);
8827 
8828   _impl_._has_bits_[0] &= ~0x00000010u;
8829   ::onnx::GraphProto* released = _impl_.graph_;
8830   _impl_.graph_ = nullptr;
8831 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8832   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
8833   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8834   if (GetArena() == nullptr) {
8835     delete old;
8836   }
8837 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
8838   if (GetArena() != nullptr) {
8839     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8840   }
8841 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
8842   return released;
8843 }
8844 inline ::onnx::GraphProto* ModelProto::unsafe_arena_release_graph() {
8845   ::google::protobuf::internal::TSanWrite(&_impl_);
8846   // @@protoc_insertion_point(field_release:onnx.ModelProto.graph)
8847 
8848   _impl_._has_bits_[0] &= ~0x00000010u;
8849   ::onnx::GraphProto* temp = _impl_.graph_;
8850   _impl_.graph_ = nullptr;
8851   return temp;
8852 }
8853 inline ::onnx::GraphProto* ModelProto::_internal_mutable_graph() {
8854   ::google::protobuf::internal::TSanWrite(&_impl_);
8855   if (_impl_.graph_ == nullptr) {
8856     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::GraphProto>(GetArena());
8857     _impl_.graph_ = reinterpret_cast<::onnx::GraphProto*>(p);
8858   }
8859   return _impl_.graph_;
8860 }
8861 inline ::onnx::GraphProto* ModelProto::mutable_graph() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8862   _impl_._has_bits_[0] |= 0x00000010u;
8863   ::onnx::GraphProto* _msg = _internal_mutable_graph();
8864   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.graph)
8865   return _msg;
8866 }
8867 inline void ModelProto::set_allocated_graph(::onnx::GraphProto* value) {
8868   ::google::protobuf::Arena* message_arena = GetArena();
8869   ::google::protobuf::internal::TSanWrite(&_impl_);
8870   if (message_arena == nullptr) {
8871     delete (_impl_.graph_);
8872   }
8873 
8874   if (value != nullptr) {
8875     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
8876     if (message_arena != submessage_arena) {
8877       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
8878     }
8879     _impl_._has_bits_[0] |= 0x00000010u;
8880   } else {
8881     _impl_._has_bits_[0] &= ~0x00000010u;
8882   }
8883 
8884   _impl_.graph_ = reinterpret_cast<::onnx::GraphProto*>(value);
8885   // @@protoc_insertion_point(field_set_allocated:onnx.ModelProto.graph)
8886 }
8887 
8888 // repeated .onnx.StringStringEntryProto metadata_props = 14;
8889 inline int ModelProto::_internal_metadata_props_size() const {
8890   return _internal_metadata_props().size();
8891 }
8892 inline int ModelProto::metadata_props_size() const {
8893   return _internal_metadata_props_size();
8894 }
8895 inline void ModelProto::clear_metadata_props() {
8896   ::google::protobuf::internal::TSanWrite(&_impl_);
8897   _impl_.metadata_props_.Clear();
8898 }
8899 inline ::onnx::StringStringEntryProto* ModelProto::mutable_metadata_props(int index)
8900     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8901   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.metadata_props)
8902   return _internal_mutable_metadata_props()->Mutable(index);
8903 }
8904 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* ModelProto::mutable_metadata_props()
8905     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8906   // @@protoc_insertion_point(field_mutable_list:onnx.ModelProto.metadata_props)
8907   ::google::protobuf::internal::TSanWrite(&_impl_);
8908   return _internal_mutable_metadata_props();
8909 }
8910 inline const ::onnx::StringStringEntryProto& ModelProto::metadata_props(int index) const
8911     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8912   // @@protoc_insertion_point(field_get:onnx.ModelProto.metadata_props)
8913   return _internal_metadata_props().Get(index);
8914 }
8915 inline ::onnx::StringStringEntryProto* ModelProto::add_metadata_props() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8916   ::google::protobuf::internal::TSanWrite(&_impl_);
8917   ::onnx::StringStringEntryProto* _add = _internal_mutable_metadata_props()->Add();
8918   // @@protoc_insertion_point(field_add:onnx.ModelProto.metadata_props)
8919   return _add;
8920 }
8921 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& ModelProto::metadata_props() const
8922     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8923   // @@protoc_insertion_point(field_list:onnx.ModelProto.metadata_props)
8924   return _internal_metadata_props();
8925 }
8926 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>&
8927 ModelProto::_internal_metadata_props() const {
8928   ::google::protobuf::internal::TSanRead(&_impl_);
8929   return _impl_.metadata_props_;
8930 }
8931 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>*
8932 ModelProto::_internal_mutable_metadata_props() {
8933   ::google::protobuf::internal::TSanRead(&_impl_);
8934   return &_impl_.metadata_props_;
8935 }
8936 
8937 // repeated .onnx.TrainingInfoProto training_info = 20;
8938 inline int ModelProto::_internal_training_info_size() const {
8939   return _internal_training_info().size();
8940 }
8941 inline int ModelProto::training_info_size() const {
8942   return _internal_training_info_size();
8943 }
8944 inline void ModelProto::clear_training_info() {
8945   ::google::protobuf::internal::TSanWrite(&_impl_);
8946   _impl_.training_info_.Clear();
8947 }
8948 inline ::onnx::TrainingInfoProto* ModelProto::mutable_training_info(int index)
8949     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8950   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.training_info)
8951   return _internal_mutable_training_info()->Mutable(index);
8952 }
8953 inline ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>* ModelProto::mutable_training_info()
8954     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8955   // @@protoc_insertion_point(field_mutable_list:onnx.ModelProto.training_info)
8956   ::google::protobuf::internal::TSanWrite(&_impl_);
8957   return _internal_mutable_training_info();
8958 }
8959 inline const ::onnx::TrainingInfoProto& ModelProto::training_info(int index) const
8960     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8961   // @@protoc_insertion_point(field_get:onnx.ModelProto.training_info)
8962   return _internal_training_info().Get(index);
8963 }
8964 inline ::onnx::TrainingInfoProto* ModelProto::add_training_info() ABSL_ATTRIBUTE_LIFETIME_BOUND {
8965   ::google::protobuf::internal::TSanWrite(&_impl_);
8966   ::onnx::TrainingInfoProto* _add = _internal_mutable_training_info()->Add();
8967   // @@protoc_insertion_point(field_add:onnx.ModelProto.training_info)
8968   return _add;
8969 }
8970 inline const ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>& ModelProto::training_info() const
8971     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8972   // @@protoc_insertion_point(field_list:onnx.ModelProto.training_info)
8973   return _internal_training_info();
8974 }
8975 inline const ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>&
8976 ModelProto::_internal_training_info() const {
8977   ::google::protobuf::internal::TSanRead(&_impl_);
8978   return _impl_.training_info_;
8979 }
8980 inline ::google::protobuf::RepeatedPtrField<::onnx::TrainingInfoProto>*
8981 ModelProto::_internal_mutable_training_info() {
8982   ::google::protobuf::internal::TSanRead(&_impl_);
8983   return &_impl_.training_info_;
8984 }
8985 
8986 // repeated .onnx.FunctionProto functions = 25;
8987 inline int ModelProto::_internal_functions_size() const {
8988   return _internal_functions().size();
8989 }
8990 inline int ModelProto::functions_size() const {
8991   return _internal_functions_size();
8992 }
8993 inline void ModelProto::clear_functions() {
8994   ::google::protobuf::internal::TSanWrite(&_impl_);
8995   _impl_.functions_.Clear();
8996 }
8997 inline ::onnx::FunctionProto* ModelProto::mutable_functions(int index)
8998     ABSL_ATTRIBUTE_LIFETIME_BOUND {
8999   // @@protoc_insertion_point(field_mutable:onnx.ModelProto.functions)
9000   return _internal_mutable_functions()->Mutable(index);
9001 }
9002 inline ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>* ModelProto::mutable_functions()
9003     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9004   // @@protoc_insertion_point(field_mutable_list:onnx.ModelProto.functions)
9005   ::google::protobuf::internal::TSanWrite(&_impl_);
9006   return _internal_mutable_functions();
9007 }
9008 inline const ::onnx::FunctionProto& ModelProto::functions(int index) const
9009     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9010   // @@protoc_insertion_point(field_get:onnx.ModelProto.functions)
9011   return _internal_functions().Get(index);
9012 }
9013 inline ::onnx::FunctionProto* ModelProto::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9014   ::google::protobuf::internal::TSanWrite(&_impl_);
9015   ::onnx::FunctionProto* _add = _internal_mutable_functions()->Add();
9016   // @@protoc_insertion_point(field_add:onnx.ModelProto.functions)
9017   return _add;
9018 }
9019 inline const ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>& ModelProto::functions() const
9020     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9021   // @@protoc_insertion_point(field_list:onnx.ModelProto.functions)
9022   return _internal_functions();
9023 }
9024 inline const ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>&
9025 ModelProto::_internal_functions() const {
9026   ::google::protobuf::internal::TSanRead(&_impl_);
9027   return _impl_.functions_;
9028 }
9029 inline ::google::protobuf::RepeatedPtrField<::onnx::FunctionProto>*
9030 ModelProto::_internal_mutable_functions() {
9031   ::google::protobuf::internal::TSanRead(&_impl_);
9032   return &_impl_.functions_;
9033 }
9034 
9035 // -------------------------------------------------------------------
9036 
9037 // StringStringEntryProto
9038 
9039 // optional string key = 1;
9040 inline bool StringStringEntryProto::has_key() const {
9041   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9042   return value;
9043 }
9044 inline void StringStringEntryProto::clear_key() {
9045   ::google::protobuf::internal::TSanWrite(&_impl_);
9046   _impl_.key_.ClearToEmpty();
9047   _impl_._has_bits_[0] &= ~0x00000001u;
9048 }
9049 inline const std::string& StringStringEntryProto::key() const
9050     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9051   // @@protoc_insertion_point(field_get:onnx.StringStringEntryProto.key)
9052   return _internal_key();
9053 }
9054 template <typename Arg_, typename... Args_>
9055 inline PROTOBUF_ALWAYS_INLINE void StringStringEntryProto::set_key(Arg_&& arg,
9056                                                      Args_... args) {
9057   ::google::protobuf::internal::TSanWrite(&_impl_);
9058   _impl_._has_bits_[0] |= 0x00000001u;
9059   _impl_.key_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
9060   // @@protoc_insertion_point(field_set:onnx.StringStringEntryProto.key)
9061 }
9062 inline std::string* StringStringEntryProto::mutable_key() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9063   std::string* _s = _internal_mutable_key();
9064   // @@protoc_insertion_point(field_mutable:onnx.StringStringEntryProto.key)
9065   return _s;
9066 }
9067 inline const std::string& StringStringEntryProto::_internal_key() const {
9068   ::google::protobuf::internal::TSanRead(&_impl_);
9069   return _impl_.key_.Get();
9070 }
9071 inline void StringStringEntryProto::_internal_set_key(const std::string& value) {
9072   ::google::protobuf::internal::TSanWrite(&_impl_);
9073   _impl_._has_bits_[0] |= 0x00000001u;
9074   _impl_.key_.Set(value, GetArena());
9075 }
9076 inline std::string* StringStringEntryProto::_internal_mutable_key() {
9077   ::google::protobuf::internal::TSanWrite(&_impl_);
9078   _impl_._has_bits_[0] |= 0x00000001u;
9079   return _impl_.key_.Mutable( GetArena());
9080 }
9081 inline std::string* StringStringEntryProto::release_key() {
9082   ::google::protobuf::internal::TSanWrite(&_impl_);
9083   // @@protoc_insertion_point(field_release:onnx.StringStringEntryProto.key)
9084   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
9085     return nullptr;
9086   }
9087   _impl_._has_bits_[0] &= ~0x00000001u;
9088   auto* released = _impl_.key_.Release();
9089   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9090   _impl_.key_.Set("", GetArena());
9091   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9092   return released;
9093 }
9094 inline void StringStringEntryProto::set_allocated_key(std::string* value) {
9095   ::google::protobuf::internal::TSanWrite(&_impl_);
9096   if (value != nullptr) {
9097     _impl_._has_bits_[0] |= 0x00000001u;
9098   } else {
9099     _impl_._has_bits_[0] &= ~0x00000001u;
9100   }
9101   _impl_.key_.SetAllocated(value, GetArena());
9102   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9103         if (_impl_.key_.IsDefault()) {
9104           _impl_.key_.Set("", GetArena());
9105         }
9106   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9107   // @@protoc_insertion_point(field_set_allocated:onnx.StringStringEntryProto.key)
9108 }
9109 
9110 // optional string value = 2;
9111 inline bool StringStringEntryProto::has_value() const {
9112   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
9113   return value;
9114 }
9115 inline void StringStringEntryProto::clear_value() {
9116   ::google::protobuf::internal::TSanWrite(&_impl_);
9117   _impl_.value_.ClearToEmpty();
9118   _impl_._has_bits_[0] &= ~0x00000002u;
9119 }
9120 inline const std::string& StringStringEntryProto::value() const
9121     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9122   // @@protoc_insertion_point(field_get:onnx.StringStringEntryProto.value)
9123   return _internal_value();
9124 }
9125 template <typename Arg_, typename... Args_>
9126 inline PROTOBUF_ALWAYS_INLINE void StringStringEntryProto::set_value(Arg_&& arg,
9127                                                      Args_... args) {
9128   ::google::protobuf::internal::TSanWrite(&_impl_);
9129   _impl_._has_bits_[0] |= 0x00000002u;
9130   _impl_.value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
9131   // @@protoc_insertion_point(field_set:onnx.StringStringEntryProto.value)
9132 }
9133 inline std::string* StringStringEntryProto::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9134   std::string* _s = _internal_mutable_value();
9135   // @@protoc_insertion_point(field_mutable:onnx.StringStringEntryProto.value)
9136   return _s;
9137 }
9138 inline const std::string& StringStringEntryProto::_internal_value() const {
9139   ::google::protobuf::internal::TSanRead(&_impl_);
9140   return _impl_.value_.Get();
9141 }
9142 inline void StringStringEntryProto::_internal_set_value(const std::string& value) {
9143   ::google::protobuf::internal::TSanWrite(&_impl_);
9144   _impl_._has_bits_[0] |= 0x00000002u;
9145   _impl_.value_.Set(value, GetArena());
9146 }
9147 inline std::string* StringStringEntryProto::_internal_mutable_value() {
9148   ::google::protobuf::internal::TSanWrite(&_impl_);
9149   _impl_._has_bits_[0] |= 0x00000002u;
9150   return _impl_.value_.Mutable( GetArena());
9151 }
9152 inline std::string* StringStringEntryProto::release_value() {
9153   ::google::protobuf::internal::TSanWrite(&_impl_);
9154   // @@protoc_insertion_point(field_release:onnx.StringStringEntryProto.value)
9155   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
9156     return nullptr;
9157   }
9158   _impl_._has_bits_[0] &= ~0x00000002u;
9159   auto* released = _impl_.value_.Release();
9160   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9161   _impl_.value_.Set("", GetArena());
9162   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9163   return released;
9164 }
9165 inline void StringStringEntryProto::set_allocated_value(std::string* value) {
9166   ::google::protobuf::internal::TSanWrite(&_impl_);
9167   if (value != nullptr) {
9168     _impl_._has_bits_[0] |= 0x00000002u;
9169   } else {
9170     _impl_._has_bits_[0] &= ~0x00000002u;
9171   }
9172   _impl_.value_.SetAllocated(value, GetArena());
9173   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9174         if (_impl_.value_.IsDefault()) {
9175           _impl_.value_.Set("", GetArena());
9176         }
9177   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9178   // @@protoc_insertion_point(field_set_allocated:onnx.StringStringEntryProto.value)
9179 }
9180 
9181 // -------------------------------------------------------------------
9182 
9183 // TensorAnnotation
9184 
9185 // optional string tensor_name = 1;
9186 inline bool TensorAnnotation::has_tensor_name() const {
9187   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9188   return value;
9189 }
9190 inline void TensorAnnotation::clear_tensor_name() {
9191   ::google::protobuf::internal::TSanWrite(&_impl_);
9192   _impl_.tensor_name_.ClearToEmpty();
9193   _impl_._has_bits_[0] &= ~0x00000001u;
9194 }
9195 inline const std::string& TensorAnnotation::tensor_name() const
9196     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9197   // @@protoc_insertion_point(field_get:onnx.TensorAnnotation.tensor_name)
9198   return _internal_tensor_name();
9199 }
9200 template <typename Arg_, typename... Args_>
9201 inline PROTOBUF_ALWAYS_INLINE void TensorAnnotation::set_tensor_name(Arg_&& arg,
9202                                                      Args_... args) {
9203   ::google::protobuf::internal::TSanWrite(&_impl_);
9204   _impl_._has_bits_[0] |= 0x00000001u;
9205   _impl_.tensor_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
9206   // @@protoc_insertion_point(field_set:onnx.TensorAnnotation.tensor_name)
9207 }
9208 inline std::string* TensorAnnotation::mutable_tensor_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9209   std::string* _s = _internal_mutable_tensor_name();
9210   // @@protoc_insertion_point(field_mutable:onnx.TensorAnnotation.tensor_name)
9211   return _s;
9212 }
9213 inline const std::string& TensorAnnotation::_internal_tensor_name() const {
9214   ::google::protobuf::internal::TSanRead(&_impl_);
9215   return _impl_.tensor_name_.Get();
9216 }
9217 inline void TensorAnnotation::_internal_set_tensor_name(const std::string& value) {
9218   ::google::protobuf::internal::TSanWrite(&_impl_);
9219   _impl_._has_bits_[0] |= 0x00000001u;
9220   _impl_.tensor_name_.Set(value, GetArena());
9221 }
9222 inline std::string* TensorAnnotation::_internal_mutable_tensor_name() {
9223   ::google::protobuf::internal::TSanWrite(&_impl_);
9224   _impl_._has_bits_[0] |= 0x00000001u;
9225   return _impl_.tensor_name_.Mutable( GetArena());
9226 }
9227 inline std::string* TensorAnnotation::release_tensor_name() {
9228   ::google::protobuf::internal::TSanWrite(&_impl_);
9229   // @@protoc_insertion_point(field_release:onnx.TensorAnnotation.tensor_name)
9230   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
9231     return nullptr;
9232   }
9233   _impl_._has_bits_[0] &= ~0x00000001u;
9234   auto* released = _impl_.tensor_name_.Release();
9235   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9236   _impl_.tensor_name_.Set("", GetArena());
9237   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9238   return released;
9239 }
9240 inline void TensorAnnotation::set_allocated_tensor_name(std::string* value) {
9241   ::google::protobuf::internal::TSanWrite(&_impl_);
9242   if (value != nullptr) {
9243     _impl_._has_bits_[0] |= 0x00000001u;
9244   } else {
9245     _impl_._has_bits_[0] &= ~0x00000001u;
9246   }
9247   _impl_.tensor_name_.SetAllocated(value, GetArena());
9248   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9249         if (_impl_.tensor_name_.IsDefault()) {
9250           _impl_.tensor_name_.Set("", GetArena());
9251         }
9252   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9253   // @@protoc_insertion_point(field_set_allocated:onnx.TensorAnnotation.tensor_name)
9254 }
9255 
9256 // repeated .onnx.StringStringEntryProto quant_parameter_tensor_names = 2;
9257 inline int TensorAnnotation::_internal_quant_parameter_tensor_names_size() const {
9258   return _internal_quant_parameter_tensor_names().size();
9259 }
9260 inline int TensorAnnotation::quant_parameter_tensor_names_size() const {
9261   return _internal_quant_parameter_tensor_names_size();
9262 }
9263 inline void TensorAnnotation::clear_quant_parameter_tensor_names() {
9264   ::google::protobuf::internal::TSanWrite(&_impl_);
9265   _impl_.quant_parameter_tensor_names_.Clear();
9266 }
9267 inline ::onnx::StringStringEntryProto* TensorAnnotation::mutable_quant_parameter_tensor_names(int index)
9268     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9269   // @@protoc_insertion_point(field_mutable:onnx.TensorAnnotation.quant_parameter_tensor_names)
9270   return _internal_mutable_quant_parameter_tensor_names()->Mutable(index);
9271 }
9272 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* TensorAnnotation::mutable_quant_parameter_tensor_names()
9273     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9274   // @@protoc_insertion_point(field_mutable_list:onnx.TensorAnnotation.quant_parameter_tensor_names)
9275   ::google::protobuf::internal::TSanWrite(&_impl_);
9276   return _internal_mutable_quant_parameter_tensor_names();
9277 }
9278 inline const ::onnx::StringStringEntryProto& TensorAnnotation::quant_parameter_tensor_names(int index) const
9279     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9280   // @@protoc_insertion_point(field_get:onnx.TensorAnnotation.quant_parameter_tensor_names)
9281   return _internal_quant_parameter_tensor_names().Get(index);
9282 }
9283 inline ::onnx::StringStringEntryProto* TensorAnnotation::add_quant_parameter_tensor_names() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9284   ::google::protobuf::internal::TSanWrite(&_impl_);
9285   ::onnx::StringStringEntryProto* _add = _internal_mutable_quant_parameter_tensor_names()->Add();
9286   // @@protoc_insertion_point(field_add:onnx.TensorAnnotation.quant_parameter_tensor_names)
9287   return _add;
9288 }
9289 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& TensorAnnotation::quant_parameter_tensor_names() const
9290     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9291   // @@protoc_insertion_point(field_list:onnx.TensorAnnotation.quant_parameter_tensor_names)
9292   return _internal_quant_parameter_tensor_names();
9293 }
9294 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>&
9295 TensorAnnotation::_internal_quant_parameter_tensor_names() const {
9296   ::google::protobuf::internal::TSanRead(&_impl_);
9297   return _impl_.quant_parameter_tensor_names_;
9298 }
9299 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>*
9300 TensorAnnotation::_internal_mutable_quant_parameter_tensor_names() {
9301   ::google::protobuf::internal::TSanRead(&_impl_);
9302   return &_impl_.quant_parameter_tensor_names_;
9303 }
9304 
9305 // -------------------------------------------------------------------
9306 
9307 // GraphProto
9308 
9309 // repeated .onnx.NodeProto node = 1;
9310 inline int GraphProto::_internal_node_size() const {
9311   return _internal_node().size();
9312 }
9313 inline int GraphProto::node_size() const {
9314   return _internal_node_size();
9315 }
9316 inline void GraphProto::clear_node() {
9317   ::google::protobuf::internal::TSanWrite(&_impl_);
9318   _impl_.node_.Clear();
9319 }
9320 inline ::onnx::NodeProto* GraphProto::mutable_node(int index)
9321     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9322   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.node)
9323   return _internal_mutable_node()->Mutable(index);
9324 }
9325 inline ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>* GraphProto::mutable_node()
9326     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9327   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.node)
9328   ::google::protobuf::internal::TSanWrite(&_impl_);
9329   return _internal_mutable_node();
9330 }
9331 inline const ::onnx::NodeProto& GraphProto::node(int index) const
9332     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9333   // @@protoc_insertion_point(field_get:onnx.GraphProto.node)
9334   return _internal_node().Get(index);
9335 }
9336 inline ::onnx::NodeProto* GraphProto::add_node() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9337   ::google::protobuf::internal::TSanWrite(&_impl_);
9338   ::onnx::NodeProto* _add = _internal_mutable_node()->Add();
9339   // @@protoc_insertion_point(field_add:onnx.GraphProto.node)
9340   return _add;
9341 }
9342 inline const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>& GraphProto::node() const
9343     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9344   // @@protoc_insertion_point(field_list:onnx.GraphProto.node)
9345   return _internal_node();
9346 }
9347 inline const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>&
9348 GraphProto::_internal_node() const {
9349   ::google::protobuf::internal::TSanRead(&_impl_);
9350   return _impl_.node_;
9351 }
9352 inline ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>*
9353 GraphProto::_internal_mutable_node() {
9354   ::google::protobuf::internal::TSanRead(&_impl_);
9355   return &_impl_.node_;
9356 }
9357 
9358 // optional string name = 2;
9359 inline bool GraphProto::has_name() const {
9360   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9361   return value;
9362 }
9363 inline void GraphProto::clear_name() {
9364   ::google::protobuf::internal::TSanWrite(&_impl_);
9365   _impl_.name_.ClearToEmpty();
9366   _impl_._has_bits_[0] &= ~0x00000001u;
9367 }
9368 inline const std::string& GraphProto::name() const
9369     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9370   // @@protoc_insertion_point(field_get:onnx.GraphProto.name)
9371   return _internal_name();
9372 }
9373 template <typename Arg_, typename... Args_>
9374 inline PROTOBUF_ALWAYS_INLINE void GraphProto::set_name(Arg_&& arg,
9375                                                      Args_... args) {
9376   ::google::protobuf::internal::TSanWrite(&_impl_);
9377   _impl_._has_bits_[0] |= 0x00000001u;
9378   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
9379   // @@protoc_insertion_point(field_set:onnx.GraphProto.name)
9380 }
9381 inline std::string* GraphProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9382   std::string* _s = _internal_mutable_name();
9383   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.name)
9384   return _s;
9385 }
9386 inline const std::string& GraphProto::_internal_name() const {
9387   ::google::protobuf::internal::TSanRead(&_impl_);
9388   return _impl_.name_.Get();
9389 }
9390 inline void GraphProto::_internal_set_name(const std::string& value) {
9391   ::google::protobuf::internal::TSanWrite(&_impl_);
9392   _impl_._has_bits_[0] |= 0x00000001u;
9393   _impl_.name_.Set(value, GetArena());
9394 }
9395 inline std::string* GraphProto::_internal_mutable_name() {
9396   ::google::protobuf::internal::TSanWrite(&_impl_);
9397   _impl_._has_bits_[0] |= 0x00000001u;
9398   return _impl_.name_.Mutable( GetArena());
9399 }
9400 inline std::string* GraphProto::release_name() {
9401   ::google::protobuf::internal::TSanWrite(&_impl_);
9402   // @@protoc_insertion_point(field_release:onnx.GraphProto.name)
9403   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
9404     return nullptr;
9405   }
9406   _impl_._has_bits_[0] &= ~0x00000001u;
9407   auto* released = _impl_.name_.Release();
9408   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9409   _impl_.name_.Set("", GetArena());
9410   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9411   return released;
9412 }
9413 inline void GraphProto::set_allocated_name(std::string* value) {
9414   ::google::protobuf::internal::TSanWrite(&_impl_);
9415   if (value != nullptr) {
9416     _impl_._has_bits_[0] |= 0x00000001u;
9417   } else {
9418     _impl_._has_bits_[0] &= ~0x00000001u;
9419   }
9420   _impl_.name_.SetAllocated(value, GetArena());
9421   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9422         if (_impl_.name_.IsDefault()) {
9423           _impl_.name_.Set("", GetArena());
9424         }
9425   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9426   // @@protoc_insertion_point(field_set_allocated:onnx.GraphProto.name)
9427 }
9428 
9429 // repeated .onnx.TensorProto initializer = 5;
9430 inline int GraphProto::_internal_initializer_size() const {
9431   return _internal_initializer().size();
9432 }
9433 inline int GraphProto::initializer_size() const {
9434   return _internal_initializer_size();
9435 }
9436 inline void GraphProto::clear_initializer() {
9437   ::google::protobuf::internal::TSanWrite(&_impl_);
9438   _impl_.initializer_.Clear();
9439 }
9440 inline ::onnx::TensorProto* GraphProto::mutable_initializer(int index)
9441     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9442   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.initializer)
9443   return _internal_mutable_initializer()->Mutable(index);
9444 }
9445 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>* GraphProto::mutable_initializer()
9446     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9447   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.initializer)
9448   ::google::protobuf::internal::TSanWrite(&_impl_);
9449   return _internal_mutable_initializer();
9450 }
9451 inline const ::onnx::TensorProto& GraphProto::initializer(int index) const
9452     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9453   // @@protoc_insertion_point(field_get:onnx.GraphProto.initializer)
9454   return _internal_initializer().Get(index);
9455 }
9456 inline ::onnx::TensorProto* GraphProto::add_initializer() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9457   ::google::protobuf::internal::TSanWrite(&_impl_);
9458   ::onnx::TensorProto* _add = _internal_mutable_initializer()->Add();
9459   // @@protoc_insertion_point(field_add:onnx.GraphProto.initializer)
9460   return _add;
9461 }
9462 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>& GraphProto::initializer() const
9463     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9464   // @@protoc_insertion_point(field_list:onnx.GraphProto.initializer)
9465   return _internal_initializer();
9466 }
9467 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>&
9468 GraphProto::_internal_initializer() const {
9469   ::google::protobuf::internal::TSanRead(&_impl_);
9470   return _impl_.initializer_;
9471 }
9472 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorProto>*
9473 GraphProto::_internal_mutable_initializer() {
9474   ::google::protobuf::internal::TSanRead(&_impl_);
9475   return &_impl_.initializer_;
9476 }
9477 
9478 // repeated .onnx.SparseTensorProto sparse_initializer = 15;
9479 inline int GraphProto::_internal_sparse_initializer_size() const {
9480   return _internal_sparse_initializer().size();
9481 }
9482 inline int GraphProto::sparse_initializer_size() const {
9483   return _internal_sparse_initializer_size();
9484 }
9485 inline void GraphProto::clear_sparse_initializer() {
9486   ::google::protobuf::internal::TSanWrite(&_impl_);
9487   _impl_.sparse_initializer_.Clear();
9488 }
9489 inline ::onnx::SparseTensorProto* GraphProto::mutable_sparse_initializer(int index)
9490     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9491   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.sparse_initializer)
9492   return _internal_mutable_sparse_initializer()->Mutable(index);
9493 }
9494 inline ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>* GraphProto::mutable_sparse_initializer()
9495     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9496   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.sparse_initializer)
9497   ::google::protobuf::internal::TSanWrite(&_impl_);
9498   return _internal_mutable_sparse_initializer();
9499 }
9500 inline const ::onnx::SparseTensorProto& GraphProto::sparse_initializer(int index) const
9501     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9502   // @@protoc_insertion_point(field_get:onnx.GraphProto.sparse_initializer)
9503   return _internal_sparse_initializer().Get(index);
9504 }
9505 inline ::onnx::SparseTensorProto* GraphProto::add_sparse_initializer() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9506   ::google::protobuf::internal::TSanWrite(&_impl_);
9507   ::onnx::SparseTensorProto* _add = _internal_mutable_sparse_initializer()->Add();
9508   // @@protoc_insertion_point(field_add:onnx.GraphProto.sparse_initializer)
9509   return _add;
9510 }
9511 inline const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>& GraphProto::sparse_initializer() const
9512     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9513   // @@protoc_insertion_point(field_list:onnx.GraphProto.sparse_initializer)
9514   return _internal_sparse_initializer();
9515 }
9516 inline const ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>&
9517 GraphProto::_internal_sparse_initializer() const {
9518   ::google::protobuf::internal::TSanRead(&_impl_);
9519   return _impl_.sparse_initializer_;
9520 }
9521 inline ::google::protobuf::RepeatedPtrField<::onnx::SparseTensorProto>*
9522 GraphProto::_internal_mutable_sparse_initializer() {
9523   ::google::protobuf::internal::TSanRead(&_impl_);
9524   return &_impl_.sparse_initializer_;
9525 }
9526 
9527 // optional string doc_string = 10;
9528 inline bool GraphProto::has_doc_string() const {
9529   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
9530   return value;
9531 }
9532 inline void GraphProto::clear_doc_string() {
9533   ::google::protobuf::internal::TSanWrite(&_impl_);
9534   _impl_.doc_string_.ClearToEmpty();
9535   _impl_._has_bits_[0] &= ~0x00000002u;
9536 }
9537 inline const std::string& GraphProto::doc_string() const
9538     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9539   // @@protoc_insertion_point(field_get:onnx.GraphProto.doc_string)
9540   return _internal_doc_string();
9541 }
9542 template <typename Arg_, typename... Args_>
9543 inline PROTOBUF_ALWAYS_INLINE void GraphProto::set_doc_string(Arg_&& arg,
9544                                                      Args_... args) {
9545   ::google::protobuf::internal::TSanWrite(&_impl_);
9546   _impl_._has_bits_[0] |= 0x00000002u;
9547   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
9548   // @@protoc_insertion_point(field_set:onnx.GraphProto.doc_string)
9549 }
9550 inline std::string* GraphProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9551   std::string* _s = _internal_mutable_doc_string();
9552   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.doc_string)
9553   return _s;
9554 }
9555 inline const std::string& GraphProto::_internal_doc_string() const {
9556   ::google::protobuf::internal::TSanRead(&_impl_);
9557   return _impl_.doc_string_.Get();
9558 }
9559 inline void GraphProto::_internal_set_doc_string(const std::string& value) {
9560   ::google::protobuf::internal::TSanWrite(&_impl_);
9561   _impl_._has_bits_[0] |= 0x00000002u;
9562   _impl_.doc_string_.Set(value, GetArena());
9563 }
9564 inline std::string* GraphProto::_internal_mutable_doc_string() {
9565   ::google::protobuf::internal::TSanWrite(&_impl_);
9566   _impl_._has_bits_[0] |= 0x00000002u;
9567   return _impl_.doc_string_.Mutable( GetArena());
9568 }
9569 inline std::string* GraphProto::release_doc_string() {
9570   ::google::protobuf::internal::TSanWrite(&_impl_);
9571   // @@protoc_insertion_point(field_release:onnx.GraphProto.doc_string)
9572   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
9573     return nullptr;
9574   }
9575   _impl_._has_bits_[0] &= ~0x00000002u;
9576   auto* released = _impl_.doc_string_.Release();
9577   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9578   _impl_.doc_string_.Set("", GetArena());
9579   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9580   return released;
9581 }
9582 inline void GraphProto::set_allocated_doc_string(std::string* value) {
9583   ::google::protobuf::internal::TSanWrite(&_impl_);
9584   if (value != nullptr) {
9585     _impl_._has_bits_[0] |= 0x00000002u;
9586   } else {
9587     _impl_._has_bits_[0] &= ~0x00000002u;
9588   }
9589   _impl_.doc_string_.SetAllocated(value, GetArena());
9590   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9591         if (_impl_.doc_string_.IsDefault()) {
9592           _impl_.doc_string_.Set("", GetArena());
9593         }
9594   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9595   // @@protoc_insertion_point(field_set_allocated:onnx.GraphProto.doc_string)
9596 }
9597 
9598 // repeated .onnx.ValueInfoProto input = 11;
9599 inline int GraphProto::_internal_input_size() const {
9600   return _internal_input().size();
9601 }
9602 inline int GraphProto::input_size() const {
9603   return _internal_input_size();
9604 }
9605 inline void GraphProto::clear_input() {
9606   ::google::protobuf::internal::TSanWrite(&_impl_);
9607   _impl_.input_.Clear();
9608 }
9609 inline ::onnx::ValueInfoProto* GraphProto::mutable_input(int index)
9610     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9611   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.input)
9612   return _internal_mutable_input()->Mutable(index);
9613 }
9614 inline ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* GraphProto::mutable_input()
9615     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9616   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.input)
9617   ::google::protobuf::internal::TSanWrite(&_impl_);
9618   return _internal_mutable_input();
9619 }
9620 inline const ::onnx::ValueInfoProto& GraphProto::input(int index) const
9621     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9622   // @@protoc_insertion_point(field_get:onnx.GraphProto.input)
9623   return _internal_input().Get(index);
9624 }
9625 inline ::onnx::ValueInfoProto* GraphProto::add_input() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9626   ::google::protobuf::internal::TSanWrite(&_impl_);
9627   ::onnx::ValueInfoProto* _add = _internal_mutable_input()->Add();
9628   // @@protoc_insertion_point(field_add:onnx.GraphProto.input)
9629   return _add;
9630 }
9631 inline const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& GraphProto::input() const
9632     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9633   // @@protoc_insertion_point(field_list:onnx.GraphProto.input)
9634   return _internal_input();
9635 }
9636 inline const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>&
9637 GraphProto::_internal_input() const {
9638   ::google::protobuf::internal::TSanRead(&_impl_);
9639   return _impl_.input_;
9640 }
9641 inline ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>*
9642 GraphProto::_internal_mutable_input() {
9643   ::google::protobuf::internal::TSanRead(&_impl_);
9644   return &_impl_.input_;
9645 }
9646 
9647 // repeated .onnx.ValueInfoProto output = 12;
9648 inline int GraphProto::_internal_output_size() const {
9649   return _internal_output().size();
9650 }
9651 inline int GraphProto::output_size() const {
9652   return _internal_output_size();
9653 }
9654 inline void GraphProto::clear_output() {
9655   ::google::protobuf::internal::TSanWrite(&_impl_);
9656   _impl_.output_.Clear();
9657 }
9658 inline ::onnx::ValueInfoProto* GraphProto::mutable_output(int index)
9659     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9660   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.output)
9661   return _internal_mutable_output()->Mutable(index);
9662 }
9663 inline ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* GraphProto::mutable_output()
9664     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9665   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.output)
9666   ::google::protobuf::internal::TSanWrite(&_impl_);
9667   return _internal_mutable_output();
9668 }
9669 inline const ::onnx::ValueInfoProto& GraphProto::output(int index) const
9670     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9671   // @@protoc_insertion_point(field_get:onnx.GraphProto.output)
9672   return _internal_output().Get(index);
9673 }
9674 inline ::onnx::ValueInfoProto* GraphProto::add_output() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9675   ::google::protobuf::internal::TSanWrite(&_impl_);
9676   ::onnx::ValueInfoProto* _add = _internal_mutable_output()->Add();
9677   // @@protoc_insertion_point(field_add:onnx.GraphProto.output)
9678   return _add;
9679 }
9680 inline const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& GraphProto::output() const
9681     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9682   // @@protoc_insertion_point(field_list:onnx.GraphProto.output)
9683   return _internal_output();
9684 }
9685 inline const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>&
9686 GraphProto::_internal_output() const {
9687   ::google::protobuf::internal::TSanRead(&_impl_);
9688   return _impl_.output_;
9689 }
9690 inline ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>*
9691 GraphProto::_internal_mutable_output() {
9692   ::google::protobuf::internal::TSanRead(&_impl_);
9693   return &_impl_.output_;
9694 }
9695 
9696 // repeated .onnx.ValueInfoProto value_info = 13;
9697 inline int GraphProto::_internal_value_info_size() const {
9698   return _internal_value_info().size();
9699 }
9700 inline int GraphProto::value_info_size() const {
9701   return _internal_value_info_size();
9702 }
9703 inline void GraphProto::clear_value_info() {
9704   ::google::protobuf::internal::TSanWrite(&_impl_);
9705   _impl_.value_info_.Clear();
9706 }
9707 inline ::onnx::ValueInfoProto* GraphProto::mutable_value_info(int index)
9708     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9709   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.value_info)
9710   return _internal_mutable_value_info()->Mutable(index);
9711 }
9712 inline ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>* GraphProto::mutable_value_info()
9713     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9714   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.value_info)
9715   ::google::protobuf::internal::TSanWrite(&_impl_);
9716   return _internal_mutable_value_info();
9717 }
9718 inline const ::onnx::ValueInfoProto& GraphProto::value_info(int index) const
9719     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9720   // @@protoc_insertion_point(field_get:onnx.GraphProto.value_info)
9721   return _internal_value_info().Get(index);
9722 }
9723 inline ::onnx::ValueInfoProto* GraphProto::add_value_info() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9724   ::google::protobuf::internal::TSanWrite(&_impl_);
9725   ::onnx::ValueInfoProto* _add = _internal_mutable_value_info()->Add();
9726   // @@protoc_insertion_point(field_add:onnx.GraphProto.value_info)
9727   return _add;
9728 }
9729 inline const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>& GraphProto::value_info() const
9730     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9731   // @@protoc_insertion_point(field_list:onnx.GraphProto.value_info)
9732   return _internal_value_info();
9733 }
9734 inline const ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>&
9735 GraphProto::_internal_value_info() const {
9736   ::google::protobuf::internal::TSanRead(&_impl_);
9737   return _impl_.value_info_;
9738 }
9739 inline ::google::protobuf::RepeatedPtrField<::onnx::ValueInfoProto>*
9740 GraphProto::_internal_mutable_value_info() {
9741   ::google::protobuf::internal::TSanRead(&_impl_);
9742   return &_impl_.value_info_;
9743 }
9744 
9745 // repeated .onnx.TensorAnnotation quantization_annotation = 14;
9746 inline int GraphProto::_internal_quantization_annotation_size() const {
9747   return _internal_quantization_annotation().size();
9748 }
9749 inline int GraphProto::quantization_annotation_size() const {
9750   return _internal_quantization_annotation_size();
9751 }
9752 inline void GraphProto::clear_quantization_annotation() {
9753   ::google::protobuf::internal::TSanWrite(&_impl_);
9754   _impl_.quantization_annotation_.Clear();
9755 }
9756 inline ::onnx::TensorAnnotation* GraphProto::mutable_quantization_annotation(int index)
9757     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9758   // @@protoc_insertion_point(field_mutable:onnx.GraphProto.quantization_annotation)
9759   return _internal_mutable_quantization_annotation()->Mutable(index);
9760 }
9761 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>* GraphProto::mutable_quantization_annotation()
9762     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9763   // @@protoc_insertion_point(field_mutable_list:onnx.GraphProto.quantization_annotation)
9764   ::google::protobuf::internal::TSanWrite(&_impl_);
9765   return _internal_mutable_quantization_annotation();
9766 }
9767 inline const ::onnx::TensorAnnotation& GraphProto::quantization_annotation(int index) const
9768     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9769   // @@protoc_insertion_point(field_get:onnx.GraphProto.quantization_annotation)
9770   return _internal_quantization_annotation().Get(index);
9771 }
9772 inline ::onnx::TensorAnnotation* GraphProto::add_quantization_annotation() ABSL_ATTRIBUTE_LIFETIME_BOUND {
9773   ::google::protobuf::internal::TSanWrite(&_impl_);
9774   ::onnx::TensorAnnotation* _add = _internal_mutable_quantization_annotation()->Add();
9775   // @@protoc_insertion_point(field_add:onnx.GraphProto.quantization_annotation)
9776   return _add;
9777 }
9778 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>& GraphProto::quantization_annotation() const
9779     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9780   // @@protoc_insertion_point(field_list:onnx.GraphProto.quantization_annotation)
9781   return _internal_quantization_annotation();
9782 }
9783 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>&
9784 GraphProto::_internal_quantization_annotation() const {
9785   ::google::protobuf::internal::TSanRead(&_impl_);
9786   return _impl_.quantization_annotation_;
9787 }
9788 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorAnnotation>*
9789 GraphProto::_internal_mutable_quantization_annotation() {
9790   ::google::protobuf::internal::TSanRead(&_impl_);
9791   return &_impl_.quantization_annotation_;
9792 }
9793 
9794 // -------------------------------------------------------------------
9795 
9796 // TensorProto_Segment
9797 
9798 // optional int64 begin = 1;
9799 inline bool TensorProto_Segment::has_begin() const {
9800   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9801   return value;
9802 }
9803 inline void TensorProto_Segment::clear_begin() {
9804   ::google::protobuf::internal::TSanWrite(&_impl_);
9805   _impl_.begin_ = ::int64_t{0};
9806   _impl_._has_bits_[0] &= ~0x00000001u;
9807 }
9808 inline ::int64_t TensorProto_Segment::begin() const {
9809   // @@protoc_insertion_point(field_get:onnx.TensorProto.Segment.begin)
9810   return _internal_begin();
9811 }
9812 inline void TensorProto_Segment::set_begin(::int64_t value) {
9813   _internal_set_begin(value);
9814   _impl_._has_bits_[0] |= 0x00000001u;
9815   // @@protoc_insertion_point(field_set:onnx.TensorProto.Segment.begin)
9816 }
9817 inline ::int64_t TensorProto_Segment::_internal_begin() const {
9818   ::google::protobuf::internal::TSanRead(&_impl_);
9819   return _impl_.begin_;
9820 }
9821 inline void TensorProto_Segment::_internal_set_begin(::int64_t value) {
9822   ::google::protobuf::internal::TSanWrite(&_impl_);
9823   _impl_.begin_ = value;
9824 }
9825 
9826 // optional int64 end = 2;
9827 inline bool TensorProto_Segment::has_end() const {
9828   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
9829   return value;
9830 }
9831 inline void TensorProto_Segment::clear_end() {
9832   ::google::protobuf::internal::TSanWrite(&_impl_);
9833   _impl_.end_ = ::int64_t{0};
9834   _impl_._has_bits_[0] &= ~0x00000002u;
9835 }
9836 inline ::int64_t TensorProto_Segment::end() const {
9837   // @@protoc_insertion_point(field_get:onnx.TensorProto.Segment.end)
9838   return _internal_end();
9839 }
9840 inline void TensorProto_Segment::set_end(::int64_t value) {
9841   _internal_set_end(value);
9842   _impl_._has_bits_[0] |= 0x00000002u;
9843   // @@protoc_insertion_point(field_set:onnx.TensorProto.Segment.end)
9844 }
9845 inline ::int64_t TensorProto_Segment::_internal_end() const {
9846   ::google::protobuf::internal::TSanRead(&_impl_);
9847   return _impl_.end_;
9848 }
9849 inline void TensorProto_Segment::_internal_set_end(::int64_t value) {
9850   ::google::protobuf::internal::TSanWrite(&_impl_);
9851   _impl_.end_ = value;
9852 }
9853 
9854 // -------------------------------------------------------------------
9855 
9856 // TensorProto
9857 
9858 // repeated int64 dims = 1;
9859 inline int TensorProto::_internal_dims_size() const {
9860   return _internal_dims().size();
9861 }
9862 inline int TensorProto::dims_size() const {
9863   return _internal_dims_size();
9864 }
9865 inline void TensorProto::clear_dims() {
9866   ::google::protobuf::internal::TSanWrite(&_impl_);
9867   _impl_.dims_.Clear();
9868 }
9869 inline ::int64_t TensorProto::dims(int index) const {
9870   // @@protoc_insertion_point(field_get:onnx.TensorProto.dims)
9871   return _internal_dims().Get(index);
9872 }
9873 inline void TensorProto::set_dims(int index, ::int64_t value) {
9874   _internal_mutable_dims()->Set(index, value);
9875   // @@protoc_insertion_point(field_set:onnx.TensorProto.dims)
9876 }
9877 inline void TensorProto::add_dims(::int64_t value) {
9878   ::google::protobuf::internal::TSanWrite(&_impl_);
9879   _internal_mutable_dims()->Add(value);
9880   // @@protoc_insertion_point(field_add:onnx.TensorProto.dims)
9881 }
9882 inline const ::google::protobuf::RepeatedField<::int64_t>& TensorProto::dims() const
9883     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9884   // @@protoc_insertion_point(field_list:onnx.TensorProto.dims)
9885   return _internal_dims();
9886 }
9887 inline ::google::protobuf::RepeatedField<::int64_t>* TensorProto::mutable_dims()
9888     ABSL_ATTRIBUTE_LIFETIME_BOUND {
9889   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.dims)
9890   ::google::protobuf::internal::TSanWrite(&_impl_);
9891   return _internal_mutable_dims();
9892 }
9893 inline const ::google::protobuf::RepeatedField<::int64_t>&
9894 TensorProto::_internal_dims() const {
9895   ::google::protobuf::internal::TSanRead(&_impl_);
9896   return _impl_.dims_;
9897 }
9898 inline ::google::protobuf::RepeatedField<::int64_t>* TensorProto::_internal_mutable_dims() {
9899   ::google::protobuf::internal::TSanRead(&_impl_);
9900   return &_impl_.dims_;
9901 }
9902 
9903 // optional int32 data_type = 2;
9904 inline bool TensorProto::has_data_type() const {
9905   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
9906   return value;
9907 }
9908 inline void TensorProto::clear_data_type() {
9909   ::google::protobuf::internal::TSanWrite(&_impl_);
9910   _impl_.data_type_ = 0;
9911   _impl_._has_bits_[0] &= ~0x00000010u;
9912 }
9913 inline ::int32_t TensorProto::data_type() const {
9914   // @@protoc_insertion_point(field_get:onnx.TensorProto.data_type)
9915   return _internal_data_type();
9916 }
9917 inline void TensorProto::set_data_type(::int32_t value) {
9918   _internal_set_data_type(value);
9919   _impl_._has_bits_[0] |= 0x00000010u;
9920   // @@protoc_insertion_point(field_set:onnx.TensorProto.data_type)
9921 }
9922 inline ::int32_t TensorProto::_internal_data_type() const {
9923   ::google::protobuf::internal::TSanRead(&_impl_);
9924   return _impl_.data_type_;
9925 }
9926 inline void TensorProto::_internal_set_data_type(::int32_t value) {
9927   ::google::protobuf::internal::TSanWrite(&_impl_);
9928   _impl_.data_type_ = value;
9929 }
9930 
9931 // optional .onnx.TensorProto.Segment segment = 3;
9932 inline bool TensorProto::has_segment() const {
9933   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
9934   PROTOBUF_ASSUME(!value || _impl_.segment_ != nullptr);
9935   return value;
9936 }
9937 inline void TensorProto::clear_segment() {
9938   ::google::protobuf::internal::TSanWrite(&_impl_);
9939   if (_impl_.segment_ != nullptr) _impl_.segment_->Clear();
9940   _impl_._has_bits_[0] &= ~0x00000008u;
9941 }
9942 inline const ::onnx::TensorProto_Segment& TensorProto::_internal_segment() const {
9943   ::google::protobuf::internal::TSanRead(&_impl_);
9944   const ::onnx::TensorProto_Segment* p = _impl_.segment_;
9945   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TensorProto_Segment&>(::onnx::_TensorProto_Segment_default_instance_);
9946 }
9947 inline const ::onnx::TensorProto_Segment& TensorProto::segment() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9948   // @@protoc_insertion_point(field_get:onnx.TensorProto.segment)
9949   return _internal_segment();
9950 }
9951 inline void TensorProto::unsafe_arena_set_allocated_segment(::onnx::TensorProto_Segment* value) {
9952   ::google::protobuf::internal::TSanWrite(&_impl_);
9953   if (GetArena() == nullptr) {
9954     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.segment_);
9955   }
9956   _impl_.segment_ = reinterpret_cast<::onnx::TensorProto_Segment*>(value);
9957   if (value != nullptr) {
9958     _impl_._has_bits_[0] |= 0x00000008u;
9959   } else {
9960     _impl_._has_bits_[0] &= ~0x00000008u;
9961   }
9962   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TensorProto.segment)
9963 }
9964 inline ::onnx::TensorProto_Segment* TensorProto::release_segment() {
9965   ::google::protobuf::internal::TSanWrite(&_impl_);
9966 
9967   _impl_._has_bits_[0] &= ~0x00000008u;
9968   ::onnx::TensorProto_Segment* released = _impl_.segment_;
9969   _impl_.segment_ = nullptr;
9970 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
9971   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9972   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9973   if (GetArena() == nullptr) {
9974     delete old;
9975   }
9976 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
9977   if (GetArena() != nullptr) {
9978     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9979   }
9980 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
9981   return released;
9982 }
9983 inline ::onnx::TensorProto_Segment* TensorProto::unsafe_arena_release_segment() {
9984   ::google::protobuf::internal::TSanWrite(&_impl_);
9985   // @@protoc_insertion_point(field_release:onnx.TensorProto.segment)
9986 
9987   _impl_._has_bits_[0] &= ~0x00000008u;
9988   ::onnx::TensorProto_Segment* temp = _impl_.segment_;
9989   _impl_.segment_ = nullptr;
9990   return temp;
9991 }
9992 inline ::onnx::TensorProto_Segment* TensorProto::_internal_mutable_segment() {
9993   ::google::protobuf::internal::TSanWrite(&_impl_);
9994   if (_impl_.segment_ == nullptr) {
9995     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TensorProto_Segment>(GetArena());
9996     _impl_.segment_ = reinterpret_cast<::onnx::TensorProto_Segment*>(p);
9997   }
9998   return _impl_.segment_;
9999 }
10000 inline ::onnx::TensorProto_Segment* TensorProto::mutable_segment() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10001   _impl_._has_bits_[0] |= 0x00000008u;
10002   ::onnx::TensorProto_Segment* _msg = _internal_mutable_segment();
10003   // @@protoc_insertion_point(field_mutable:onnx.TensorProto.segment)
10004   return _msg;
10005 }
10006 inline void TensorProto::set_allocated_segment(::onnx::TensorProto_Segment* value) {
10007   ::google::protobuf::Arena* message_arena = GetArena();
10008   ::google::protobuf::internal::TSanWrite(&_impl_);
10009   if (message_arena == nullptr) {
10010     delete (_impl_.segment_);
10011   }
10012 
10013   if (value != nullptr) {
10014     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
10015     if (message_arena != submessage_arena) {
10016       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
10017     }
10018     _impl_._has_bits_[0] |= 0x00000008u;
10019   } else {
10020     _impl_._has_bits_[0] &= ~0x00000008u;
10021   }
10022 
10023   _impl_.segment_ = reinterpret_cast<::onnx::TensorProto_Segment*>(value);
10024   // @@protoc_insertion_point(field_set_allocated:onnx.TensorProto.segment)
10025 }
10026 
10027 // repeated float float_data = 4 [packed = true];
10028 inline int TensorProto::_internal_float_data_size() const {
10029   return _internal_float_data().size();
10030 }
10031 inline int TensorProto::float_data_size() const {
10032   return _internal_float_data_size();
10033 }
10034 inline void TensorProto::clear_float_data() {
10035   ::google::protobuf::internal::TSanWrite(&_impl_);
10036   _impl_.float_data_.Clear();
10037 }
10038 inline float TensorProto::float_data(int index) const {
10039   // @@protoc_insertion_point(field_get:onnx.TensorProto.float_data)
10040   return _internal_float_data().Get(index);
10041 }
10042 inline void TensorProto::set_float_data(int index, float value) {
10043   _internal_mutable_float_data()->Set(index, value);
10044   // @@protoc_insertion_point(field_set:onnx.TensorProto.float_data)
10045 }
10046 inline void TensorProto::add_float_data(float value) {
10047   ::google::protobuf::internal::TSanWrite(&_impl_);
10048   _internal_mutable_float_data()->Add(value);
10049   // @@protoc_insertion_point(field_add:onnx.TensorProto.float_data)
10050 }
10051 inline const ::google::protobuf::RepeatedField<float>& TensorProto::float_data() const
10052     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10053   // @@protoc_insertion_point(field_list:onnx.TensorProto.float_data)
10054   return _internal_float_data();
10055 }
10056 inline ::google::protobuf::RepeatedField<float>* TensorProto::mutable_float_data()
10057     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10058   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.float_data)
10059   ::google::protobuf::internal::TSanWrite(&_impl_);
10060   return _internal_mutable_float_data();
10061 }
10062 inline const ::google::protobuf::RepeatedField<float>&
10063 TensorProto::_internal_float_data() const {
10064   ::google::protobuf::internal::TSanRead(&_impl_);
10065   return _impl_.float_data_;
10066 }
10067 inline ::google::protobuf::RepeatedField<float>* TensorProto::_internal_mutable_float_data() {
10068   ::google::protobuf::internal::TSanRead(&_impl_);
10069   return &_impl_.float_data_;
10070 }
10071 
10072 // repeated int32 int32_data = 5 [packed = true];
10073 inline int TensorProto::_internal_int32_data_size() const {
10074   return _internal_int32_data().size();
10075 }
10076 inline int TensorProto::int32_data_size() const {
10077   return _internal_int32_data_size();
10078 }
10079 inline void TensorProto::clear_int32_data() {
10080   ::google::protobuf::internal::TSanWrite(&_impl_);
10081   _impl_.int32_data_.Clear();
10082 }
10083 inline ::int32_t TensorProto::int32_data(int index) const {
10084   // @@protoc_insertion_point(field_get:onnx.TensorProto.int32_data)
10085   return _internal_int32_data().Get(index);
10086 }
10087 inline void TensorProto::set_int32_data(int index, ::int32_t value) {
10088   _internal_mutable_int32_data()->Set(index, value);
10089   // @@protoc_insertion_point(field_set:onnx.TensorProto.int32_data)
10090 }
10091 inline void TensorProto::add_int32_data(::int32_t value) {
10092   ::google::protobuf::internal::TSanWrite(&_impl_);
10093   _internal_mutable_int32_data()->Add(value);
10094   // @@protoc_insertion_point(field_add:onnx.TensorProto.int32_data)
10095 }
10096 inline const ::google::protobuf::RepeatedField<::int32_t>& TensorProto::int32_data() const
10097     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10098   // @@protoc_insertion_point(field_list:onnx.TensorProto.int32_data)
10099   return _internal_int32_data();
10100 }
10101 inline ::google::protobuf::RepeatedField<::int32_t>* TensorProto::mutable_int32_data()
10102     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10103   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.int32_data)
10104   ::google::protobuf::internal::TSanWrite(&_impl_);
10105   return _internal_mutable_int32_data();
10106 }
10107 inline const ::google::protobuf::RepeatedField<::int32_t>&
10108 TensorProto::_internal_int32_data() const {
10109   ::google::protobuf::internal::TSanRead(&_impl_);
10110   return _impl_.int32_data_;
10111 }
10112 inline ::google::protobuf::RepeatedField<::int32_t>* TensorProto::_internal_mutable_int32_data() {
10113   ::google::protobuf::internal::TSanRead(&_impl_);
10114   return &_impl_.int32_data_;
10115 }
10116 
10117 // repeated bytes string_data = 6;
10118 inline int TensorProto::_internal_string_data_size() const {
10119   return _internal_string_data().size();
10120 }
10121 inline int TensorProto::string_data_size() const {
10122   return _internal_string_data_size();
10123 }
10124 inline void TensorProto::clear_string_data() {
10125   ::google::protobuf::internal::TSanWrite(&_impl_);
10126   _impl_.string_data_.Clear();
10127 }
10128 inline std::string* TensorProto::add_string_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10129   ::google::protobuf::internal::TSanWrite(&_impl_);
10130   std::string* _s = _internal_mutable_string_data()->Add();
10131   // @@protoc_insertion_point(field_add_mutable:onnx.TensorProto.string_data)
10132   return _s;
10133 }
10134 inline const std::string& TensorProto::string_data(int index) const
10135     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10136   // @@protoc_insertion_point(field_get:onnx.TensorProto.string_data)
10137   return _internal_string_data().Get(index);
10138 }
10139 inline std::string* TensorProto::mutable_string_data(int index)
10140     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10141   // @@protoc_insertion_point(field_mutable:onnx.TensorProto.string_data)
10142   return _internal_mutable_string_data()->Mutable(index);
10143 }
10144 template <typename Arg_, typename... Args_>
10145 inline void TensorProto::set_string_data(int index, Arg_&& value, Args_... args) {
10146   ::google::protobuf::internal::AssignToString(
10147       *_internal_mutable_string_data()->Mutable(index),
10148       std::forward<Arg_>(value), args... , ::google::protobuf::internal::BytesTag{});
10149   // @@protoc_insertion_point(field_set:onnx.TensorProto.string_data)
10150 }
10151 template <typename Arg_, typename... Args_>
10152 inline void TensorProto::add_string_data(Arg_&& value, Args_... args) {
10153   ::google::protobuf::internal::TSanWrite(&_impl_);
10154   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_string_data(),
10155                                std::forward<Arg_>(value),
10156                                args... , ::google::protobuf::internal::BytesTag{});
10157   // @@protoc_insertion_point(field_add:onnx.TensorProto.string_data)
10158 }
10159 inline const ::google::protobuf::RepeatedPtrField<std::string>&
10160 TensorProto::string_data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
10161   // @@protoc_insertion_point(field_list:onnx.TensorProto.string_data)
10162   return _internal_string_data();
10163 }
10164 inline ::google::protobuf::RepeatedPtrField<std::string>*
10165 TensorProto::mutable_string_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10166   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.string_data)
10167   ::google::protobuf::internal::TSanWrite(&_impl_);
10168   return _internal_mutable_string_data();
10169 }
10170 inline const ::google::protobuf::RepeatedPtrField<std::string>&
10171 TensorProto::_internal_string_data() const {
10172   ::google::protobuf::internal::TSanRead(&_impl_);
10173   return _impl_.string_data_;
10174 }
10175 inline ::google::protobuf::RepeatedPtrField<std::string>*
10176 TensorProto::_internal_mutable_string_data() {
10177   ::google::protobuf::internal::TSanRead(&_impl_);
10178   return &_impl_.string_data_;
10179 }
10180 
10181 // repeated int64 int64_data = 7 [packed = true];
10182 inline int TensorProto::_internal_int64_data_size() const {
10183   return _internal_int64_data().size();
10184 }
10185 inline int TensorProto::int64_data_size() const {
10186   return _internal_int64_data_size();
10187 }
10188 inline void TensorProto::clear_int64_data() {
10189   ::google::protobuf::internal::TSanWrite(&_impl_);
10190   _impl_.int64_data_.Clear();
10191 }
10192 inline ::int64_t TensorProto::int64_data(int index) const {
10193   // @@protoc_insertion_point(field_get:onnx.TensorProto.int64_data)
10194   return _internal_int64_data().Get(index);
10195 }
10196 inline void TensorProto::set_int64_data(int index, ::int64_t value) {
10197   _internal_mutable_int64_data()->Set(index, value);
10198   // @@protoc_insertion_point(field_set:onnx.TensorProto.int64_data)
10199 }
10200 inline void TensorProto::add_int64_data(::int64_t value) {
10201   ::google::protobuf::internal::TSanWrite(&_impl_);
10202   _internal_mutable_int64_data()->Add(value);
10203   // @@protoc_insertion_point(field_add:onnx.TensorProto.int64_data)
10204 }
10205 inline const ::google::protobuf::RepeatedField<::int64_t>& TensorProto::int64_data() const
10206     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10207   // @@protoc_insertion_point(field_list:onnx.TensorProto.int64_data)
10208   return _internal_int64_data();
10209 }
10210 inline ::google::protobuf::RepeatedField<::int64_t>* TensorProto::mutable_int64_data()
10211     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10212   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.int64_data)
10213   ::google::protobuf::internal::TSanWrite(&_impl_);
10214   return _internal_mutable_int64_data();
10215 }
10216 inline const ::google::protobuf::RepeatedField<::int64_t>&
10217 TensorProto::_internal_int64_data() const {
10218   ::google::protobuf::internal::TSanRead(&_impl_);
10219   return _impl_.int64_data_;
10220 }
10221 inline ::google::protobuf::RepeatedField<::int64_t>* TensorProto::_internal_mutable_int64_data() {
10222   ::google::protobuf::internal::TSanRead(&_impl_);
10223   return &_impl_.int64_data_;
10224 }
10225 
10226 // optional string name = 8;
10227 inline bool TensorProto::has_name() const {
10228   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
10229   return value;
10230 }
10231 inline void TensorProto::clear_name() {
10232   ::google::protobuf::internal::TSanWrite(&_impl_);
10233   _impl_.name_.ClearToEmpty();
10234   _impl_._has_bits_[0] &= ~0x00000001u;
10235 }
10236 inline const std::string& TensorProto::name() const
10237     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10238   // @@protoc_insertion_point(field_get:onnx.TensorProto.name)
10239   return _internal_name();
10240 }
10241 template <typename Arg_, typename... Args_>
10242 inline PROTOBUF_ALWAYS_INLINE void TensorProto::set_name(Arg_&& arg,
10243                                                      Args_... args) {
10244   ::google::protobuf::internal::TSanWrite(&_impl_);
10245   _impl_._has_bits_[0] |= 0x00000001u;
10246   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
10247   // @@protoc_insertion_point(field_set:onnx.TensorProto.name)
10248 }
10249 inline std::string* TensorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10250   std::string* _s = _internal_mutable_name();
10251   // @@protoc_insertion_point(field_mutable:onnx.TensorProto.name)
10252   return _s;
10253 }
10254 inline const std::string& TensorProto::_internal_name() const {
10255   ::google::protobuf::internal::TSanRead(&_impl_);
10256   return _impl_.name_.Get();
10257 }
10258 inline void TensorProto::_internal_set_name(const std::string& value) {
10259   ::google::protobuf::internal::TSanWrite(&_impl_);
10260   _impl_._has_bits_[0] |= 0x00000001u;
10261   _impl_.name_.Set(value, GetArena());
10262 }
10263 inline std::string* TensorProto::_internal_mutable_name() {
10264   ::google::protobuf::internal::TSanWrite(&_impl_);
10265   _impl_._has_bits_[0] |= 0x00000001u;
10266   return _impl_.name_.Mutable( GetArena());
10267 }
10268 inline std::string* TensorProto::release_name() {
10269   ::google::protobuf::internal::TSanWrite(&_impl_);
10270   // @@protoc_insertion_point(field_release:onnx.TensorProto.name)
10271   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
10272     return nullptr;
10273   }
10274   _impl_._has_bits_[0] &= ~0x00000001u;
10275   auto* released = _impl_.name_.Release();
10276   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10277   _impl_.name_.Set("", GetArena());
10278   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10279   return released;
10280 }
10281 inline void TensorProto::set_allocated_name(std::string* value) {
10282   ::google::protobuf::internal::TSanWrite(&_impl_);
10283   if (value != nullptr) {
10284     _impl_._has_bits_[0] |= 0x00000001u;
10285   } else {
10286     _impl_._has_bits_[0] &= ~0x00000001u;
10287   }
10288   _impl_.name_.SetAllocated(value, GetArena());
10289   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10290         if (_impl_.name_.IsDefault()) {
10291           _impl_.name_.Set("", GetArena());
10292         }
10293   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10294   // @@protoc_insertion_point(field_set_allocated:onnx.TensorProto.name)
10295 }
10296 
10297 // optional string doc_string = 12;
10298 inline bool TensorProto::has_doc_string() const {
10299   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
10300   return value;
10301 }
10302 inline void TensorProto::clear_doc_string() {
10303   ::google::protobuf::internal::TSanWrite(&_impl_);
10304   _impl_.doc_string_.ClearToEmpty();
10305   _impl_._has_bits_[0] &= ~0x00000004u;
10306 }
10307 inline const std::string& TensorProto::doc_string() const
10308     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10309   // @@protoc_insertion_point(field_get:onnx.TensorProto.doc_string)
10310   return _internal_doc_string();
10311 }
10312 template <typename Arg_, typename... Args_>
10313 inline PROTOBUF_ALWAYS_INLINE void TensorProto::set_doc_string(Arg_&& arg,
10314                                                      Args_... args) {
10315   ::google::protobuf::internal::TSanWrite(&_impl_);
10316   _impl_._has_bits_[0] |= 0x00000004u;
10317   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
10318   // @@protoc_insertion_point(field_set:onnx.TensorProto.doc_string)
10319 }
10320 inline std::string* TensorProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10321   std::string* _s = _internal_mutable_doc_string();
10322   // @@protoc_insertion_point(field_mutable:onnx.TensorProto.doc_string)
10323   return _s;
10324 }
10325 inline const std::string& TensorProto::_internal_doc_string() const {
10326   ::google::protobuf::internal::TSanRead(&_impl_);
10327   return _impl_.doc_string_.Get();
10328 }
10329 inline void TensorProto::_internal_set_doc_string(const std::string& value) {
10330   ::google::protobuf::internal::TSanWrite(&_impl_);
10331   _impl_._has_bits_[0] |= 0x00000004u;
10332   _impl_.doc_string_.Set(value, GetArena());
10333 }
10334 inline std::string* TensorProto::_internal_mutable_doc_string() {
10335   ::google::protobuf::internal::TSanWrite(&_impl_);
10336   _impl_._has_bits_[0] |= 0x00000004u;
10337   return _impl_.doc_string_.Mutable( GetArena());
10338 }
10339 inline std::string* TensorProto::release_doc_string() {
10340   ::google::protobuf::internal::TSanWrite(&_impl_);
10341   // @@protoc_insertion_point(field_release:onnx.TensorProto.doc_string)
10342   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
10343     return nullptr;
10344   }
10345   _impl_._has_bits_[0] &= ~0x00000004u;
10346   auto* released = _impl_.doc_string_.Release();
10347   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10348   _impl_.doc_string_.Set("", GetArena());
10349   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10350   return released;
10351 }
10352 inline void TensorProto::set_allocated_doc_string(std::string* value) {
10353   ::google::protobuf::internal::TSanWrite(&_impl_);
10354   if (value != nullptr) {
10355     _impl_._has_bits_[0] |= 0x00000004u;
10356   } else {
10357     _impl_._has_bits_[0] &= ~0x00000004u;
10358   }
10359   _impl_.doc_string_.SetAllocated(value, GetArena());
10360   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10361         if (_impl_.doc_string_.IsDefault()) {
10362           _impl_.doc_string_.Set("", GetArena());
10363         }
10364   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10365   // @@protoc_insertion_point(field_set_allocated:onnx.TensorProto.doc_string)
10366 }
10367 
10368 // optional bytes raw_data = 9;
10369 inline bool TensorProto::has_raw_data() const {
10370   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
10371   return value;
10372 }
10373 inline void TensorProto::clear_raw_data() {
10374   ::google::protobuf::internal::TSanWrite(&_impl_);
10375   _impl_.raw_data_.ClearToEmpty();
10376   _impl_._has_bits_[0] &= ~0x00000002u;
10377 }
10378 inline const std::string& TensorProto::raw_data() const
10379     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10380   // @@protoc_insertion_point(field_get:onnx.TensorProto.raw_data)
10381   return _internal_raw_data();
10382 }
10383 template <typename Arg_, typename... Args_>
10384 inline PROTOBUF_ALWAYS_INLINE void TensorProto::set_raw_data(Arg_&& arg,
10385                                                      Args_... args) {
10386   ::google::protobuf::internal::TSanWrite(&_impl_);
10387   _impl_._has_bits_[0] |= 0x00000002u;
10388   _impl_.raw_data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
10389   // @@protoc_insertion_point(field_set:onnx.TensorProto.raw_data)
10390 }
10391 inline std::string* TensorProto::mutable_raw_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10392   std::string* _s = _internal_mutable_raw_data();
10393   // @@protoc_insertion_point(field_mutable:onnx.TensorProto.raw_data)
10394   return _s;
10395 }
10396 inline const std::string& TensorProto::_internal_raw_data() const {
10397   ::google::protobuf::internal::TSanRead(&_impl_);
10398   return _impl_.raw_data_.Get();
10399 }
10400 inline void TensorProto::_internal_set_raw_data(const std::string& value) {
10401   ::google::protobuf::internal::TSanWrite(&_impl_);
10402   _impl_._has_bits_[0] |= 0x00000002u;
10403   _impl_.raw_data_.Set(value, GetArena());
10404 }
10405 inline std::string* TensorProto::_internal_mutable_raw_data() {
10406   ::google::protobuf::internal::TSanWrite(&_impl_);
10407   _impl_._has_bits_[0] |= 0x00000002u;
10408   return _impl_.raw_data_.Mutable( GetArena());
10409 }
10410 inline std::string* TensorProto::release_raw_data() {
10411   ::google::protobuf::internal::TSanWrite(&_impl_);
10412   // @@protoc_insertion_point(field_release:onnx.TensorProto.raw_data)
10413   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
10414     return nullptr;
10415   }
10416   _impl_._has_bits_[0] &= ~0x00000002u;
10417   auto* released = _impl_.raw_data_.Release();
10418   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10419   _impl_.raw_data_.Set("", GetArena());
10420   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10421   return released;
10422 }
10423 inline void TensorProto::set_allocated_raw_data(std::string* value) {
10424   ::google::protobuf::internal::TSanWrite(&_impl_);
10425   if (value != nullptr) {
10426     _impl_._has_bits_[0] |= 0x00000002u;
10427   } else {
10428     _impl_._has_bits_[0] &= ~0x00000002u;
10429   }
10430   _impl_.raw_data_.SetAllocated(value, GetArena());
10431   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10432         if (_impl_.raw_data_.IsDefault()) {
10433           _impl_.raw_data_.Set("", GetArena());
10434         }
10435   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10436   // @@protoc_insertion_point(field_set_allocated:onnx.TensorProto.raw_data)
10437 }
10438 
10439 // repeated .onnx.StringStringEntryProto external_data = 13;
10440 inline int TensorProto::_internal_external_data_size() const {
10441   return _internal_external_data().size();
10442 }
10443 inline int TensorProto::external_data_size() const {
10444   return _internal_external_data_size();
10445 }
10446 inline void TensorProto::clear_external_data() {
10447   ::google::protobuf::internal::TSanWrite(&_impl_);
10448   _impl_.external_data_.Clear();
10449 }
10450 inline ::onnx::StringStringEntryProto* TensorProto::mutable_external_data(int index)
10451     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10452   // @@protoc_insertion_point(field_mutable:onnx.TensorProto.external_data)
10453   return _internal_mutable_external_data()->Mutable(index);
10454 }
10455 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>* TensorProto::mutable_external_data()
10456     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10457   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.external_data)
10458   ::google::protobuf::internal::TSanWrite(&_impl_);
10459   return _internal_mutable_external_data();
10460 }
10461 inline const ::onnx::StringStringEntryProto& TensorProto::external_data(int index) const
10462     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10463   // @@protoc_insertion_point(field_get:onnx.TensorProto.external_data)
10464   return _internal_external_data().Get(index);
10465 }
10466 inline ::onnx::StringStringEntryProto* TensorProto::add_external_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10467   ::google::protobuf::internal::TSanWrite(&_impl_);
10468   ::onnx::StringStringEntryProto* _add = _internal_mutable_external_data()->Add();
10469   // @@protoc_insertion_point(field_add:onnx.TensorProto.external_data)
10470   return _add;
10471 }
10472 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>& TensorProto::external_data() const
10473     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10474   // @@protoc_insertion_point(field_list:onnx.TensorProto.external_data)
10475   return _internal_external_data();
10476 }
10477 inline const ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>&
10478 TensorProto::_internal_external_data() const {
10479   ::google::protobuf::internal::TSanRead(&_impl_);
10480   return _impl_.external_data_;
10481 }
10482 inline ::google::protobuf::RepeatedPtrField<::onnx::StringStringEntryProto>*
10483 TensorProto::_internal_mutable_external_data() {
10484   ::google::protobuf::internal::TSanRead(&_impl_);
10485   return &_impl_.external_data_;
10486 }
10487 
10488 // optional .onnx.TensorProto.DataLocation data_location = 14;
10489 inline bool TensorProto::has_data_location() const {
10490   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
10491   return value;
10492 }
10493 inline void TensorProto::clear_data_location() {
10494   ::google::protobuf::internal::TSanWrite(&_impl_);
10495   _impl_.data_location_ = 0;
10496   _impl_._has_bits_[0] &= ~0x00000020u;
10497 }
10498 inline ::onnx::TensorProto_DataLocation TensorProto::data_location() const {
10499   // @@protoc_insertion_point(field_get:onnx.TensorProto.data_location)
10500   return _internal_data_location();
10501 }
10502 inline void TensorProto::set_data_location(::onnx::TensorProto_DataLocation value) {
10503   _internal_set_data_location(value);
10504   _impl_._has_bits_[0] |= 0x00000020u;
10505   // @@protoc_insertion_point(field_set:onnx.TensorProto.data_location)
10506 }
10507 inline ::onnx::TensorProto_DataLocation TensorProto::_internal_data_location() const {
10508   ::google::protobuf::internal::TSanRead(&_impl_);
10509   return static_cast<::onnx::TensorProto_DataLocation>(_impl_.data_location_);
10510 }
10511 inline void TensorProto::_internal_set_data_location(::onnx::TensorProto_DataLocation value) {
10512   ::google::protobuf::internal::TSanWrite(&_impl_);
10513   assert(::onnx::TensorProto_DataLocation_IsValid(value));
10514   _impl_.data_location_ = value;
10515 }
10516 
10517 // repeated double double_data = 10 [packed = true];
10518 inline int TensorProto::_internal_double_data_size() const {
10519   return _internal_double_data().size();
10520 }
10521 inline int TensorProto::double_data_size() const {
10522   return _internal_double_data_size();
10523 }
10524 inline void TensorProto::clear_double_data() {
10525   ::google::protobuf::internal::TSanWrite(&_impl_);
10526   _impl_.double_data_.Clear();
10527 }
10528 inline double TensorProto::double_data(int index) const {
10529   // @@protoc_insertion_point(field_get:onnx.TensorProto.double_data)
10530   return _internal_double_data().Get(index);
10531 }
10532 inline void TensorProto::set_double_data(int index, double value) {
10533   _internal_mutable_double_data()->Set(index, value);
10534   // @@protoc_insertion_point(field_set:onnx.TensorProto.double_data)
10535 }
10536 inline void TensorProto::add_double_data(double value) {
10537   ::google::protobuf::internal::TSanWrite(&_impl_);
10538   _internal_mutable_double_data()->Add(value);
10539   // @@protoc_insertion_point(field_add:onnx.TensorProto.double_data)
10540 }
10541 inline const ::google::protobuf::RepeatedField<double>& TensorProto::double_data() const
10542     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10543   // @@protoc_insertion_point(field_list:onnx.TensorProto.double_data)
10544   return _internal_double_data();
10545 }
10546 inline ::google::protobuf::RepeatedField<double>* TensorProto::mutable_double_data()
10547     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10548   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.double_data)
10549   ::google::protobuf::internal::TSanWrite(&_impl_);
10550   return _internal_mutable_double_data();
10551 }
10552 inline const ::google::protobuf::RepeatedField<double>&
10553 TensorProto::_internal_double_data() const {
10554   ::google::protobuf::internal::TSanRead(&_impl_);
10555   return _impl_.double_data_;
10556 }
10557 inline ::google::protobuf::RepeatedField<double>* TensorProto::_internal_mutable_double_data() {
10558   ::google::protobuf::internal::TSanRead(&_impl_);
10559   return &_impl_.double_data_;
10560 }
10561 
10562 // repeated uint64 uint64_data = 11 [packed = true];
10563 inline int TensorProto::_internal_uint64_data_size() const {
10564   return _internal_uint64_data().size();
10565 }
10566 inline int TensorProto::uint64_data_size() const {
10567   return _internal_uint64_data_size();
10568 }
10569 inline void TensorProto::clear_uint64_data() {
10570   ::google::protobuf::internal::TSanWrite(&_impl_);
10571   _impl_.uint64_data_.Clear();
10572 }
10573 inline ::uint64_t TensorProto::uint64_data(int index) const {
10574   // @@protoc_insertion_point(field_get:onnx.TensorProto.uint64_data)
10575   return _internal_uint64_data().Get(index);
10576 }
10577 inline void TensorProto::set_uint64_data(int index, ::uint64_t value) {
10578   _internal_mutable_uint64_data()->Set(index, value);
10579   // @@protoc_insertion_point(field_set:onnx.TensorProto.uint64_data)
10580 }
10581 inline void TensorProto::add_uint64_data(::uint64_t value) {
10582   ::google::protobuf::internal::TSanWrite(&_impl_);
10583   _internal_mutable_uint64_data()->Add(value);
10584   // @@protoc_insertion_point(field_add:onnx.TensorProto.uint64_data)
10585 }
10586 inline const ::google::protobuf::RepeatedField<::uint64_t>& TensorProto::uint64_data() const
10587     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10588   // @@protoc_insertion_point(field_list:onnx.TensorProto.uint64_data)
10589   return _internal_uint64_data();
10590 }
10591 inline ::google::protobuf::RepeatedField<::uint64_t>* TensorProto::mutable_uint64_data()
10592     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10593   // @@protoc_insertion_point(field_mutable_list:onnx.TensorProto.uint64_data)
10594   ::google::protobuf::internal::TSanWrite(&_impl_);
10595   return _internal_mutable_uint64_data();
10596 }
10597 inline const ::google::protobuf::RepeatedField<::uint64_t>&
10598 TensorProto::_internal_uint64_data() const {
10599   ::google::protobuf::internal::TSanRead(&_impl_);
10600   return _impl_.uint64_data_;
10601 }
10602 inline ::google::protobuf::RepeatedField<::uint64_t>* TensorProto::_internal_mutable_uint64_data() {
10603   ::google::protobuf::internal::TSanRead(&_impl_);
10604   return &_impl_.uint64_data_;
10605 }
10606 
10607 // -------------------------------------------------------------------
10608 
10609 // SparseTensorProto
10610 
10611 // optional .onnx.TensorProto values = 1;
10612 inline bool SparseTensorProto::has_values() const {
10613   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
10614   PROTOBUF_ASSUME(!value || _impl_.values_ != nullptr);
10615   return value;
10616 }
10617 inline void SparseTensorProto::clear_values() {
10618   ::google::protobuf::internal::TSanWrite(&_impl_);
10619   if (_impl_.values_ != nullptr) _impl_.values_->Clear();
10620   _impl_._has_bits_[0] &= ~0x00000001u;
10621 }
10622 inline const ::onnx::TensorProto& SparseTensorProto::_internal_values() const {
10623   ::google::protobuf::internal::TSanRead(&_impl_);
10624   const ::onnx::TensorProto* p = _impl_.values_;
10625   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TensorProto&>(::onnx::_TensorProto_default_instance_);
10626 }
10627 inline const ::onnx::TensorProto& SparseTensorProto::values() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
10628   // @@protoc_insertion_point(field_get:onnx.SparseTensorProto.values)
10629   return _internal_values();
10630 }
10631 inline void SparseTensorProto::unsafe_arena_set_allocated_values(::onnx::TensorProto* value) {
10632   ::google::protobuf::internal::TSanWrite(&_impl_);
10633   if (GetArena() == nullptr) {
10634     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.values_);
10635   }
10636   _impl_.values_ = reinterpret_cast<::onnx::TensorProto*>(value);
10637   if (value != nullptr) {
10638     _impl_._has_bits_[0] |= 0x00000001u;
10639   } else {
10640     _impl_._has_bits_[0] &= ~0x00000001u;
10641   }
10642   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.SparseTensorProto.values)
10643 }
10644 inline ::onnx::TensorProto* SparseTensorProto::release_values() {
10645   ::google::protobuf::internal::TSanWrite(&_impl_);
10646 
10647   _impl_._has_bits_[0] &= ~0x00000001u;
10648   ::onnx::TensorProto* released = _impl_.values_;
10649   _impl_.values_ = nullptr;
10650 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
10651   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
10652   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
10653   if (GetArena() == nullptr) {
10654     delete old;
10655   }
10656 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
10657   if (GetArena() != nullptr) {
10658     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
10659   }
10660 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
10661   return released;
10662 }
10663 inline ::onnx::TensorProto* SparseTensorProto::unsafe_arena_release_values() {
10664   ::google::protobuf::internal::TSanWrite(&_impl_);
10665   // @@protoc_insertion_point(field_release:onnx.SparseTensorProto.values)
10666 
10667   _impl_._has_bits_[0] &= ~0x00000001u;
10668   ::onnx::TensorProto* temp = _impl_.values_;
10669   _impl_.values_ = nullptr;
10670   return temp;
10671 }
10672 inline ::onnx::TensorProto* SparseTensorProto::_internal_mutable_values() {
10673   ::google::protobuf::internal::TSanWrite(&_impl_);
10674   if (_impl_.values_ == nullptr) {
10675     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TensorProto>(GetArena());
10676     _impl_.values_ = reinterpret_cast<::onnx::TensorProto*>(p);
10677   }
10678   return _impl_.values_;
10679 }
10680 inline ::onnx::TensorProto* SparseTensorProto::mutable_values() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10681   _impl_._has_bits_[0] |= 0x00000001u;
10682   ::onnx::TensorProto* _msg = _internal_mutable_values();
10683   // @@protoc_insertion_point(field_mutable:onnx.SparseTensorProto.values)
10684   return _msg;
10685 }
10686 inline void SparseTensorProto::set_allocated_values(::onnx::TensorProto* value) {
10687   ::google::protobuf::Arena* message_arena = GetArena();
10688   ::google::protobuf::internal::TSanWrite(&_impl_);
10689   if (message_arena == nullptr) {
10690     delete (_impl_.values_);
10691   }
10692 
10693   if (value != nullptr) {
10694     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
10695     if (message_arena != submessage_arena) {
10696       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
10697     }
10698     _impl_._has_bits_[0] |= 0x00000001u;
10699   } else {
10700     _impl_._has_bits_[0] &= ~0x00000001u;
10701   }
10702 
10703   _impl_.values_ = reinterpret_cast<::onnx::TensorProto*>(value);
10704   // @@protoc_insertion_point(field_set_allocated:onnx.SparseTensorProto.values)
10705 }
10706 
10707 // optional .onnx.TensorProto indices = 2;
10708 inline bool SparseTensorProto::has_indices() const {
10709   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
10710   PROTOBUF_ASSUME(!value || _impl_.indices_ != nullptr);
10711   return value;
10712 }
10713 inline void SparseTensorProto::clear_indices() {
10714   ::google::protobuf::internal::TSanWrite(&_impl_);
10715   if (_impl_.indices_ != nullptr) _impl_.indices_->Clear();
10716   _impl_._has_bits_[0] &= ~0x00000002u;
10717 }
10718 inline const ::onnx::TensorProto& SparseTensorProto::_internal_indices() const {
10719   ::google::protobuf::internal::TSanRead(&_impl_);
10720   const ::onnx::TensorProto* p = _impl_.indices_;
10721   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TensorProto&>(::onnx::_TensorProto_default_instance_);
10722 }
10723 inline const ::onnx::TensorProto& SparseTensorProto::indices() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
10724   // @@protoc_insertion_point(field_get:onnx.SparseTensorProto.indices)
10725   return _internal_indices();
10726 }
10727 inline void SparseTensorProto::unsafe_arena_set_allocated_indices(::onnx::TensorProto* value) {
10728   ::google::protobuf::internal::TSanWrite(&_impl_);
10729   if (GetArena() == nullptr) {
10730     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.indices_);
10731   }
10732   _impl_.indices_ = reinterpret_cast<::onnx::TensorProto*>(value);
10733   if (value != nullptr) {
10734     _impl_._has_bits_[0] |= 0x00000002u;
10735   } else {
10736     _impl_._has_bits_[0] &= ~0x00000002u;
10737   }
10738   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.SparseTensorProto.indices)
10739 }
10740 inline ::onnx::TensorProto* SparseTensorProto::release_indices() {
10741   ::google::protobuf::internal::TSanWrite(&_impl_);
10742 
10743   _impl_._has_bits_[0] &= ~0x00000002u;
10744   ::onnx::TensorProto* released = _impl_.indices_;
10745   _impl_.indices_ = nullptr;
10746 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
10747   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
10748   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
10749   if (GetArena() == nullptr) {
10750     delete old;
10751   }
10752 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
10753   if (GetArena() != nullptr) {
10754     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
10755   }
10756 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
10757   return released;
10758 }
10759 inline ::onnx::TensorProto* SparseTensorProto::unsafe_arena_release_indices() {
10760   ::google::protobuf::internal::TSanWrite(&_impl_);
10761   // @@protoc_insertion_point(field_release:onnx.SparseTensorProto.indices)
10762 
10763   _impl_._has_bits_[0] &= ~0x00000002u;
10764   ::onnx::TensorProto* temp = _impl_.indices_;
10765   _impl_.indices_ = nullptr;
10766   return temp;
10767 }
10768 inline ::onnx::TensorProto* SparseTensorProto::_internal_mutable_indices() {
10769   ::google::protobuf::internal::TSanWrite(&_impl_);
10770   if (_impl_.indices_ == nullptr) {
10771     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TensorProto>(GetArena());
10772     _impl_.indices_ = reinterpret_cast<::onnx::TensorProto*>(p);
10773   }
10774   return _impl_.indices_;
10775 }
10776 inline ::onnx::TensorProto* SparseTensorProto::mutable_indices() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10777   _impl_._has_bits_[0] |= 0x00000002u;
10778   ::onnx::TensorProto* _msg = _internal_mutable_indices();
10779   // @@protoc_insertion_point(field_mutable:onnx.SparseTensorProto.indices)
10780   return _msg;
10781 }
10782 inline void SparseTensorProto::set_allocated_indices(::onnx::TensorProto* value) {
10783   ::google::protobuf::Arena* message_arena = GetArena();
10784   ::google::protobuf::internal::TSanWrite(&_impl_);
10785   if (message_arena == nullptr) {
10786     delete (_impl_.indices_);
10787   }
10788 
10789   if (value != nullptr) {
10790     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
10791     if (message_arena != submessage_arena) {
10792       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
10793     }
10794     _impl_._has_bits_[0] |= 0x00000002u;
10795   } else {
10796     _impl_._has_bits_[0] &= ~0x00000002u;
10797   }
10798 
10799   _impl_.indices_ = reinterpret_cast<::onnx::TensorProto*>(value);
10800   // @@protoc_insertion_point(field_set_allocated:onnx.SparseTensorProto.indices)
10801 }
10802 
10803 // repeated int64 dims = 3;
10804 inline int SparseTensorProto::_internal_dims_size() const {
10805   return _internal_dims().size();
10806 }
10807 inline int SparseTensorProto::dims_size() const {
10808   return _internal_dims_size();
10809 }
10810 inline void SparseTensorProto::clear_dims() {
10811   ::google::protobuf::internal::TSanWrite(&_impl_);
10812   _impl_.dims_.Clear();
10813 }
10814 inline ::int64_t SparseTensorProto::dims(int index) const {
10815   // @@protoc_insertion_point(field_get:onnx.SparseTensorProto.dims)
10816   return _internal_dims().Get(index);
10817 }
10818 inline void SparseTensorProto::set_dims(int index, ::int64_t value) {
10819   _internal_mutable_dims()->Set(index, value);
10820   // @@protoc_insertion_point(field_set:onnx.SparseTensorProto.dims)
10821 }
10822 inline void SparseTensorProto::add_dims(::int64_t value) {
10823   ::google::protobuf::internal::TSanWrite(&_impl_);
10824   _internal_mutable_dims()->Add(value);
10825   // @@protoc_insertion_point(field_add:onnx.SparseTensorProto.dims)
10826 }
10827 inline const ::google::protobuf::RepeatedField<::int64_t>& SparseTensorProto::dims() const
10828     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10829   // @@protoc_insertion_point(field_list:onnx.SparseTensorProto.dims)
10830   return _internal_dims();
10831 }
10832 inline ::google::protobuf::RepeatedField<::int64_t>* SparseTensorProto::mutable_dims()
10833     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10834   // @@protoc_insertion_point(field_mutable_list:onnx.SparseTensorProto.dims)
10835   ::google::protobuf::internal::TSanWrite(&_impl_);
10836   return _internal_mutable_dims();
10837 }
10838 inline const ::google::protobuf::RepeatedField<::int64_t>&
10839 SparseTensorProto::_internal_dims() const {
10840   ::google::protobuf::internal::TSanRead(&_impl_);
10841   return _impl_.dims_;
10842 }
10843 inline ::google::protobuf::RepeatedField<::int64_t>* SparseTensorProto::_internal_mutable_dims() {
10844   ::google::protobuf::internal::TSanRead(&_impl_);
10845   return &_impl_.dims_;
10846 }
10847 
10848 // -------------------------------------------------------------------
10849 
10850 // TensorShapeProto_Dimension
10851 
10852 // int64 dim_value = 1;
10853 inline bool TensorShapeProto_Dimension::has_dim_value() const {
10854   return value_case() == kDimValue;
10855 }
10856 inline void TensorShapeProto_Dimension::set_has_dim_value() {
10857   _impl_._oneof_case_[0] = kDimValue;
10858 }
10859 inline void TensorShapeProto_Dimension::clear_dim_value() {
10860   ::google::protobuf::internal::TSanWrite(&_impl_);
10861   if (value_case() == kDimValue) {
10862     _impl_.value_.dim_value_ = ::int64_t{0};
10863     clear_has_value();
10864   }
10865 }
10866 inline ::int64_t TensorShapeProto_Dimension::dim_value() const {
10867   // @@protoc_insertion_point(field_get:onnx.TensorShapeProto.Dimension.dim_value)
10868   return _internal_dim_value();
10869 }
10870 inline void TensorShapeProto_Dimension::set_dim_value(::int64_t value) {
10871   if (value_case() != kDimValue) {
10872     clear_value();
10873     set_has_dim_value();
10874   }
10875   _impl_.value_.dim_value_ = value;
10876   // @@protoc_insertion_point(field_set:onnx.TensorShapeProto.Dimension.dim_value)
10877 }
10878 inline ::int64_t TensorShapeProto_Dimension::_internal_dim_value() const {
10879   if (value_case() == kDimValue) {
10880     return _impl_.value_.dim_value_;
10881   }
10882   return ::int64_t{0};
10883 }
10884 
10885 // string dim_param = 2;
10886 inline bool TensorShapeProto_Dimension::has_dim_param() const {
10887   return value_case() == kDimParam;
10888 }
10889 inline void TensorShapeProto_Dimension::set_has_dim_param() {
10890   _impl_._oneof_case_[0] = kDimParam;
10891 }
10892 inline void TensorShapeProto_Dimension::clear_dim_param() {
10893   ::google::protobuf::internal::TSanWrite(&_impl_);
10894   if (value_case() == kDimParam) {
10895     _impl_.value_.dim_param_.Destroy();
10896     clear_has_value();
10897   }
10898 }
10899 inline const std::string& TensorShapeProto_Dimension::dim_param() const
10900     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10901   // @@protoc_insertion_point(field_get:onnx.TensorShapeProto.Dimension.dim_param)
10902   return _internal_dim_param();
10903 }
10904 template <typename Arg_, typename... Args_>
10905 inline PROTOBUF_ALWAYS_INLINE void TensorShapeProto_Dimension::set_dim_param(Arg_&& arg,
10906                                                      Args_... args) {
10907   ::google::protobuf::internal::TSanWrite(&_impl_);
10908   if (value_case() != kDimParam) {
10909     clear_value();
10910 
10911     set_has_dim_param();
10912     _impl_.value_.dim_param_.InitDefault();
10913   }
10914   _impl_.value_.dim_param_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
10915   // @@protoc_insertion_point(field_set:onnx.TensorShapeProto.Dimension.dim_param)
10916 }
10917 inline std::string* TensorShapeProto_Dimension::mutable_dim_param() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10918   std::string* _s = _internal_mutable_dim_param();
10919   // @@protoc_insertion_point(field_mutable:onnx.TensorShapeProto.Dimension.dim_param)
10920   return _s;
10921 }
10922 inline const std::string& TensorShapeProto_Dimension::_internal_dim_param() const {
10923   ::google::protobuf::internal::TSanRead(&_impl_);
10924   if (value_case() != kDimParam) {
10925     return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
10926   }
10927   return _impl_.value_.dim_param_.Get();
10928 }
10929 inline void TensorShapeProto_Dimension::_internal_set_dim_param(const std::string& value) {
10930   ::google::protobuf::internal::TSanWrite(&_impl_);
10931   if (value_case() != kDimParam) {
10932     clear_value();
10933 
10934     set_has_dim_param();
10935     _impl_.value_.dim_param_.InitDefault();
10936   }
10937   _impl_.value_.dim_param_.Set(value, GetArena());
10938 }
10939 inline std::string* TensorShapeProto_Dimension::_internal_mutable_dim_param() {
10940   ::google::protobuf::internal::TSanWrite(&_impl_);
10941   if (value_case() != kDimParam) {
10942     clear_value();
10943 
10944     set_has_dim_param();
10945     _impl_.value_.dim_param_.InitDefault();
10946   }
10947   return _impl_.value_.dim_param_.Mutable( GetArena());
10948 }
10949 inline std::string* TensorShapeProto_Dimension::release_dim_param() {
10950   ::google::protobuf::internal::TSanWrite(&_impl_);
10951   // @@protoc_insertion_point(field_release:onnx.TensorShapeProto.Dimension.dim_param)
10952   if (value_case() != kDimParam) {
10953     return nullptr;
10954   }
10955   clear_has_value();
10956   return _impl_.value_.dim_param_.Release();
10957 }
10958 inline void TensorShapeProto_Dimension::set_allocated_dim_param(std::string* value) {
10959   ::google::protobuf::internal::TSanWrite(&_impl_);
10960   if (has_value()) {
10961     clear_value();
10962   }
10963   if (value != nullptr) {
10964     set_has_dim_param();
10965     _impl_.value_.dim_param_.InitAllocated(value, GetArena());
10966   }
10967   // @@protoc_insertion_point(field_set_allocated:onnx.TensorShapeProto.Dimension.dim_param)
10968 }
10969 
10970 // optional string denotation = 3;
10971 inline bool TensorShapeProto_Dimension::has_denotation() const {
10972   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
10973   return value;
10974 }
10975 inline void TensorShapeProto_Dimension::clear_denotation() {
10976   ::google::protobuf::internal::TSanWrite(&_impl_);
10977   _impl_.denotation_.ClearToEmpty();
10978   _impl_._has_bits_[0] &= ~0x00000001u;
10979 }
10980 inline const std::string& TensorShapeProto_Dimension::denotation() const
10981     ABSL_ATTRIBUTE_LIFETIME_BOUND {
10982   // @@protoc_insertion_point(field_get:onnx.TensorShapeProto.Dimension.denotation)
10983   return _internal_denotation();
10984 }
10985 template <typename Arg_, typename... Args_>
10986 inline PROTOBUF_ALWAYS_INLINE void TensorShapeProto_Dimension::set_denotation(Arg_&& arg,
10987                                                      Args_... args) {
10988   ::google::protobuf::internal::TSanWrite(&_impl_);
10989   _impl_._has_bits_[0] |= 0x00000001u;
10990   _impl_.denotation_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
10991   // @@protoc_insertion_point(field_set:onnx.TensorShapeProto.Dimension.denotation)
10992 }
10993 inline std::string* TensorShapeProto_Dimension::mutable_denotation() ABSL_ATTRIBUTE_LIFETIME_BOUND {
10994   std::string* _s = _internal_mutable_denotation();
10995   // @@protoc_insertion_point(field_mutable:onnx.TensorShapeProto.Dimension.denotation)
10996   return _s;
10997 }
10998 inline const std::string& TensorShapeProto_Dimension::_internal_denotation() const {
10999   ::google::protobuf::internal::TSanRead(&_impl_);
11000   return _impl_.denotation_.Get();
11001 }
11002 inline void TensorShapeProto_Dimension::_internal_set_denotation(const std::string& value) {
11003   ::google::protobuf::internal::TSanWrite(&_impl_);
11004   _impl_._has_bits_[0] |= 0x00000001u;
11005   _impl_.denotation_.Set(value, GetArena());
11006 }
11007 inline std::string* TensorShapeProto_Dimension::_internal_mutable_denotation() {
11008   ::google::protobuf::internal::TSanWrite(&_impl_);
11009   _impl_._has_bits_[0] |= 0x00000001u;
11010   return _impl_.denotation_.Mutable( GetArena());
11011 }
11012 inline std::string* TensorShapeProto_Dimension::release_denotation() {
11013   ::google::protobuf::internal::TSanWrite(&_impl_);
11014   // @@protoc_insertion_point(field_release:onnx.TensorShapeProto.Dimension.denotation)
11015   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
11016     return nullptr;
11017   }
11018   _impl_._has_bits_[0] &= ~0x00000001u;
11019   auto* released = _impl_.denotation_.Release();
11020   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11021   _impl_.denotation_.Set("", GetArena());
11022   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11023   return released;
11024 }
11025 inline void TensorShapeProto_Dimension::set_allocated_denotation(std::string* value) {
11026   ::google::protobuf::internal::TSanWrite(&_impl_);
11027   if (value != nullptr) {
11028     _impl_._has_bits_[0] |= 0x00000001u;
11029   } else {
11030     _impl_._has_bits_[0] &= ~0x00000001u;
11031   }
11032   _impl_.denotation_.SetAllocated(value, GetArena());
11033   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11034         if (_impl_.denotation_.IsDefault()) {
11035           _impl_.denotation_.Set("", GetArena());
11036         }
11037   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11038   // @@protoc_insertion_point(field_set_allocated:onnx.TensorShapeProto.Dimension.denotation)
11039 }
11040 
11041 inline bool TensorShapeProto_Dimension::has_value() const {
11042   return value_case() != VALUE_NOT_SET;
11043 }
11044 inline void TensorShapeProto_Dimension::clear_has_value() {
11045   _impl_._oneof_case_[0] = VALUE_NOT_SET;
11046 }
11047 inline TensorShapeProto_Dimension::ValueCase TensorShapeProto_Dimension::value_case() const {
11048   return TensorShapeProto_Dimension::ValueCase(_impl_._oneof_case_[0]);
11049 }
11050 // -------------------------------------------------------------------
11051 
11052 // TensorShapeProto
11053 
11054 // repeated .onnx.TensorShapeProto.Dimension dim = 1;
11055 inline int TensorShapeProto::_internal_dim_size() const {
11056   return _internal_dim().size();
11057 }
11058 inline int TensorShapeProto::dim_size() const {
11059   return _internal_dim_size();
11060 }
11061 inline void TensorShapeProto::clear_dim() {
11062   ::google::protobuf::internal::TSanWrite(&_impl_);
11063   _impl_.dim_.Clear();
11064 }
11065 inline ::onnx::TensorShapeProto_Dimension* TensorShapeProto::mutable_dim(int index)
11066     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11067   // @@protoc_insertion_point(field_mutable:onnx.TensorShapeProto.dim)
11068   return _internal_mutable_dim()->Mutable(index);
11069 }
11070 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>* TensorShapeProto::mutable_dim()
11071     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11072   // @@protoc_insertion_point(field_mutable_list:onnx.TensorShapeProto.dim)
11073   ::google::protobuf::internal::TSanWrite(&_impl_);
11074   return _internal_mutable_dim();
11075 }
11076 inline const ::onnx::TensorShapeProto_Dimension& TensorShapeProto::dim(int index) const
11077     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11078   // @@protoc_insertion_point(field_get:onnx.TensorShapeProto.dim)
11079   return _internal_dim().Get(index);
11080 }
11081 inline ::onnx::TensorShapeProto_Dimension* TensorShapeProto::add_dim() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11082   ::google::protobuf::internal::TSanWrite(&_impl_);
11083   ::onnx::TensorShapeProto_Dimension* _add = _internal_mutable_dim()->Add();
11084   // @@protoc_insertion_point(field_add:onnx.TensorShapeProto.dim)
11085   return _add;
11086 }
11087 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>& TensorShapeProto::dim() const
11088     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11089   // @@protoc_insertion_point(field_list:onnx.TensorShapeProto.dim)
11090   return _internal_dim();
11091 }
11092 inline const ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>&
11093 TensorShapeProto::_internal_dim() const {
11094   ::google::protobuf::internal::TSanRead(&_impl_);
11095   return _impl_.dim_;
11096 }
11097 inline ::google::protobuf::RepeatedPtrField<::onnx::TensorShapeProto_Dimension>*
11098 TensorShapeProto::_internal_mutable_dim() {
11099   ::google::protobuf::internal::TSanRead(&_impl_);
11100   return &_impl_.dim_;
11101 }
11102 
11103 // -------------------------------------------------------------------
11104 
11105 // TypeProto_Tensor
11106 
11107 // optional int32 elem_type = 1;
11108 inline bool TypeProto_Tensor::has_elem_type() const {
11109   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
11110   return value;
11111 }
11112 inline void TypeProto_Tensor::clear_elem_type() {
11113   ::google::protobuf::internal::TSanWrite(&_impl_);
11114   _impl_.elem_type_ = 0;
11115   _impl_._has_bits_[0] &= ~0x00000002u;
11116 }
11117 inline ::int32_t TypeProto_Tensor::elem_type() const {
11118   // @@protoc_insertion_point(field_get:onnx.TypeProto.Tensor.elem_type)
11119   return _internal_elem_type();
11120 }
11121 inline void TypeProto_Tensor::set_elem_type(::int32_t value) {
11122   _internal_set_elem_type(value);
11123   _impl_._has_bits_[0] |= 0x00000002u;
11124   // @@protoc_insertion_point(field_set:onnx.TypeProto.Tensor.elem_type)
11125 }
11126 inline ::int32_t TypeProto_Tensor::_internal_elem_type() const {
11127   ::google::protobuf::internal::TSanRead(&_impl_);
11128   return _impl_.elem_type_;
11129 }
11130 inline void TypeProto_Tensor::_internal_set_elem_type(::int32_t value) {
11131   ::google::protobuf::internal::TSanWrite(&_impl_);
11132   _impl_.elem_type_ = value;
11133 }
11134 
11135 // optional .onnx.TensorShapeProto shape = 2;
11136 inline bool TypeProto_Tensor::has_shape() const {
11137   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11138   PROTOBUF_ASSUME(!value || _impl_.shape_ != nullptr);
11139   return value;
11140 }
11141 inline void TypeProto_Tensor::clear_shape() {
11142   ::google::protobuf::internal::TSanWrite(&_impl_);
11143   if (_impl_.shape_ != nullptr) _impl_.shape_->Clear();
11144   _impl_._has_bits_[0] &= ~0x00000001u;
11145 }
11146 inline const ::onnx::TensorShapeProto& TypeProto_Tensor::_internal_shape() const {
11147   ::google::protobuf::internal::TSanRead(&_impl_);
11148   const ::onnx::TensorShapeProto* p = _impl_.shape_;
11149   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TensorShapeProto&>(::onnx::_TensorShapeProto_default_instance_);
11150 }
11151 inline const ::onnx::TensorShapeProto& TypeProto_Tensor::shape() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11152   // @@protoc_insertion_point(field_get:onnx.TypeProto.Tensor.shape)
11153   return _internal_shape();
11154 }
11155 inline void TypeProto_Tensor::unsafe_arena_set_allocated_shape(::onnx::TensorShapeProto* value) {
11156   ::google::protobuf::internal::TSanWrite(&_impl_);
11157   if (GetArena() == nullptr) {
11158     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.shape_);
11159   }
11160   _impl_.shape_ = reinterpret_cast<::onnx::TensorShapeProto*>(value);
11161   if (value != nullptr) {
11162     _impl_._has_bits_[0] |= 0x00000001u;
11163   } else {
11164     _impl_._has_bits_[0] &= ~0x00000001u;
11165   }
11166   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.Tensor.shape)
11167 }
11168 inline ::onnx::TensorShapeProto* TypeProto_Tensor::release_shape() {
11169   ::google::protobuf::internal::TSanWrite(&_impl_);
11170 
11171   _impl_._has_bits_[0] &= ~0x00000001u;
11172   ::onnx::TensorShapeProto* released = _impl_.shape_;
11173   _impl_.shape_ = nullptr;
11174 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
11175   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
11176   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11177   if (GetArena() == nullptr) {
11178     delete old;
11179   }
11180 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
11181   if (GetArena() != nullptr) {
11182     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11183   }
11184 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
11185   return released;
11186 }
11187 inline ::onnx::TensorShapeProto* TypeProto_Tensor::unsafe_arena_release_shape() {
11188   ::google::protobuf::internal::TSanWrite(&_impl_);
11189   // @@protoc_insertion_point(field_release:onnx.TypeProto.Tensor.shape)
11190 
11191   _impl_._has_bits_[0] &= ~0x00000001u;
11192   ::onnx::TensorShapeProto* temp = _impl_.shape_;
11193   _impl_.shape_ = nullptr;
11194   return temp;
11195 }
11196 inline ::onnx::TensorShapeProto* TypeProto_Tensor::_internal_mutable_shape() {
11197   ::google::protobuf::internal::TSanWrite(&_impl_);
11198   if (_impl_.shape_ == nullptr) {
11199     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TensorShapeProto>(GetArena());
11200     _impl_.shape_ = reinterpret_cast<::onnx::TensorShapeProto*>(p);
11201   }
11202   return _impl_.shape_;
11203 }
11204 inline ::onnx::TensorShapeProto* TypeProto_Tensor::mutable_shape() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11205   _impl_._has_bits_[0] |= 0x00000001u;
11206   ::onnx::TensorShapeProto* _msg = _internal_mutable_shape();
11207   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.Tensor.shape)
11208   return _msg;
11209 }
11210 inline void TypeProto_Tensor::set_allocated_shape(::onnx::TensorShapeProto* value) {
11211   ::google::protobuf::Arena* message_arena = GetArena();
11212   ::google::protobuf::internal::TSanWrite(&_impl_);
11213   if (message_arena == nullptr) {
11214     delete (_impl_.shape_);
11215   }
11216 
11217   if (value != nullptr) {
11218     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
11219     if (message_arena != submessage_arena) {
11220       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
11221     }
11222     _impl_._has_bits_[0] |= 0x00000001u;
11223   } else {
11224     _impl_._has_bits_[0] &= ~0x00000001u;
11225   }
11226 
11227   _impl_.shape_ = reinterpret_cast<::onnx::TensorShapeProto*>(value);
11228   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.Tensor.shape)
11229 }
11230 
11231 // -------------------------------------------------------------------
11232 
11233 // TypeProto_Sequence
11234 
11235 // optional .onnx.TypeProto elem_type = 1;
11236 inline bool TypeProto_Sequence::has_elem_type() const {
11237   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11238   PROTOBUF_ASSUME(!value || _impl_.elem_type_ != nullptr);
11239   return value;
11240 }
11241 inline void TypeProto_Sequence::clear_elem_type() {
11242   ::google::protobuf::internal::TSanWrite(&_impl_);
11243   if (_impl_.elem_type_ != nullptr) _impl_.elem_type_->Clear();
11244   _impl_._has_bits_[0] &= ~0x00000001u;
11245 }
11246 inline const ::onnx::TypeProto& TypeProto_Sequence::_internal_elem_type() const {
11247   ::google::protobuf::internal::TSanRead(&_impl_);
11248   const ::onnx::TypeProto* p = _impl_.elem_type_;
11249   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TypeProto&>(::onnx::_TypeProto_default_instance_);
11250 }
11251 inline const ::onnx::TypeProto& TypeProto_Sequence::elem_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11252   // @@protoc_insertion_point(field_get:onnx.TypeProto.Sequence.elem_type)
11253   return _internal_elem_type();
11254 }
11255 inline void TypeProto_Sequence::unsafe_arena_set_allocated_elem_type(::onnx::TypeProto* value) {
11256   ::google::protobuf::internal::TSanWrite(&_impl_);
11257   if (GetArena() == nullptr) {
11258     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elem_type_);
11259   }
11260   _impl_.elem_type_ = reinterpret_cast<::onnx::TypeProto*>(value);
11261   if (value != nullptr) {
11262     _impl_._has_bits_[0] |= 0x00000001u;
11263   } else {
11264     _impl_._has_bits_[0] &= ~0x00000001u;
11265   }
11266   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.Sequence.elem_type)
11267 }
11268 inline ::onnx::TypeProto* TypeProto_Sequence::release_elem_type() {
11269   ::google::protobuf::internal::TSanWrite(&_impl_);
11270 
11271   _impl_._has_bits_[0] &= ~0x00000001u;
11272   ::onnx::TypeProto* released = _impl_.elem_type_;
11273   _impl_.elem_type_ = nullptr;
11274 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
11275   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
11276   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11277   if (GetArena() == nullptr) {
11278     delete old;
11279   }
11280 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
11281   if (GetArena() != nullptr) {
11282     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11283   }
11284 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
11285   return released;
11286 }
11287 inline ::onnx::TypeProto* TypeProto_Sequence::unsafe_arena_release_elem_type() {
11288   ::google::protobuf::internal::TSanWrite(&_impl_);
11289   // @@protoc_insertion_point(field_release:onnx.TypeProto.Sequence.elem_type)
11290 
11291   _impl_._has_bits_[0] &= ~0x00000001u;
11292   ::onnx::TypeProto* temp = _impl_.elem_type_;
11293   _impl_.elem_type_ = nullptr;
11294   return temp;
11295 }
11296 inline ::onnx::TypeProto* TypeProto_Sequence::_internal_mutable_elem_type() {
11297   ::google::protobuf::internal::TSanWrite(&_impl_);
11298   if (_impl_.elem_type_ == nullptr) {
11299     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto>(GetArena());
11300     _impl_.elem_type_ = reinterpret_cast<::onnx::TypeProto*>(p);
11301   }
11302   return _impl_.elem_type_;
11303 }
11304 inline ::onnx::TypeProto* TypeProto_Sequence::mutable_elem_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11305   _impl_._has_bits_[0] |= 0x00000001u;
11306   ::onnx::TypeProto* _msg = _internal_mutable_elem_type();
11307   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.Sequence.elem_type)
11308   return _msg;
11309 }
11310 inline void TypeProto_Sequence::set_allocated_elem_type(::onnx::TypeProto* value) {
11311   ::google::protobuf::Arena* message_arena = GetArena();
11312   ::google::protobuf::internal::TSanWrite(&_impl_);
11313   if (message_arena == nullptr) {
11314     delete (_impl_.elem_type_);
11315   }
11316 
11317   if (value != nullptr) {
11318     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
11319     if (message_arena != submessage_arena) {
11320       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
11321     }
11322     _impl_._has_bits_[0] |= 0x00000001u;
11323   } else {
11324     _impl_._has_bits_[0] &= ~0x00000001u;
11325   }
11326 
11327   _impl_.elem_type_ = reinterpret_cast<::onnx::TypeProto*>(value);
11328   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.Sequence.elem_type)
11329 }
11330 
11331 // -------------------------------------------------------------------
11332 
11333 // TypeProto_Map
11334 
11335 // optional int32 key_type = 1;
11336 inline bool TypeProto_Map::has_key_type() const {
11337   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
11338   return value;
11339 }
11340 inline void TypeProto_Map::clear_key_type() {
11341   ::google::protobuf::internal::TSanWrite(&_impl_);
11342   _impl_.key_type_ = 0;
11343   _impl_._has_bits_[0] &= ~0x00000002u;
11344 }
11345 inline ::int32_t TypeProto_Map::key_type() const {
11346   // @@protoc_insertion_point(field_get:onnx.TypeProto.Map.key_type)
11347   return _internal_key_type();
11348 }
11349 inline void TypeProto_Map::set_key_type(::int32_t value) {
11350   _internal_set_key_type(value);
11351   _impl_._has_bits_[0] |= 0x00000002u;
11352   // @@protoc_insertion_point(field_set:onnx.TypeProto.Map.key_type)
11353 }
11354 inline ::int32_t TypeProto_Map::_internal_key_type() const {
11355   ::google::protobuf::internal::TSanRead(&_impl_);
11356   return _impl_.key_type_;
11357 }
11358 inline void TypeProto_Map::_internal_set_key_type(::int32_t value) {
11359   ::google::protobuf::internal::TSanWrite(&_impl_);
11360   _impl_.key_type_ = value;
11361 }
11362 
11363 // optional .onnx.TypeProto value_type = 2;
11364 inline bool TypeProto_Map::has_value_type() const {
11365   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11366   PROTOBUF_ASSUME(!value || _impl_.value_type_ != nullptr);
11367   return value;
11368 }
11369 inline void TypeProto_Map::clear_value_type() {
11370   ::google::protobuf::internal::TSanWrite(&_impl_);
11371   if (_impl_.value_type_ != nullptr) _impl_.value_type_->Clear();
11372   _impl_._has_bits_[0] &= ~0x00000001u;
11373 }
11374 inline const ::onnx::TypeProto& TypeProto_Map::_internal_value_type() const {
11375   ::google::protobuf::internal::TSanRead(&_impl_);
11376   const ::onnx::TypeProto* p = _impl_.value_type_;
11377   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TypeProto&>(::onnx::_TypeProto_default_instance_);
11378 }
11379 inline const ::onnx::TypeProto& TypeProto_Map::value_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11380   // @@protoc_insertion_point(field_get:onnx.TypeProto.Map.value_type)
11381   return _internal_value_type();
11382 }
11383 inline void TypeProto_Map::unsafe_arena_set_allocated_value_type(::onnx::TypeProto* value) {
11384   ::google::protobuf::internal::TSanWrite(&_impl_);
11385   if (GetArena() == nullptr) {
11386     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_type_);
11387   }
11388   _impl_.value_type_ = reinterpret_cast<::onnx::TypeProto*>(value);
11389   if (value != nullptr) {
11390     _impl_._has_bits_[0] |= 0x00000001u;
11391   } else {
11392     _impl_._has_bits_[0] &= ~0x00000001u;
11393   }
11394   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.Map.value_type)
11395 }
11396 inline ::onnx::TypeProto* TypeProto_Map::release_value_type() {
11397   ::google::protobuf::internal::TSanWrite(&_impl_);
11398 
11399   _impl_._has_bits_[0] &= ~0x00000001u;
11400   ::onnx::TypeProto* released = _impl_.value_type_;
11401   _impl_.value_type_ = nullptr;
11402 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
11403   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
11404   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11405   if (GetArena() == nullptr) {
11406     delete old;
11407   }
11408 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
11409   if (GetArena() != nullptr) {
11410     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11411   }
11412 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
11413   return released;
11414 }
11415 inline ::onnx::TypeProto* TypeProto_Map::unsafe_arena_release_value_type() {
11416   ::google::protobuf::internal::TSanWrite(&_impl_);
11417   // @@protoc_insertion_point(field_release:onnx.TypeProto.Map.value_type)
11418 
11419   _impl_._has_bits_[0] &= ~0x00000001u;
11420   ::onnx::TypeProto* temp = _impl_.value_type_;
11421   _impl_.value_type_ = nullptr;
11422   return temp;
11423 }
11424 inline ::onnx::TypeProto* TypeProto_Map::_internal_mutable_value_type() {
11425   ::google::protobuf::internal::TSanWrite(&_impl_);
11426   if (_impl_.value_type_ == nullptr) {
11427     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto>(GetArena());
11428     _impl_.value_type_ = reinterpret_cast<::onnx::TypeProto*>(p);
11429   }
11430   return _impl_.value_type_;
11431 }
11432 inline ::onnx::TypeProto* TypeProto_Map::mutable_value_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11433   _impl_._has_bits_[0] |= 0x00000001u;
11434   ::onnx::TypeProto* _msg = _internal_mutable_value_type();
11435   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.Map.value_type)
11436   return _msg;
11437 }
11438 inline void TypeProto_Map::set_allocated_value_type(::onnx::TypeProto* value) {
11439   ::google::protobuf::Arena* message_arena = GetArena();
11440   ::google::protobuf::internal::TSanWrite(&_impl_);
11441   if (message_arena == nullptr) {
11442     delete (_impl_.value_type_);
11443   }
11444 
11445   if (value != nullptr) {
11446     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
11447     if (message_arena != submessage_arena) {
11448       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
11449     }
11450     _impl_._has_bits_[0] |= 0x00000001u;
11451   } else {
11452     _impl_._has_bits_[0] &= ~0x00000001u;
11453   }
11454 
11455   _impl_.value_type_ = reinterpret_cast<::onnx::TypeProto*>(value);
11456   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.Map.value_type)
11457 }
11458 
11459 // -------------------------------------------------------------------
11460 
11461 // TypeProto_Optional
11462 
11463 // optional .onnx.TypeProto elem_type = 1;
11464 inline bool TypeProto_Optional::has_elem_type() const {
11465   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11466   PROTOBUF_ASSUME(!value || _impl_.elem_type_ != nullptr);
11467   return value;
11468 }
11469 inline void TypeProto_Optional::clear_elem_type() {
11470   ::google::protobuf::internal::TSanWrite(&_impl_);
11471   if (_impl_.elem_type_ != nullptr) _impl_.elem_type_->Clear();
11472   _impl_._has_bits_[0] &= ~0x00000001u;
11473 }
11474 inline const ::onnx::TypeProto& TypeProto_Optional::_internal_elem_type() const {
11475   ::google::protobuf::internal::TSanRead(&_impl_);
11476   const ::onnx::TypeProto* p = _impl_.elem_type_;
11477   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TypeProto&>(::onnx::_TypeProto_default_instance_);
11478 }
11479 inline const ::onnx::TypeProto& TypeProto_Optional::elem_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11480   // @@protoc_insertion_point(field_get:onnx.TypeProto.Optional.elem_type)
11481   return _internal_elem_type();
11482 }
11483 inline void TypeProto_Optional::unsafe_arena_set_allocated_elem_type(::onnx::TypeProto* value) {
11484   ::google::protobuf::internal::TSanWrite(&_impl_);
11485   if (GetArena() == nullptr) {
11486     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elem_type_);
11487   }
11488   _impl_.elem_type_ = reinterpret_cast<::onnx::TypeProto*>(value);
11489   if (value != nullptr) {
11490     _impl_._has_bits_[0] |= 0x00000001u;
11491   } else {
11492     _impl_._has_bits_[0] &= ~0x00000001u;
11493   }
11494   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.Optional.elem_type)
11495 }
11496 inline ::onnx::TypeProto* TypeProto_Optional::release_elem_type() {
11497   ::google::protobuf::internal::TSanWrite(&_impl_);
11498 
11499   _impl_._has_bits_[0] &= ~0x00000001u;
11500   ::onnx::TypeProto* released = _impl_.elem_type_;
11501   _impl_.elem_type_ = nullptr;
11502 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
11503   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
11504   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11505   if (GetArena() == nullptr) {
11506     delete old;
11507   }
11508 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
11509   if (GetArena() != nullptr) {
11510     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11511   }
11512 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
11513   return released;
11514 }
11515 inline ::onnx::TypeProto* TypeProto_Optional::unsafe_arena_release_elem_type() {
11516   ::google::protobuf::internal::TSanWrite(&_impl_);
11517   // @@protoc_insertion_point(field_release:onnx.TypeProto.Optional.elem_type)
11518 
11519   _impl_._has_bits_[0] &= ~0x00000001u;
11520   ::onnx::TypeProto* temp = _impl_.elem_type_;
11521   _impl_.elem_type_ = nullptr;
11522   return temp;
11523 }
11524 inline ::onnx::TypeProto* TypeProto_Optional::_internal_mutable_elem_type() {
11525   ::google::protobuf::internal::TSanWrite(&_impl_);
11526   if (_impl_.elem_type_ == nullptr) {
11527     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto>(GetArena());
11528     _impl_.elem_type_ = reinterpret_cast<::onnx::TypeProto*>(p);
11529   }
11530   return _impl_.elem_type_;
11531 }
11532 inline ::onnx::TypeProto* TypeProto_Optional::mutable_elem_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11533   _impl_._has_bits_[0] |= 0x00000001u;
11534   ::onnx::TypeProto* _msg = _internal_mutable_elem_type();
11535   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.Optional.elem_type)
11536   return _msg;
11537 }
11538 inline void TypeProto_Optional::set_allocated_elem_type(::onnx::TypeProto* value) {
11539   ::google::protobuf::Arena* message_arena = GetArena();
11540   ::google::protobuf::internal::TSanWrite(&_impl_);
11541   if (message_arena == nullptr) {
11542     delete (_impl_.elem_type_);
11543   }
11544 
11545   if (value != nullptr) {
11546     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
11547     if (message_arena != submessage_arena) {
11548       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
11549     }
11550     _impl_._has_bits_[0] |= 0x00000001u;
11551   } else {
11552     _impl_._has_bits_[0] &= ~0x00000001u;
11553   }
11554 
11555   _impl_.elem_type_ = reinterpret_cast<::onnx::TypeProto*>(value);
11556   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.Optional.elem_type)
11557 }
11558 
11559 // -------------------------------------------------------------------
11560 
11561 // TypeProto_SparseTensor
11562 
11563 // optional int32 elem_type = 1;
11564 inline bool TypeProto_SparseTensor::has_elem_type() const {
11565   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
11566   return value;
11567 }
11568 inline void TypeProto_SparseTensor::clear_elem_type() {
11569   ::google::protobuf::internal::TSanWrite(&_impl_);
11570   _impl_.elem_type_ = 0;
11571   _impl_._has_bits_[0] &= ~0x00000002u;
11572 }
11573 inline ::int32_t TypeProto_SparseTensor::elem_type() const {
11574   // @@protoc_insertion_point(field_get:onnx.TypeProto.SparseTensor.elem_type)
11575   return _internal_elem_type();
11576 }
11577 inline void TypeProto_SparseTensor::set_elem_type(::int32_t value) {
11578   _internal_set_elem_type(value);
11579   _impl_._has_bits_[0] |= 0x00000002u;
11580   // @@protoc_insertion_point(field_set:onnx.TypeProto.SparseTensor.elem_type)
11581 }
11582 inline ::int32_t TypeProto_SparseTensor::_internal_elem_type() const {
11583   ::google::protobuf::internal::TSanRead(&_impl_);
11584   return _impl_.elem_type_;
11585 }
11586 inline void TypeProto_SparseTensor::_internal_set_elem_type(::int32_t value) {
11587   ::google::protobuf::internal::TSanWrite(&_impl_);
11588   _impl_.elem_type_ = value;
11589 }
11590 
11591 // optional .onnx.TensorShapeProto shape = 2;
11592 inline bool TypeProto_SparseTensor::has_shape() const {
11593   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11594   PROTOBUF_ASSUME(!value || _impl_.shape_ != nullptr);
11595   return value;
11596 }
11597 inline void TypeProto_SparseTensor::clear_shape() {
11598   ::google::protobuf::internal::TSanWrite(&_impl_);
11599   if (_impl_.shape_ != nullptr) _impl_.shape_->Clear();
11600   _impl_._has_bits_[0] &= ~0x00000001u;
11601 }
11602 inline const ::onnx::TensorShapeProto& TypeProto_SparseTensor::_internal_shape() const {
11603   ::google::protobuf::internal::TSanRead(&_impl_);
11604   const ::onnx::TensorShapeProto* p = _impl_.shape_;
11605   return p != nullptr ? *p : reinterpret_cast<const ::onnx::TensorShapeProto&>(::onnx::_TensorShapeProto_default_instance_);
11606 }
11607 inline const ::onnx::TensorShapeProto& TypeProto_SparseTensor::shape() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11608   // @@protoc_insertion_point(field_get:onnx.TypeProto.SparseTensor.shape)
11609   return _internal_shape();
11610 }
11611 inline void TypeProto_SparseTensor::unsafe_arena_set_allocated_shape(::onnx::TensorShapeProto* value) {
11612   ::google::protobuf::internal::TSanWrite(&_impl_);
11613   if (GetArena() == nullptr) {
11614     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.shape_);
11615   }
11616   _impl_.shape_ = reinterpret_cast<::onnx::TensorShapeProto*>(value);
11617   if (value != nullptr) {
11618     _impl_._has_bits_[0] |= 0x00000001u;
11619   } else {
11620     _impl_._has_bits_[0] &= ~0x00000001u;
11621   }
11622   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.SparseTensor.shape)
11623 }
11624 inline ::onnx::TensorShapeProto* TypeProto_SparseTensor::release_shape() {
11625   ::google::protobuf::internal::TSanWrite(&_impl_);
11626 
11627   _impl_._has_bits_[0] &= ~0x00000001u;
11628   ::onnx::TensorShapeProto* released = _impl_.shape_;
11629   _impl_.shape_ = nullptr;
11630 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
11631   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
11632   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11633   if (GetArena() == nullptr) {
11634     delete old;
11635   }
11636 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
11637   if (GetArena() != nullptr) {
11638     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
11639   }
11640 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
11641   return released;
11642 }
11643 inline ::onnx::TensorShapeProto* TypeProto_SparseTensor::unsafe_arena_release_shape() {
11644   ::google::protobuf::internal::TSanWrite(&_impl_);
11645   // @@protoc_insertion_point(field_release:onnx.TypeProto.SparseTensor.shape)
11646 
11647   _impl_._has_bits_[0] &= ~0x00000001u;
11648   ::onnx::TensorShapeProto* temp = _impl_.shape_;
11649   _impl_.shape_ = nullptr;
11650   return temp;
11651 }
11652 inline ::onnx::TensorShapeProto* TypeProto_SparseTensor::_internal_mutable_shape() {
11653   ::google::protobuf::internal::TSanWrite(&_impl_);
11654   if (_impl_.shape_ == nullptr) {
11655     auto* p = ::google::protobuf::Message::DefaultConstruct<::onnx::TensorShapeProto>(GetArena());
11656     _impl_.shape_ = reinterpret_cast<::onnx::TensorShapeProto*>(p);
11657   }
11658   return _impl_.shape_;
11659 }
11660 inline ::onnx::TensorShapeProto* TypeProto_SparseTensor::mutable_shape() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11661   _impl_._has_bits_[0] |= 0x00000001u;
11662   ::onnx::TensorShapeProto* _msg = _internal_mutable_shape();
11663   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.SparseTensor.shape)
11664   return _msg;
11665 }
11666 inline void TypeProto_SparseTensor::set_allocated_shape(::onnx::TensorShapeProto* value) {
11667   ::google::protobuf::Arena* message_arena = GetArena();
11668   ::google::protobuf::internal::TSanWrite(&_impl_);
11669   if (message_arena == nullptr) {
11670     delete (_impl_.shape_);
11671   }
11672 
11673   if (value != nullptr) {
11674     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
11675     if (message_arena != submessage_arena) {
11676       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
11677     }
11678     _impl_._has_bits_[0] |= 0x00000001u;
11679   } else {
11680     _impl_._has_bits_[0] &= ~0x00000001u;
11681   }
11682 
11683   _impl_.shape_ = reinterpret_cast<::onnx::TensorShapeProto*>(value);
11684   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.SparseTensor.shape)
11685 }
11686 
11687 // -------------------------------------------------------------------
11688 
11689 // TypeProto_Opaque
11690 
11691 // optional string domain = 1;
11692 inline bool TypeProto_Opaque::has_domain() const {
11693   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11694   return value;
11695 }
11696 inline void TypeProto_Opaque::clear_domain() {
11697   ::google::protobuf::internal::TSanWrite(&_impl_);
11698   _impl_.domain_.ClearToEmpty();
11699   _impl_._has_bits_[0] &= ~0x00000001u;
11700 }
11701 inline const std::string& TypeProto_Opaque::domain() const
11702     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11703   // @@protoc_insertion_point(field_get:onnx.TypeProto.Opaque.domain)
11704   return _internal_domain();
11705 }
11706 template <typename Arg_, typename... Args_>
11707 inline PROTOBUF_ALWAYS_INLINE void TypeProto_Opaque::set_domain(Arg_&& arg,
11708                                                      Args_... args) {
11709   ::google::protobuf::internal::TSanWrite(&_impl_);
11710   _impl_._has_bits_[0] |= 0x00000001u;
11711   _impl_.domain_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
11712   // @@protoc_insertion_point(field_set:onnx.TypeProto.Opaque.domain)
11713 }
11714 inline std::string* TypeProto_Opaque::mutable_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11715   std::string* _s = _internal_mutable_domain();
11716   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.Opaque.domain)
11717   return _s;
11718 }
11719 inline const std::string& TypeProto_Opaque::_internal_domain() const {
11720   ::google::protobuf::internal::TSanRead(&_impl_);
11721   return _impl_.domain_.Get();
11722 }
11723 inline void TypeProto_Opaque::_internal_set_domain(const std::string& value) {
11724   ::google::protobuf::internal::TSanWrite(&_impl_);
11725   _impl_._has_bits_[0] |= 0x00000001u;
11726   _impl_.domain_.Set(value, GetArena());
11727 }
11728 inline std::string* TypeProto_Opaque::_internal_mutable_domain() {
11729   ::google::protobuf::internal::TSanWrite(&_impl_);
11730   _impl_._has_bits_[0] |= 0x00000001u;
11731   return _impl_.domain_.Mutable( GetArena());
11732 }
11733 inline std::string* TypeProto_Opaque::release_domain() {
11734   ::google::protobuf::internal::TSanWrite(&_impl_);
11735   // @@protoc_insertion_point(field_release:onnx.TypeProto.Opaque.domain)
11736   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
11737     return nullptr;
11738   }
11739   _impl_._has_bits_[0] &= ~0x00000001u;
11740   auto* released = _impl_.domain_.Release();
11741   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11742   _impl_.domain_.Set("", GetArena());
11743   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11744   return released;
11745 }
11746 inline void TypeProto_Opaque::set_allocated_domain(std::string* value) {
11747   ::google::protobuf::internal::TSanWrite(&_impl_);
11748   if (value != nullptr) {
11749     _impl_._has_bits_[0] |= 0x00000001u;
11750   } else {
11751     _impl_._has_bits_[0] &= ~0x00000001u;
11752   }
11753   _impl_.domain_.SetAllocated(value, GetArena());
11754   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11755         if (_impl_.domain_.IsDefault()) {
11756           _impl_.domain_.Set("", GetArena());
11757         }
11758   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11759   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.Opaque.domain)
11760 }
11761 
11762 // optional string name = 2;
11763 inline bool TypeProto_Opaque::has_name() const {
11764   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
11765   return value;
11766 }
11767 inline void TypeProto_Opaque::clear_name() {
11768   ::google::protobuf::internal::TSanWrite(&_impl_);
11769   _impl_.name_.ClearToEmpty();
11770   _impl_._has_bits_[0] &= ~0x00000002u;
11771 }
11772 inline const std::string& TypeProto_Opaque::name() const
11773     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11774   // @@protoc_insertion_point(field_get:onnx.TypeProto.Opaque.name)
11775   return _internal_name();
11776 }
11777 template <typename Arg_, typename... Args_>
11778 inline PROTOBUF_ALWAYS_INLINE void TypeProto_Opaque::set_name(Arg_&& arg,
11779                                                      Args_... args) {
11780   ::google::protobuf::internal::TSanWrite(&_impl_);
11781   _impl_._has_bits_[0] |= 0x00000002u;
11782   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
11783   // @@protoc_insertion_point(field_set:onnx.TypeProto.Opaque.name)
11784 }
11785 inline std::string* TypeProto_Opaque::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11786   std::string* _s = _internal_mutable_name();
11787   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.Opaque.name)
11788   return _s;
11789 }
11790 inline const std::string& TypeProto_Opaque::_internal_name() const {
11791   ::google::protobuf::internal::TSanRead(&_impl_);
11792   return _impl_.name_.Get();
11793 }
11794 inline void TypeProto_Opaque::_internal_set_name(const std::string& value) {
11795   ::google::protobuf::internal::TSanWrite(&_impl_);
11796   _impl_._has_bits_[0] |= 0x00000002u;
11797   _impl_.name_.Set(value, GetArena());
11798 }
11799 inline std::string* TypeProto_Opaque::_internal_mutable_name() {
11800   ::google::protobuf::internal::TSanWrite(&_impl_);
11801   _impl_._has_bits_[0] |= 0x00000002u;
11802   return _impl_.name_.Mutable( GetArena());
11803 }
11804 inline std::string* TypeProto_Opaque::release_name() {
11805   ::google::protobuf::internal::TSanWrite(&_impl_);
11806   // @@protoc_insertion_point(field_release:onnx.TypeProto.Opaque.name)
11807   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
11808     return nullptr;
11809   }
11810   _impl_._has_bits_[0] &= ~0x00000002u;
11811   auto* released = _impl_.name_.Release();
11812   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11813   _impl_.name_.Set("", GetArena());
11814   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11815   return released;
11816 }
11817 inline void TypeProto_Opaque::set_allocated_name(std::string* value) {
11818   ::google::protobuf::internal::TSanWrite(&_impl_);
11819   if (value != nullptr) {
11820     _impl_._has_bits_[0] |= 0x00000002u;
11821   } else {
11822     _impl_._has_bits_[0] &= ~0x00000002u;
11823   }
11824   _impl_.name_.SetAllocated(value, GetArena());
11825   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11826         if (_impl_.name_.IsDefault()) {
11827           _impl_.name_.Set("", GetArena());
11828         }
11829   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11830   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.Opaque.name)
11831 }
11832 
11833 // -------------------------------------------------------------------
11834 
11835 // TypeProto
11836 
11837 // .onnx.TypeProto.Tensor tensor_type = 1;
11838 inline bool TypeProto::has_tensor_type() const {
11839   return value_case() == kTensorType;
11840 }
11841 inline bool TypeProto::_internal_has_tensor_type() const {
11842   return value_case() == kTensorType;
11843 }
11844 inline void TypeProto::set_has_tensor_type() {
11845   _impl_._oneof_case_[0] = kTensorType;
11846 }
11847 inline void TypeProto::clear_tensor_type() {
11848   ::google::protobuf::internal::TSanWrite(&_impl_);
11849   if (value_case() == kTensorType) {
11850     if (GetArena() == nullptr) {
11851       delete _impl_.value_.tensor_type_;
11852     } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11853       ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.tensor_type_);
11854     }
11855     clear_has_value();
11856   }
11857 }
11858 inline ::onnx::TypeProto_Tensor* TypeProto::release_tensor_type() {
11859   // @@protoc_insertion_point(field_release:onnx.TypeProto.tensor_type)
11860   if (value_case() == kTensorType) {
11861     clear_has_value();
11862     auto* temp = _impl_.value_.tensor_type_;
11863     if (GetArena() != nullptr) {
11864       temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11865     }
11866     _impl_.value_.tensor_type_ = nullptr;
11867     return temp;
11868   } else {
11869     return nullptr;
11870   }
11871 }
11872 inline const ::onnx::TypeProto_Tensor& TypeProto::_internal_tensor_type() const {
11873   return value_case() == kTensorType ? *_impl_.value_.tensor_type_ : reinterpret_cast<::onnx::TypeProto_Tensor&>(::onnx::_TypeProto_Tensor_default_instance_);
11874 }
11875 inline const ::onnx::TypeProto_Tensor& TypeProto::tensor_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11876   // @@protoc_insertion_point(field_get:onnx.TypeProto.tensor_type)
11877   return _internal_tensor_type();
11878 }
11879 inline ::onnx::TypeProto_Tensor* TypeProto::unsafe_arena_release_tensor_type() {
11880   // @@protoc_insertion_point(field_unsafe_arena_release:onnx.TypeProto.tensor_type)
11881   if (value_case() == kTensorType) {
11882     clear_has_value();
11883     auto* temp = _impl_.value_.tensor_type_;
11884     _impl_.value_.tensor_type_ = nullptr;
11885     return temp;
11886   } else {
11887     return nullptr;
11888   }
11889 }
11890 inline void TypeProto::unsafe_arena_set_allocated_tensor_type(::onnx::TypeProto_Tensor* value) {
11891   // We rely on the oneof clear method to free the earlier contents
11892   // of this oneof. We can directly use the pointer we're given to
11893   // set the new value.
11894   clear_value();
11895   if (value) {
11896     set_has_tensor_type();
11897     _impl_.value_.tensor_type_ = value;
11898   }
11899   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.tensor_type)
11900 }
11901 inline ::onnx::TypeProto_Tensor* TypeProto::_internal_mutable_tensor_type() {
11902   if (value_case() != kTensorType) {
11903     clear_value();
11904     set_has_tensor_type();
11905     _impl_.value_.tensor_type_ =
11906         ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto_Tensor>(GetArena());
11907   }
11908   return _impl_.value_.tensor_type_;
11909 }
11910 inline ::onnx::TypeProto_Tensor* TypeProto::mutable_tensor_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11911   ::onnx::TypeProto_Tensor* _msg = _internal_mutable_tensor_type();
11912   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.tensor_type)
11913   return _msg;
11914 }
11915 
11916 // .onnx.TypeProto.Sequence sequence_type = 4;
11917 inline bool TypeProto::has_sequence_type() const {
11918   return value_case() == kSequenceType;
11919 }
11920 inline bool TypeProto::_internal_has_sequence_type() const {
11921   return value_case() == kSequenceType;
11922 }
11923 inline void TypeProto::set_has_sequence_type() {
11924   _impl_._oneof_case_[0] = kSequenceType;
11925 }
11926 inline void TypeProto::clear_sequence_type() {
11927   ::google::protobuf::internal::TSanWrite(&_impl_);
11928   if (value_case() == kSequenceType) {
11929     if (GetArena() == nullptr) {
11930       delete _impl_.value_.sequence_type_;
11931     } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11932       ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.sequence_type_);
11933     }
11934     clear_has_value();
11935   }
11936 }
11937 inline ::onnx::TypeProto_Sequence* TypeProto::release_sequence_type() {
11938   // @@protoc_insertion_point(field_release:onnx.TypeProto.sequence_type)
11939   if (value_case() == kSequenceType) {
11940     clear_has_value();
11941     auto* temp = _impl_.value_.sequence_type_;
11942     if (GetArena() != nullptr) {
11943       temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11944     }
11945     _impl_.value_.sequence_type_ = nullptr;
11946     return temp;
11947   } else {
11948     return nullptr;
11949   }
11950 }
11951 inline const ::onnx::TypeProto_Sequence& TypeProto::_internal_sequence_type() const {
11952   return value_case() == kSequenceType ? *_impl_.value_.sequence_type_ : reinterpret_cast<::onnx::TypeProto_Sequence&>(::onnx::_TypeProto_Sequence_default_instance_);
11953 }
11954 inline const ::onnx::TypeProto_Sequence& TypeProto::sequence_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11955   // @@protoc_insertion_point(field_get:onnx.TypeProto.sequence_type)
11956   return _internal_sequence_type();
11957 }
11958 inline ::onnx::TypeProto_Sequence* TypeProto::unsafe_arena_release_sequence_type() {
11959   // @@protoc_insertion_point(field_unsafe_arena_release:onnx.TypeProto.sequence_type)
11960   if (value_case() == kSequenceType) {
11961     clear_has_value();
11962     auto* temp = _impl_.value_.sequence_type_;
11963     _impl_.value_.sequence_type_ = nullptr;
11964     return temp;
11965   } else {
11966     return nullptr;
11967   }
11968 }
11969 inline void TypeProto::unsafe_arena_set_allocated_sequence_type(::onnx::TypeProto_Sequence* value) {
11970   // We rely on the oneof clear method to free the earlier contents
11971   // of this oneof. We can directly use the pointer we're given to
11972   // set the new value.
11973   clear_value();
11974   if (value) {
11975     set_has_sequence_type();
11976     _impl_.value_.sequence_type_ = value;
11977   }
11978   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.sequence_type)
11979 }
11980 inline ::onnx::TypeProto_Sequence* TypeProto::_internal_mutable_sequence_type() {
11981   if (value_case() != kSequenceType) {
11982     clear_value();
11983     set_has_sequence_type();
11984     _impl_.value_.sequence_type_ =
11985         ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto_Sequence>(GetArena());
11986   }
11987   return _impl_.value_.sequence_type_;
11988 }
11989 inline ::onnx::TypeProto_Sequence* TypeProto::mutable_sequence_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11990   ::onnx::TypeProto_Sequence* _msg = _internal_mutable_sequence_type();
11991   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.sequence_type)
11992   return _msg;
11993 }
11994 
11995 // .onnx.TypeProto.Map map_type = 5;
11996 inline bool TypeProto::has_map_type() const {
11997   return value_case() == kMapType;
11998 }
11999 inline bool TypeProto::_internal_has_map_type() const {
12000   return value_case() == kMapType;
12001 }
12002 inline void TypeProto::set_has_map_type() {
12003   _impl_._oneof_case_[0] = kMapType;
12004 }
12005 inline void TypeProto::clear_map_type() {
12006   ::google::protobuf::internal::TSanWrite(&_impl_);
12007   if (value_case() == kMapType) {
12008     if (GetArena() == nullptr) {
12009       delete _impl_.value_.map_type_;
12010     } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12011       ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.map_type_);
12012     }
12013     clear_has_value();
12014   }
12015 }
12016 inline ::onnx::TypeProto_Map* TypeProto::release_map_type() {
12017   // @@protoc_insertion_point(field_release:onnx.TypeProto.map_type)
12018   if (value_case() == kMapType) {
12019     clear_has_value();
12020     auto* temp = _impl_.value_.map_type_;
12021     if (GetArena() != nullptr) {
12022       temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12023     }
12024     _impl_.value_.map_type_ = nullptr;
12025     return temp;
12026   } else {
12027     return nullptr;
12028   }
12029 }
12030 inline const ::onnx::TypeProto_Map& TypeProto::_internal_map_type() const {
12031   return value_case() == kMapType ? *_impl_.value_.map_type_ : reinterpret_cast<::onnx::TypeProto_Map&>(::onnx::_TypeProto_Map_default_instance_);
12032 }
12033 inline const ::onnx::TypeProto_Map& TypeProto::map_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12034   // @@protoc_insertion_point(field_get:onnx.TypeProto.map_type)
12035   return _internal_map_type();
12036 }
12037 inline ::onnx::TypeProto_Map* TypeProto::unsafe_arena_release_map_type() {
12038   // @@protoc_insertion_point(field_unsafe_arena_release:onnx.TypeProto.map_type)
12039   if (value_case() == kMapType) {
12040     clear_has_value();
12041     auto* temp = _impl_.value_.map_type_;
12042     _impl_.value_.map_type_ = nullptr;
12043     return temp;
12044   } else {
12045     return nullptr;
12046   }
12047 }
12048 inline void TypeProto::unsafe_arena_set_allocated_map_type(::onnx::TypeProto_Map* value) {
12049   // We rely on the oneof clear method to free the earlier contents
12050   // of this oneof. We can directly use the pointer we're given to
12051   // set the new value.
12052   clear_value();
12053   if (value) {
12054     set_has_map_type();
12055     _impl_.value_.map_type_ = value;
12056   }
12057   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.map_type)
12058 }
12059 inline ::onnx::TypeProto_Map* TypeProto::_internal_mutable_map_type() {
12060   if (value_case() != kMapType) {
12061     clear_value();
12062     set_has_map_type();
12063     _impl_.value_.map_type_ =
12064         ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto_Map>(GetArena());
12065   }
12066   return _impl_.value_.map_type_;
12067 }
12068 inline ::onnx::TypeProto_Map* TypeProto::mutable_map_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12069   ::onnx::TypeProto_Map* _msg = _internal_mutable_map_type();
12070   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.map_type)
12071   return _msg;
12072 }
12073 
12074 // .onnx.TypeProto.Optional optional_type = 9;
12075 inline bool TypeProto::has_optional_type() const {
12076   return value_case() == kOptionalType;
12077 }
12078 inline bool TypeProto::_internal_has_optional_type() const {
12079   return value_case() == kOptionalType;
12080 }
12081 inline void TypeProto::set_has_optional_type() {
12082   _impl_._oneof_case_[0] = kOptionalType;
12083 }
12084 inline void TypeProto::clear_optional_type() {
12085   ::google::protobuf::internal::TSanWrite(&_impl_);
12086   if (value_case() == kOptionalType) {
12087     if (GetArena() == nullptr) {
12088       delete _impl_.value_.optional_type_;
12089     } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12090       ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.optional_type_);
12091     }
12092     clear_has_value();
12093   }
12094 }
12095 inline ::onnx::TypeProto_Optional* TypeProto::release_optional_type() {
12096   // @@protoc_insertion_point(field_release:onnx.TypeProto.optional_type)
12097   if (value_case() == kOptionalType) {
12098     clear_has_value();
12099     auto* temp = _impl_.value_.optional_type_;
12100     if (GetArena() != nullptr) {
12101       temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12102     }
12103     _impl_.value_.optional_type_ = nullptr;
12104     return temp;
12105   } else {
12106     return nullptr;
12107   }
12108 }
12109 inline const ::onnx::TypeProto_Optional& TypeProto::_internal_optional_type() const {
12110   return value_case() == kOptionalType ? *_impl_.value_.optional_type_ : reinterpret_cast<::onnx::TypeProto_Optional&>(::onnx::_TypeProto_Optional_default_instance_);
12111 }
12112 inline const ::onnx::TypeProto_Optional& TypeProto::optional_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12113   // @@protoc_insertion_point(field_get:onnx.TypeProto.optional_type)
12114   return _internal_optional_type();
12115 }
12116 inline ::onnx::TypeProto_Optional* TypeProto::unsafe_arena_release_optional_type() {
12117   // @@protoc_insertion_point(field_unsafe_arena_release:onnx.TypeProto.optional_type)
12118   if (value_case() == kOptionalType) {
12119     clear_has_value();
12120     auto* temp = _impl_.value_.optional_type_;
12121     _impl_.value_.optional_type_ = nullptr;
12122     return temp;
12123   } else {
12124     return nullptr;
12125   }
12126 }
12127 inline void TypeProto::unsafe_arena_set_allocated_optional_type(::onnx::TypeProto_Optional* value) {
12128   // We rely on the oneof clear method to free the earlier contents
12129   // of this oneof. We can directly use the pointer we're given to
12130   // set the new value.
12131   clear_value();
12132   if (value) {
12133     set_has_optional_type();
12134     _impl_.value_.optional_type_ = value;
12135   }
12136   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.optional_type)
12137 }
12138 inline ::onnx::TypeProto_Optional* TypeProto::_internal_mutable_optional_type() {
12139   if (value_case() != kOptionalType) {
12140     clear_value();
12141     set_has_optional_type();
12142     _impl_.value_.optional_type_ =
12143         ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto_Optional>(GetArena());
12144   }
12145   return _impl_.value_.optional_type_;
12146 }
12147 inline ::onnx::TypeProto_Optional* TypeProto::mutable_optional_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12148   ::onnx::TypeProto_Optional* _msg = _internal_mutable_optional_type();
12149   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.optional_type)
12150   return _msg;
12151 }
12152 
12153 // .onnx.TypeProto.SparseTensor sparse_tensor_type = 8;
12154 inline bool TypeProto::has_sparse_tensor_type() const {
12155   return value_case() == kSparseTensorType;
12156 }
12157 inline bool TypeProto::_internal_has_sparse_tensor_type() const {
12158   return value_case() == kSparseTensorType;
12159 }
12160 inline void TypeProto::set_has_sparse_tensor_type() {
12161   _impl_._oneof_case_[0] = kSparseTensorType;
12162 }
12163 inline void TypeProto::clear_sparse_tensor_type() {
12164   ::google::protobuf::internal::TSanWrite(&_impl_);
12165   if (value_case() == kSparseTensorType) {
12166     if (GetArena() == nullptr) {
12167       delete _impl_.value_.sparse_tensor_type_;
12168     } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12169       ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.sparse_tensor_type_);
12170     }
12171     clear_has_value();
12172   }
12173 }
12174 inline ::onnx::TypeProto_SparseTensor* TypeProto::release_sparse_tensor_type() {
12175   // @@protoc_insertion_point(field_release:onnx.TypeProto.sparse_tensor_type)
12176   if (value_case() == kSparseTensorType) {
12177     clear_has_value();
12178     auto* temp = _impl_.value_.sparse_tensor_type_;
12179     if (GetArena() != nullptr) {
12180       temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12181     }
12182     _impl_.value_.sparse_tensor_type_ = nullptr;
12183     return temp;
12184   } else {
12185     return nullptr;
12186   }
12187 }
12188 inline const ::onnx::TypeProto_SparseTensor& TypeProto::_internal_sparse_tensor_type() const {
12189   return value_case() == kSparseTensorType ? *_impl_.value_.sparse_tensor_type_ : reinterpret_cast<::onnx::TypeProto_SparseTensor&>(::onnx::_TypeProto_SparseTensor_default_instance_);
12190 }
12191 inline const ::onnx::TypeProto_SparseTensor& TypeProto::sparse_tensor_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12192   // @@protoc_insertion_point(field_get:onnx.TypeProto.sparse_tensor_type)
12193   return _internal_sparse_tensor_type();
12194 }
12195 inline ::onnx::TypeProto_SparseTensor* TypeProto::unsafe_arena_release_sparse_tensor_type() {
12196   // @@protoc_insertion_point(field_unsafe_arena_release:onnx.TypeProto.sparse_tensor_type)
12197   if (value_case() == kSparseTensorType) {
12198     clear_has_value();
12199     auto* temp = _impl_.value_.sparse_tensor_type_;
12200     _impl_.value_.sparse_tensor_type_ = nullptr;
12201     return temp;
12202   } else {
12203     return nullptr;
12204   }
12205 }
12206 inline void TypeProto::unsafe_arena_set_allocated_sparse_tensor_type(::onnx::TypeProto_SparseTensor* value) {
12207   // We rely on the oneof clear method to free the earlier contents
12208   // of this oneof. We can directly use the pointer we're given to
12209   // set the new value.
12210   clear_value();
12211   if (value) {
12212     set_has_sparse_tensor_type();
12213     _impl_.value_.sparse_tensor_type_ = value;
12214   }
12215   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.sparse_tensor_type)
12216 }
12217 inline ::onnx::TypeProto_SparseTensor* TypeProto::_internal_mutable_sparse_tensor_type() {
12218   if (value_case() != kSparseTensorType) {
12219     clear_value();
12220     set_has_sparse_tensor_type();
12221     _impl_.value_.sparse_tensor_type_ =
12222         ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto_SparseTensor>(GetArena());
12223   }
12224   return _impl_.value_.sparse_tensor_type_;
12225 }
12226 inline ::onnx::TypeProto_SparseTensor* TypeProto::mutable_sparse_tensor_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12227   ::onnx::TypeProto_SparseTensor* _msg = _internal_mutable_sparse_tensor_type();
12228   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.sparse_tensor_type)
12229   return _msg;
12230 }
12231 
12232 // .onnx.TypeProto.Opaque opaque_type = 7;
12233 inline bool TypeProto::has_opaque_type() const {
12234   return value_case() == kOpaqueType;
12235 }
12236 inline bool TypeProto::_internal_has_opaque_type() const {
12237   return value_case() == kOpaqueType;
12238 }
12239 inline void TypeProto::set_has_opaque_type() {
12240   _impl_._oneof_case_[0] = kOpaqueType;
12241 }
12242 inline void TypeProto::clear_opaque_type() {
12243   ::google::protobuf::internal::TSanWrite(&_impl_);
12244   if (value_case() == kOpaqueType) {
12245     if (GetArena() == nullptr) {
12246       delete _impl_.value_.opaque_type_;
12247     } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12248       ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.opaque_type_);
12249     }
12250     clear_has_value();
12251   }
12252 }
12253 inline ::onnx::TypeProto_Opaque* TypeProto::release_opaque_type() {
12254   // @@protoc_insertion_point(field_release:onnx.TypeProto.opaque_type)
12255   if (value_case() == kOpaqueType) {
12256     clear_has_value();
12257     auto* temp = _impl_.value_.opaque_type_;
12258     if (GetArena() != nullptr) {
12259       temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12260     }
12261     _impl_.value_.opaque_type_ = nullptr;
12262     return temp;
12263   } else {
12264     return nullptr;
12265   }
12266 }
12267 inline const ::onnx::TypeProto_Opaque& TypeProto::_internal_opaque_type() const {
12268   return value_case() == kOpaqueType ? *_impl_.value_.opaque_type_ : reinterpret_cast<::onnx::TypeProto_Opaque&>(::onnx::_TypeProto_Opaque_default_instance_);
12269 }
12270 inline const ::onnx::TypeProto_Opaque& TypeProto::opaque_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12271   // @@protoc_insertion_point(field_get:onnx.TypeProto.opaque_type)
12272   return _internal_opaque_type();
12273 }
12274 inline ::onnx::TypeProto_Opaque* TypeProto::unsafe_arena_release_opaque_type() {
12275   // @@protoc_insertion_point(field_unsafe_arena_release:onnx.TypeProto.opaque_type)
12276   if (value_case() == kOpaqueType) {
12277     clear_has_value();
12278     auto* temp = _impl_.value_.opaque_type_;
12279     _impl_.value_.opaque_type_ = nullptr;
12280     return temp;
12281   } else {
12282     return nullptr;
12283   }
12284 }
12285 inline void TypeProto::unsafe_arena_set_allocated_opaque_type(::onnx::TypeProto_Opaque* value) {
12286   // We rely on the oneof clear method to free the earlier contents
12287   // of this oneof. We can directly use the pointer we're given to
12288   // set the new value.
12289   clear_value();
12290   if (value) {
12291     set_has_opaque_type();
12292     _impl_.value_.opaque_type_ = value;
12293   }
12294   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:onnx.TypeProto.opaque_type)
12295 }
12296 inline ::onnx::TypeProto_Opaque* TypeProto::_internal_mutable_opaque_type() {
12297   if (value_case() != kOpaqueType) {
12298     clear_value();
12299     set_has_opaque_type();
12300     _impl_.value_.opaque_type_ =
12301         ::google::protobuf::Message::DefaultConstruct<::onnx::TypeProto_Opaque>(GetArena());
12302   }
12303   return _impl_.value_.opaque_type_;
12304 }
12305 inline ::onnx::TypeProto_Opaque* TypeProto::mutable_opaque_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12306   ::onnx::TypeProto_Opaque* _msg = _internal_mutable_opaque_type();
12307   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.opaque_type)
12308   return _msg;
12309 }
12310 
12311 // optional string denotation = 6;
12312 inline bool TypeProto::has_denotation() const {
12313   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
12314   return value;
12315 }
12316 inline void TypeProto::clear_denotation() {
12317   ::google::protobuf::internal::TSanWrite(&_impl_);
12318   _impl_.denotation_.ClearToEmpty();
12319   _impl_._has_bits_[0] &= ~0x00000001u;
12320 }
12321 inline const std::string& TypeProto::denotation() const
12322     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12323   // @@protoc_insertion_point(field_get:onnx.TypeProto.denotation)
12324   return _internal_denotation();
12325 }
12326 template <typename Arg_, typename... Args_>
12327 inline PROTOBUF_ALWAYS_INLINE void TypeProto::set_denotation(Arg_&& arg,
12328                                                      Args_... args) {
12329   ::google::protobuf::internal::TSanWrite(&_impl_);
12330   _impl_._has_bits_[0] |= 0x00000001u;
12331   _impl_.denotation_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12332   // @@protoc_insertion_point(field_set:onnx.TypeProto.denotation)
12333 }
12334 inline std::string* TypeProto::mutable_denotation() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12335   std::string* _s = _internal_mutable_denotation();
12336   // @@protoc_insertion_point(field_mutable:onnx.TypeProto.denotation)
12337   return _s;
12338 }
12339 inline const std::string& TypeProto::_internal_denotation() const {
12340   ::google::protobuf::internal::TSanRead(&_impl_);
12341   return _impl_.denotation_.Get();
12342 }
12343 inline void TypeProto::_internal_set_denotation(const std::string& value) {
12344   ::google::protobuf::internal::TSanWrite(&_impl_);
12345   _impl_._has_bits_[0] |= 0x00000001u;
12346   _impl_.denotation_.Set(value, GetArena());
12347 }
12348 inline std::string* TypeProto::_internal_mutable_denotation() {
12349   ::google::protobuf::internal::TSanWrite(&_impl_);
12350   _impl_._has_bits_[0] |= 0x00000001u;
12351   return _impl_.denotation_.Mutable( GetArena());
12352 }
12353 inline std::string* TypeProto::release_denotation() {
12354   ::google::protobuf::internal::TSanWrite(&_impl_);
12355   // @@protoc_insertion_point(field_release:onnx.TypeProto.denotation)
12356   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
12357     return nullptr;
12358   }
12359   _impl_._has_bits_[0] &= ~0x00000001u;
12360   auto* released = _impl_.denotation_.Release();
12361   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12362   _impl_.denotation_.Set("", GetArena());
12363   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12364   return released;
12365 }
12366 inline void TypeProto::set_allocated_denotation(std::string* value) {
12367   ::google::protobuf::internal::TSanWrite(&_impl_);
12368   if (value != nullptr) {
12369     _impl_._has_bits_[0] |= 0x00000001u;
12370   } else {
12371     _impl_._has_bits_[0] &= ~0x00000001u;
12372   }
12373   _impl_.denotation_.SetAllocated(value, GetArena());
12374   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12375         if (_impl_.denotation_.IsDefault()) {
12376           _impl_.denotation_.Set("", GetArena());
12377         }
12378   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12379   // @@protoc_insertion_point(field_set_allocated:onnx.TypeProto.denotation)
12380 }
12381 
12382 inline bool TypeProto::has_value() const {
12383   return value_case() != VALUE_NOT_SET;
12384 }
12385 inline void TypeProto::clear_has_value() {
12386   _impl_._oneof_case_[0] = VALUE_NOT_SET;
12387 }
12388 inline TypeProto::ValueCase TypeProto::value_case() const {
12389   return TypeProto::ValueCase(_impl_._oneof_case_[0]);
12390 }
12391 // -------------------------------------------------------------------
12392 
12393 // OperatorSetIdProto
12394 
12395 // optional string domain = 1;
12396 inline bool OperatorSetIdProto::has_domain() const {
12397   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
12398   return value;
12399 }
12400 inline void OperatorSetIdProto::clear_domain() {
12401   ::google::protobuf::internal::TSanWrite(&_impl_);
12402   _impl_.domain_.ClearToEmpty();
12403   _impl_._has_bits_[0] &= ~0x00000001u;
12404 }
12405 inline const std::string& OperatorSetIdProto::domain() const
12406     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12407   // @@protoc_insertion_point(field_get:onnx.OperatorSetIdProto.domain)
12408   return _internal_domain();
12409 }
12410 template <typename Arg_, typename... Args_>
12411 inline PROTOBUF_ALWAYS_INLINE void OperatorSetIdProto::set_domain(Arg_&& arg,
12412                                                      Args_... args) {
12413   ::google::protobuf::internal::TSanWrite(&_impl_);
12414   _impl_._has_bits_[0] |= 0x00000001u;
12415   _impl_.domain_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12416   // @@protoc_insertion_point(field_set:onnx.OperatorSetIdProto.domain)
12417 }
12418 inline std::string* OperatorSetIdProto::mutable_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12419   std::string* _s = _internal_mutable_domain();
12420   // @@protoc_insertion_point(field_mutable:onnx.OperatorSetIdProto.domain)
12421   return _s;
12422 }
12423 inline const std::string& OperatorSetIdProto::_internal_domain() const {
12424   ::google::protobuf::internal::TSanRead(&_impl_);
12425   return _impl_.domain_.Get();
12426 }
12427 inline void OperatorSetIdProto::_internal_set_domain(const std::string& value) {
12428   ::google::protobuf::internal::TSanWrite(&_impl_);
12429   _impl_._has_bits_[0] |= 0x00000001u;
12430   _impl_.domain_.Set(value, GetArena());
12431 }
12432 inline std::string* OperatorSetIdProto::_internal_mutable_domain() {
12433   ::google::protobuf::internal::TSanWrite(&_impl_);
12434   _impl_._has_bits_[0] |= 0x00000001u;
12435   return _impl_.domain_.Mutable( GetArena());
12436 }
12437 inline std::string* OperatorSetIdProto::release_domain() {
12438   ::google::protobuf::internal::TSanWrite(&_impl_);
12439   // @@protoc_insertion_point(field_release:onnx.OperatorSetIdProto.domain)
12440   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
12441     return nullptr;
12442   }
12443   _impl_._has_bits_[0] &= ~0x00000001u;
12444   auto* released = _impl_.domain_.Release();
12445   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12446   _impl_.domain_.Set("", GetArena());
12447   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12448   return released;
12449 }
12450 inline void OperatorSetIdProto::set_allocated_domain(std::string* value) {
12451   ::google::protobuf::internal::TSanWrite(&_impl_);
12452   if (value != nullptr) {
12453     _impl_._has_bits_[0] |= 0x00000001u;
12454   } else {
12455     _impl_._has_bits_[0] &= ~0x00000001u;
12456   }
12457   _impl_.domain_.SetAllocated(value, GetArena());
12458   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12459         if (_impl_.domain_.IsDefault()) {
12460           _impl_.domain_.Set("", GetArena());
12461         }
12462   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12463   // @@protoc_insertion_point(field_set_allocated:onnx.OperatorSetIdProto.domain)
12464 }
12465 
12466 // optional int64 version = 2;
12467 inline bool OperatorSetIdProto::has_version() const {
12468   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
12469   return value;
12470 }
12471 inline void OperatorSetIdProto::clear_version() {
12472   ::google::protobuf::internal::TSanWrite(&_impl_);
12473   _impl_.version_ = ::int64_t{0};
12474   _impl_._has_bits_[0] &= ~0x00000002u;
12475 }
12476 inline ::int64_t OperatorSetIdProto::version() const {
12477   // @@protoc_insertion_point(field_get:onnx.OperatorSetIdProto.version)
12478   return _internal_version();
12479 }
12480 inline void OperatorSetIdProto::set_version(::int64_t value) {
12481   _internal_set_version(value);
12482   _impl_._has_bits_[0] |= 0x00000002u;
12483   // @@protoc_insertion_point(field_set:onnx.OperatorSetIdProto.version)
12484 }
12485 inline ::int64_t OperatorSetIdProto::_internal_version() const {
12486   ::google::protobuf::internal::TSanRead(&_impl_);
12487   return _impl_.version_;
12488 }
12489 inline void OperatorSetIdProto::_internal_set_version(::int64_t value) {
12490   ::google::protobuf::internal::TSanWrite(&_impl_);
12491   _impl_.version_ = value;
12492 }
12493 
12494 // -------------------------------------------------------------------
12495 
12496 // FunctionProto
12497 
12498 // optional string name = 1;
12499 inline bool FunctionProto::has_name() const {
12500   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
12501   return value;
12502 }
12503 inline void FunctionProto::clear_name() {
12504   ::google::protobuf::internal::TSanWrite(&_impl_);
12505   _impl_.name_.ClearToEmpty();
12506   _impl_._has_bits_[0] &= ~0x00000001u;
12507 }
12508 inline const std::string& FunctionProto::name() const
12509     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12510   // @@protoc_insertion_point(field_get:onnx.FunctionProto.name)
12511   return _internal_name();
12512 }
12513 template <typename Arg_, typename... Args_>
12514 inline PROTOBUF_ALWAYS_INLINE void FunctionProto::set_name(Arg_&& arg,
12515                                                      Args_... args) {
12516   ::google::protobuf::internal::TSanWrite(&_impl_);
12517   _impl_._has_bits_[0] |= 0x00000001u;
12518   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12519   // @@protoc_insertion_point(field_set:onnx.FunctionProto.name)
12520 }
12521 inline std::string* FunctionProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12522   std::string* _s = _internal_mutable_name();
12523   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.name)
12524   return _s;
12525 }
12526 inline const std::string& FunctionProto::_internal_name() const {
12527   ::google::protobuf::internal::TSanRead(&_impl_);
12528   return _impl_.name_.Get();
12529 }
12530 inline void FunctionProto::_internal_set_name(const std::string& value) {
12531   ::google::protobuf::internal::TSanWrite(&_impl_);
12532   _impl_._has_bits_[0] |= 0x00000001u;
12533   _impl_.name_.Set(value, GetArena());
12534 }
12535 inline std::string* FunctionProto::_internal_mutable_name() {
12536   ::google::protobuf::internal::TSanWrite(&_impl_);
12537   _impl_._has_bits_[0] |= 0x00000001u;
12538   return _impl_.name_.Mutable( GetArena());
12539 }
12540 inline std::string* FunctionProto::release_name() {
12541   ::google::protobuf::internal::TSanWrite(&_impl_);
12542   // @@protoc_insertion_point(field_release:onnx.FunctionProto.name)
12543   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
12544     return nullptr;
12545   }
12546   _impl_._has_bits_[0] &= ~0x00000001u;
12547   auto* released = _impl_.name_.Release();
12548   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12549   _impl_.name_.Set("", GetArena());
12550   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12551   return released;
12552 }
12553 inline void FunctionProto::set_allocated_name(std::string* value) {
12554   ::google::protobuf::internal::TSanWrite(&_impl_);
12555   if (value != nullptr) {
12556     _impl_._has_bits_[0] |= 0x00000001u;
12557   } else {
12558     _impl_._has_bits_[0] &= ~0x00000001u;
12559   }
12560   _impl_.name_.SetAllocated(value, GetArena());
12561   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12562         if (_impl_.name_.IsDefault()) {
12563           _impl_.name_.Set("", GetArena());
12564         }
12565   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12566   // @@protoc_insertion_point(field_set_allocated:onnx.FunctionProto.name)
12567 }
12568 
12569 // repeated string input = 4;
12570 inline int FunctionProto::_internal_input_size() const {
12571   return _internal_input().size();
12572 }
12573 inline int FunctionProto::input_size() const {
12574   return _internal_input_size();
12575 }
12576 inline void FunctionProto::clear_input() {
12577   ::google::protobuf::internal::TSanWrite(&_impl_);
12578   _impl_.input_.Clear();
12579 }
12580 inline std::string* FunctionProto::add_input() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12581   ::google::protobuf::internal::TSanWrite(&_impl_);
12582   std::string* _s = _internal_mutable_input()->Add();
12583   // @@protoc_insertion_point(field_add_mutable:onnx.FunctionProto.input)
12584   return _s;
12585 }
12586 inline const std::string& FunctionProto::input(int index) const
12587     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12588   // @@protoc_insertion_point(field_get:onnx.FunctionProto.input)
12589   return _internal_input().Get(index);
12590 }
12591 inline std::string* FunctionProto::mutable_input(int index)
12592     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12593   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.input)
12594   return _internal_mutable_input()->Mutable(index);
12595 }
12596 template <typename Arg_, typename... Args_>
12597 inline void FunctionProto::set_input(int index, Arg_&& value, Args_... args) {
12598   ::google::protobuf::internal::AssignToString(
12599       *_internal_mutable_input()->Mutable(index),
12600       std::forward<Arg_>(value), args... );
12601   // @@protoc_insertion_point(field_set:onnx.FunctionProto.input)
12602 }
12603 template <typename Arg_, typename... Args_>
12604 inline void FunctionProto::add_input(Arg_&& value, Args_... args) {
12605   ::google::protobuf::internal::TSanWrite(&_impl_);
12606   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_input(),
12607                                std::forward<Arg_>(value),
12608                                args... );
12609   // @@protoc_insertion_point(field_add:onnx.FunctionProto.input)
12610 }
12611 inline const ::google::protobuf::RepeatedPtrField<std::string>&
12612 FunctionProto::input() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12613   // @@protoc_insertion_point(field_list:onnx.FunctionProto.input)
12614   return _internal_input();
12615 }
12616 inline ::google::protobuf::RepeatedPtrField<std::string>*
12617 FunctionProto::mutable_input() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12618   // @@protoc_insertion_point(field_mutable_list:onnx.FunctionProto.input)
12619   ::google::protobuf::internal::TSanWrite(&_impl_);
12620   return _internal_mutable_input();
12621 }
12622 inline const ::google::protobuf::RepeatedPtrField<std::string>&
12623 FunctionProto::_internal_input() const {
12624   ::google::protobuf::internal::TSanRead(&_impl_);
12625   return _impl_.input_;
12626 }
12627 inline ::google::protobuf::RepeatedPtrField<std::string>*
12628 FunctionProto::_internal_mutable_input() {
12629   ::google::protobuf::internal::TSanRead(&_impl_);
12630   return &_impl_.input_;
12631 }
12632 
12633 // repeated string output = 5;
12634 inline int FunctionProto::_internal_output_size() const {
12635   return _internal_output().size();
12636 }
12637 inline int FunctionProto::output_size() const {
12638   return _internal_output_size();
12639 }
12640 inline void FunctionProto::clear_output() {
12641   ::google::protobuf::internal::TSanWrite(&_impl_);
12642   _impl_.output_.Clear();
12643 }
12644 inline std::string* FunctionProto::add_output() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12645   ::google::protobuf::internal::TSanWrite(&_impl_);
12646   std::string* _s = _internal_mutable_output()->Add();
12647   // @@protoc_insertion_point(field_add_mutable:onnx.FunctionProto.output)
12648   return _s;
12649 }
12650 inline const std::string& FunctionProto::output(int index) const
12651     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12652   // @@protoc_insertion_point(field_get:onnx.FunctionProto.output)
12653   return _internal_output().Get(index);
12654 }
12655 inline std::string* FunctionProto::mutable_output(int index)
12656     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12657   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.output)
12658   return _internal_mutable_output()->Mutable(index);
12659 }
12660 template <typename Arg_, typename... Args_>
12661 inline void FunctionProto::set_output(int index, Arg_&& value, Args_... args) {
12662   ::google::protobuf::internal::AssignToString(
12663       *_internal_mutable_output()->Mutable(index),
12664       std::forward<Arg_>(value), args... );
12665   // @@protoc_insertion_point(field_set:onnx.FunctionProto.output)
12666 }
12667 template <typename Arg_, typename... Args_>
12668 inline void FunctionProto::add_output(Arg_&& value, Args_... args) {
12669   ::google::protobuf::internal::TSanWrite(&_impl_);
12670   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_output(),
12671                                std::forward<Arg_>(value),
12672                                args... );
12673   // @@protoc_insertion_point(field_add:onnx.FunctionProto.output)
12674 }
12675 inline const ::google::protobuf::RepeatedPtrField<std::string>&
12676 FunctionProto::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12677   // @@protoc_insertion_point(field_list:onnx.FunctionProto.output)
12678   return _internal_output();
12679 }
12680 inline ::google::protobuf::RepeatedPtrField<std::string>*
12681 FunctionProto::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12682   // @@protoc_insertion_point(field_mutable_list:onnx.FunctionProto.output)
12683   ::google::protobuf::internal::TSanWrite(&_impl_);
12684   return _internal_mutable_output();
12685 }
12686 inline const ::google::protobuf::RepeatedPtrField<std::string>&
12687 FunctionProto::_internal_output() const {
12688   ::google::protobuf::internal::TSanRead(&_impl_);
12689   return _impl_.output_;
12690 }
12691 inline ::google::protobuf::RepeatedPtrField<std::string>*
12692 FunctionProto::_internal_mutable_output() {
12693   ::google::protobuf::internal::TSanRead(&_impl_);
12694   return &_impl_.output_;
12695 }
12696 
12697 // repeated string attribute = 6;
12698 inline int FunctionProto::_internal_attribute_size() const {
12699   return _internal_attribute().size();
12700 }
12701 inline int FunctionProto::attribute_size() const {
12702   return _internal_attribute_size();
12703 }
12704 inline void FunctionProto::clear_attribute() {
12705   ::google::protobuf::internal::TSanWrite(&_impl_);
12706   _impl_.attribute_.Clear();
12707 }
12708 inline std::string* FunctionProto::add_attribute() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12709   ::google::protobuf::internal::TSanWrite(&_impl_);
12710   std::string* _s = _internal_mutable_attribute()->Add();
12711   // @@protoc_insertion_point(field_add_mutable:onnx.FunctionProto.attribute)
12712   return _s;
12713 }
12714 inline const std::string& FunctionProto::attribute(int index) const
12715     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12716   // @@protoc_insertion_point(field_get:onnx.FunctionProto.attribute)
12717   return _internal_attribute().Get(index);
12718 }
12719 inline std::string* FunctionProto::mutable_attribute(int index)
12720     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12721   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.attribute)
12722   return _internal_mutable_attribute()->Mutable(index);
12723 }
12724 template <typename Arg_, typename... Args_>
12725 inline void FunctionProto::set_attribute(int index, Arg_&& value, Args_... args) {
12726   ::google::protobuf::internal::AssignToString(
12727       *_internal_mutable_attribute()->Mutable(index),
12728       std::forward<Arg_>(value), args... );
12729   // @@protoc_insertion_point(field_set:onnx.FunctionProto.attribute)
12730 }
12731 template <typename Arg_, typename... Args_>
12732 inline void FunctionProto::add_attribute(Arg_&& value, Args_... args) {
12733   ::google::protobuf::internal::TSanWrite(&_impl_);
12734   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_attribute(),
12735                                std::forward<Arg_>(value),
12736                                args... );
12737   // @@protoc_insertion_point(field_add:onnx.FunctionProto.attribute)
12738 }
12739 inline const ::google::protobuf::RepeatedPtrField<std::string>&
12740 FunctionProto::attribute() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12741   // @@protoc_insertion_point(field_list:onnx.FunctionProto.attribute)
12742   return _internal_attribute();
12743 }
12744 inline ::google::protobuf::RepeatedPtrField<std::string>*
12745 FunctionProto::mutable_attribute() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12746   // @@protoc_insertion_point(field_mutable_list:onnx.FunctionProto.attribute)
12747   ::google::protobuf::internal::TSanWrite(&_impl_);
12748   return _internal_mutable_attribute();
12749 }
12750 inline const ::google::protobuf::RepeatedPtrField<std::string>&
12751 FunctionProto::_internal_attribute() const {
12752   ::google::protobuf::internal::TSanRead(&_impl_);
12753   return _impl_.attribute_;
12754 }
12755 inline ::google::protobuf::RepeatedPtrField<std::string>*
12756 FunctionProto::_internal_mutable_attribute() {
12757   ::google::protobuf::internal::TSanRead(&_impl_);
12758   return &_impl_.attribute_;
12759 }
12760 
12761 // repeated .onnx.AttributeProto attribute_proto = 11;
12762 inline int FunctionProto::_internal_attribute_proto_size() const {
12763   return _internal_attribute_proto().size();
12764 }
12765 inline int FunctionProto::attribute_proto_size() const {
12766   return _internal_attribute_proto_size();
12767 }
12768 inline void FunctionProto::clear_attribute_proto() {
12769   ::google::protobuf::internal::TSanWrite(&_impl_);
12770   _impl_.attribute_proto_.Clear();
12771 }
12772 inline ::onnx::AttributeProto* FunctionProto::mutable_attribute_proto(int index)
12773     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12774   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.attribute_proto)
12775   return _internal_mutable_attribute_proto()->Mutable(index);
12776 }
12777 inline ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>* FunctionProto::mutable_attribute_proto()
12778     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12779   // @@protoc_insertion_point(field_mutable_list:onnx.FunctionProto.attribute_proto)
12780   ::google::protobuf::internal::TSanWrite(&_impl_);
12781   return _internal_mutable_attribute_proto();
12782 }
12783 inline const ::onnx::AttributeProto& FunctionProto::attribute_proto(int index) const
12784     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12785   // @@protoc_insertion_point(field_get:onnx.FunctionProto.attribute_proto)
12786   return _internal_attribute_proto().Get(index);
12787 }
12788 inline ::onnx::AttributeProto* FunctionProto::add_attribute_proto() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12789   ::google::protobuf::internal::TSanWrite(&_impl_);
12790   ::onnx::AttributeProto* _add = _internal_mutable_attribute_proto()->Add();
12791   // @@protoc_insertion_point(field_add:onnx.FunctionProto.attribute_proto)
12792   return _add;
12793 }
12794 inline const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>& FunctionProto::attribute_proto() const
12795     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12796   // @@protoc_insertion_point(field_list:onnx.FunctionProto.attribute_proto)
12797   return _internal_attribute_proto();
12798 }
12799 inline const ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>&
12800 FunctionProto::_internal_attribute_proto() const {
12801   ::google::protobuf::internal::TSanRead(&_impl_);
12802   return _impl_.attribute_proto_;
12803 }
12804 inline ::google::protobuf::RepeatedPtrField<::onnx::AttributeProto>*
12805 FunctionProto::_internal_mutable_attribute_proto() {
12806   ::google::protobuf::internal::TSanRead(&_impl_);
12807   return &_impl_.attribute_proto_;
12808 }
12809 
12810 // repeated .onnx.NodeProto node = 7;
12811 inline int FunctionProto::_internal_node_size() const {
12812   return _internal_node().size();
12813 }
12814 inline int FunctionProto::node_size() const {
12815   return _internal_node_size();
12816 }
12817 inline void FunctionProto::clear_node() {
12818   ::google::protobuf::internal::TSanWrite(&_impl_);
12819   _impl_.node_.Clear();
12820 }
12821 inline ::onnx::NodeProto* FunctionProto::mutable_node(int index)
12822     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12823   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.node)
12824   return _internal_mutable_node()->Mutable(index);
12825 }
12826 inline ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>* FunctionProto::mutable_node()
12827     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12828   // @@protoc_insertion_point(field_mutable_list:onnx.FunctionProto.node)
12829   ::google::protobuf::internal::TSanWrite(&_impl_);
12830   return _internal_mutable_node();
12831 }
12832 inline const ::onnx::NodeProto& FunctionProto::node(int index) const
12833     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12834   // @@protoc_insertion_point(field_get:onnx.FunctionProto.node)
12835   return _internal_node().Get(index);
12836 }
12837 inline ::onnx::NodeProto* FunctionProto::add_node() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12838   ::google::protobuf::internal::TSanWrite(&_impl_);
12839   ::onnx::NodeProto* _add = _internal_mutable_node()->Add();
12840   // @@protoc_insertion_point(field_add:onnx.FunctionProto.node)
12841   return _add;
12842 }
12843 inline const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>& FunctionProto::node() const
12844     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12845   // @@protoc_insertion_point(field_list:onnx.FunctionProto.node)
12846   return _internal_node();
12847 }
12848 inline const ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>&
12849 FunctionProto::_internal_node() const {
12850   ::google::protobuf::internal::TSanRead(&_impl_);
12851   return _impl_.node_;
12852 }
12853 inline ::google::protobuf::RepeatedPtrField<::onnx::NodeProto>*
12854 FunctionProto::_internal_mutable_node() {
12855   ::google::protobuf::internal::TSanRead(&_impl_);
12856   return &_impl_.node_;
12857 }
12858 
12859 // optional string doc_string = 8;
12860 inline bool FunctionProto::has_doc_string() const {
12861   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
12862   return value;
12863 }
12864 inline void FunctionProto::clear_doc_string() {
12865   ::google::protobuf::internal::TSanWrite(&_impl_);
12866   _impl_.doc_string_.ClearToEmpty();
12867   _impl_._has_bits_[0] &= ~0x00000002u;
12868 }
12869 inline const std::string& FunctionProto::doc_string() const
12870     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12871   // @@protoc_insertion_point(field_get:onnx.FunctionProto.doc_string)
12872   return _internal_doc_string();
12873 }
12874 template <typename Arg_, typename... Args_>
12875 inline PROTOBUF_ALWAYS_INLINE void FunctionProto::set_doc_string(Arg_&& arg,
12876                                                      Args_... args) {
12877   ::google::protobuf::internal::TSanWrite(&_impl_);
12878   _impl_._has_bits_[0] |= 0x00000002u;
12879   _impl_.doc_string_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12880   // @@protoc_insertion_point(field_set:onnx.FunctionProto.doc_string)
12881 }
12882 inline std::string* FunctionProto::mutable_doc_string() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12883   std::string* _s = _internal_mutable_doc_string();
12884   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.doc_string)
12885   return _s;
12886 }
12887 inline const std::string& FunctionProto::_internal_doc_string() const {
12888   ::google::protobuf::internal::TSanRead(&_impl_);
12889   return _impl_.doc_string_.Get();
12890 }
12891 inline void FunctionProto::_internal_set_doc_string(const std::string& value) {
12892   ::google::protobuf::internal::TSanWrite(&_impl_);
12893   _impl_._has_bits_[0] |= 0x00000002u;
12894   _impl_.doc_string_.Set(value, GetArena());
12895 }
12896 inline std::string* FunctionProto::_internal_mutable_doc_string() {
12897   ::google::protobuf::internal::TSanWrite(&_impl_);
12898   _impl_._has_bits_[0] |= 0x00000002u;
12899   return _impl_.doc_string_.Mutable( GetArena());
12900 }
12901 inline std::string* FunctionProto::release_doc_string() {
12902   ::google::protobuf::internal::TSanWrite(&_impl_);
12903   // @@protoc_insertion_point(field_release:onnx.FunctionProto.doc_string)
12904   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
12905     return nullptr;
12906   }
12907   _impl_._has_bits_[0] &= ~0x00000002u;
12908   auto* released = _impl_.doc_string_.Release();
12909   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12910   _impl_.doc_string_.Set("", GetArena());
12911   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12912   return released;
12913 }
12914 inline void FunctionProto::set_allocated_doc_string(std::string* value) {
12915   ::google::protobuf::internal::TSanWrite(&_impl_);
12916   if (value != nullptr) {
12917     _impl_._has_bits_[0] |= 0x00000002u;
12918   } else {
12919     _impl_._has_bits_[0] &= ~0x00000002u;
12920   }
12921   _impl_.doc_string_.SetAllocated(value, GetArena());
12922   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12923         if (_impl_.doc_string_.IsDefault()) {
12924           _impl_.doc_string_.Set("", GetArena());
12925         }
12926   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12927   // @@protoc_insertion_point(field_set_allocated:onnx.FunctionProto.doc_string)
12928 }
12929 
12930 // repeated .onnx.OperatorSetIdProto opset_import = 9;
12931 inline int FunctionProto::_internal_opset_import_size() const {
12932   return _internal_opset_import().size();
12933 }
12934 inline int FunctionProto::opset_import_size() const {
12935   return _internal_opset_import_size();
12936 }
12937 inline void FunctionProto::clear_opset_import() {
12938   ::google::protobuf::internal::TSanWrite(&_impl_);
12939   _impl_.opset_import_.Clear();
12940 }
12941 inline ::onnx::OperatorSetIdProto* FunctionProto::mutable_opset_import(int index)
12942     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12943   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.opset_import)
12944   return _internal_mutable_opset_import()->Mutable(index);
12945 }
12946 inline ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>* FunctionProto::mutable_opset_import()
12947     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12948   // @@protoc_insertion_point(field_mutable_list:onnx.FunctionProto.opset_import)
12949   ::google::protobuf::internal::TSanWrite(&_impl_);
12950   return _internal_mutable_opset_import();
12951 }
12952 inline const ::onnx::OperatorSetIdProto& FunctionProto::opset_import(int index) const
12953     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12954   // @@protoc_insertion_point(field_get:onnx.FunctionProto.opset_import)
12955   return _internal_opset_import().Get(index);
12956 }
12957 inline ::onnx::OperatorSetIdProto* FunctionProto::add_opset_import() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12958   ::google::protobuf::internal::TSanWrite(&_impl_);
12959   ::onnx::OperatorSetIdProto* _add = _internal_mutable_opset_import()->Add();
12960   // @@protoc_insertion_point(field_add:onnx.FunctionProto.opset_import)
12961   return _add;
12962 }
12963 inline const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>& FunctionProto::opset_import() const
12964     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12965   // @@protoc_insertion_point(field_list:onnx.FunctionProto.opset_import)
12966   return _internal_opset_import();
12967 }
12968 inline const ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>&
12969 FunctionProto::_internal_opset_import() const {
12970   ::google::protobuf::internal::TSanRead(&_impl_);
12971   return _impl_.opset_import_;
12972 }
12973 inline ::google::protobuf::RepeatedPtrField<::onnx::OperatorSetIdProto>*
12974 FunctionProto::_internal_mutable_opset_import() {
12975   ::google::protobuf::internal::TSanRead(&_impl_);
12976   return &_impl_.opset_import_;
12977 }
12978 
12979 // optional string domain = 10;
12980 inline bool FunctionProto::has_domain() const {
12981   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
12982   return value;
12983 }
12984 inline void FunctionProto::clear_domain() {
12985   ::google::protobuf::internal::TSanWrite(&_impl_);
12986   _impl_.domain_.ClearToEmpty();
12987   _impl_._has_bits_[0] &= ~0x00000004u;
12988 }
12989 inline const std::string& FunctionProto::domain() const
12990     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12991   // @@protoc_insertion_point(field_get:onnx.FunctionProto.domain)
12992   return _internal_domain();
12993 }
12994 template <typename Arg_, typename... Args_>
12995 inline PROTOBUF_ALWAYS_INLINE void FunctionProto::set_domain(Arg_&& arg,
12996                                                      Args_... args) {
12997   ::google::protobuf::internal::TSanWrite(&_impl_);
12998   _impl_._has_bits_[0] |= 0x00000004u;
12999   _impl_.domain_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13000   // @@protoc_insertion_point(field_set:onnx.FunctionProto.domain)
13001 }
13002 inline std::string* FunctionProto::mutable_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13003   std::string* _s = _internal_mutable_domain();
13004   // @@protoc_insertion_point(field_mutable:onnx.FunctionProto.domain)
13005   return _s;
13006 }
13007 inline const std::string& FunctionProto::_internal_domain() const {
13008   ::google::protobuf::internal::TSanRead(&_impl_);
13009   return _impl_.domain_.Get();
13010 }
13011 inline void FunctionProto::_internal_set_domain(const std::string& value) {
13012   ::google::protobuf::internal::TSanWrite(&_impl_);
13013   _impl_._has_bits_[0] |= 0x00000004u;
13014   _impl_.domain_.Set(value, GetArena());
13015 }
13016 inline std::string* FunctionProto::_internal_mutable_domain() {
13017   ::google::protobuf::internal::TSanWrite(&_impl_);
13018   _impl_._has_bits_[0] |= 0x00000004u;
13019   return _impl_.domain_.Mutable( GetArena());
13020 }
13021 inline std::string* FunctionProto::release_domain() {
13022   ::google::protobuf::internal::TSanWrite(&_impl_);
13023   // @@protoc_insertion_point(field_release:onnx.FunctionProto.domain)
13024   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
13025     return nullptr;
13026   }
13027   _impl_._has_bits_[0] &= ~0x00000004u;
13028   auto* released = _impl_.domain_.Release();
13029   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13030   _impl_.domain_.Set("", GetArena());
13031   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13032   return released;
13033 }
13034 inline void FunctionProto::set_allocated_domain(std::string* value) {
13035   ::google::protobuf::internal::TSanWrite(&_impl_);
13036   if (value != nullptr) {
13037     _impl_._has_bits_[0] |= 0x00000004u;
13038   } else {
13039     _impl_._has_bits_[0] &= ~0x00000004u;
13040   }
13041   _impl_.domain_.SetAllocated(value, GetArena());
13042   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13043         if (_impl_.domain_.IsDefault()) {
13044           _impl_.domain_.Set("", GetArena());
13045         }
13046   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13047   // @@protoc_insertion_point(field_set_allocated:onnx.FunctionProto.domain)
13048 }
13049 
13050 #ifdef __GNUC__
13051 #pragma GCC diagnostic pop
13052 #endif  // __GNUC__
13053 
13054 // @@protoc_insertion_point(namespace_scope)
13055 }  // namespace onnx
13056 
13057 
13058 namespace google {
13059 namespace protobuf {
13060 
13061 template <>
13062 struct is_proto_enum<::onnx::AttributeProto_AttributeType> : std::true_type {};
13063 template <>
13064 inline const EnumDescriptor* GetEnumDescriptor<::onnx::AttributeProto_AttributeType>() {
13065   return ::onnx::AttributeProto_AttributeType_descriptor();
13066 }
13067 template <>
13068 struct is_proto_enum<::onnx::TensorProto_DataType> : std::true_type {};
13069 template <>
13070 inline const EnumDescriptor* GetEnumDescriptor<::onnx::TensorProto_DataType>() {
13071   return ::onnx::TensorProto_DataType_descriptor();
13072 }
13073 template <>
13074 struct is_proto_enum<::onnx::TensorProto_DataLocation> : std::true_type {};
13075 template <>
13076 inline const EnumDescriptor* GetEnumDescriptor<::onnx::TensorProto_DataLocation>() {
13077   return ::onnx::TensorProto_DataLocation_descriptor();
13078 }
13079 template <>
13080 struct is_proto_enum<::onnx::Version> : std::true_type {};
13081 template <>
13082 inline const EnumDescriptor* GetEnumDescriptor<::onnx::Version>() {
13083   return ::onnx::Version_descriptor();
13084 }
13085 template <>
13086 struct is_proto_enum<::onnx::OperatorStatus> : std::true_type {};
13087 template <>
13088 inline const EnumDescriptor* GetEnumDescriptor<::onnx::OperatorStatus>() {
13089   return ::onnx::OperatorStatus_descriptor();
13090 }
13091 
13092 }  // namespace protobuf
13093 }  // namespace google
13094 
13095 // @@protoc_insertion_point(global_scope)
13096 
13097 #include "google/protobuf/port_undef.inc"
13098 
13099 #endif  // GOOGLE_PROTOBUF_INCLUDED_onnx_2fonnx_2dml_2eproto_2epb_2eh