Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: google/protobuf/descriptor.proto
      3 
      4 #ifndef PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED
      5 #define PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED
      6 
      7 #include <string>
      8 
      9 #include <google/protobuf/stubs/common.h>
     10 
     11 #if GOOGLE_PROTOBUF_VERSION < 2006000
     12 #error This file was generated by a newer version of protoc which is
     13 #error incompatible with your Protocol Buffer headers.  Please update
     14 #error your headers.
     15 #endif
     16 #if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
     17 #error This file was generated by an older version of protoc which is
     18 #error incompatible with your Protocol Buffer headers.  Please
     19 #error regenerate this file with a newer version of protoc.
     20 #endif
     21 
     22 #include <google/protobuf/generated_message_util.h>
     23 #include <google/protobuf/message.h>
     24 #include <google/protobuf/repeated_field.h>
     25 #include <google/protobuf/extension_set.h>
     26 #include <google/protobuf/generated_enum_reflection.h>
     27 #include <google/protobuf/unknown_field_set.h>
     28 // @@protoc_insertion_point(includes)
     29 
     30 namespace google {
     31 namespace protobuf {
     32 
     33 // Internal implementation detail -- do not call these.
     34 void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
     35 void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
     36 void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
     37 
     38 class FileDescriptorSet;
     39 class FileDescriptorProto;
     40 class DescriptorProto;
     41 class DescriptorProto_ExtensionRange;
     42 class FieldDescriptorProto;
     43 class OneofDescriptorProto;
     44 class EnumDescriptorProto;
     45 class EnumValueDescriptorProto;
     46 class ServiceDescriptorProto;
     47 class MethodDescriptorProto;
     48 class FileOptions;
     49 class MessageOptions;
     50 class FieldOptions;
     51 class EnumOptions;
     52 class EnumValueOptions;
     53 class ServiceOptions;
     54 class MethodOptions;
     55 class UninterpretedOption;
     56 class UninterpretedOption_NamePart;
     57 class SourceCodeInfo;
     58 class SourceCodeInfo_Location;
     59 
     60 enum FieldDescriptorProto_Type {
     61   FieldDescriptorProto_Type_TYPE_DOUBLE = 1,
     62   FieldDescriptorProto_Type_TYPE_FLOAT = 2,
     63   FieldDescriptorProto_Type_TYPE_INT64 = 3,
     64   FieldDescriptorProto_Type_TYPE_UINT64 = 4,
     65   FieldDescriptorProto_Type_TYPE_INT32 = 5,
     66   FieldDescriptorProto_Type_TYPE_FIXED64 = 6,
     67   FieldDescriptorProto_Type_TYPE_FIXED32 = 7,
     68   FieldDescriptorProto_Type_TYPE_BOOL = 8,
     69   FieldDescriptorProto_Type_TYPE_STRING = 9,
     70   FieldDescriptorProto_Type_TYPE_GROUP = 10,
     71   FieldDescriptorProto_Type_TYPE_MESSAGE = 11,
     72   FieldDescriptorProto_Type_TYPE_BYTES = 12,
     73   FieldDescriptorProto_Type_TYPE_UINT32 = 13,
     74   FieldDescriptorProto_Type_TYPE_ENUM = 14,
     75   FieldDescriptorProto_Type_TYPE_SFIXED32 = 15,
     76   FieldDescriptorProto_Type_TYPE_SFIXED64 = 16,
     77   FieldDescriptorProto_Type_TYPE_SINT32 = 17,
     78   FieldDescriptorProto_Type_TYPE_SINT64 = 18
     79 };
     80 LIBPROTOBUF_EXPORT bool FieldDescriptorProto_Type_IsValid(int value);
     81 const FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MIN = FieldDescriptorProto_Type_TYPE_DOUBLE;
     82 const FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MAX = FieldDescriptorProto_Type_TYPE_SINT64;
     83 const int FieldDescriptorProto_Type_Type_ARRAYSIZE = FieldDescriptorProto_Type_Type_MAX + 1;
     84 
     85 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor();
     86 inline const ::std::string& FieldDescriptorProto_Type_Name(FieldDescriptorProto_Type value) {
     87   return ::google::protobuf::internal::NameOfEnum(
     88     FieldDescriptorProto_Type_descriptor(), value);
     89 }
     90 inline bool FieldDescriptorProto_Type_Parse(
     91     const ::std::string& name, FieldDescriptorProto_Type* value) {
     92   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Type>(
     93     FieldDescriptorProto_Type_descriptor(), name, value);
     94 }
     95 enum FieldDescriptorProto_Label {
     96   FieldDescriptorProto_Label_LABEL_OPTIONAL = 1,
     97   FieldDescriptorProto_Label_LABEL_REQUIRED = 2,
     98   FieldDescriptorProto_Label_LABEL_REPEATED = 3
     99 };
    100 LIBPROTOBUF_EXPORT bool FieldDescriptorProto_Label_IsValid(int value);
    101 const FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MIN = FieldDescriptorProto_Label_LABEL_OPTIONAL;
    102 const FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MAX = FieldDescriptorProto_Label_LABEL_REPEATED;
    103 const int FieldDescriptorProto_Label_Label_ARRAYSIZE = FieldDescriptorProto_Label_Label_MAX + 1;
    104 
    105 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor();
    106 inline const ::std::string& FieldDescriptorProto_Label_Name(FieldDescriptorProto_Label value) {
    107   return ::google::protobuf::internal::NameOfEnum(
    108     FieldDescriptorProto_Label_descriptor(), value);
    109 }
    110 inline bool FieldDescriptorProto_Label_Parse(
    111     const ::std::string& name, FieldDescriptorProto_Label* value) {
    112   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Label>(
    113     FieldDescriptorProto_Label_descriptor(), name, value);
    114 }
    115 enum FileOptions_OptimizeMode {
    116   FileOptions_OptimizeMode_SPEED = 1,
    117   FileOptions_OptimizeMode_CODE_SIZE = 2,
    118   FileOptions_OptimizeMode_LITE_RUNTIME = 3
    119 };
    120 LIBPROTOBUF_EXPORT bool FileOptions_OptimizeMode_IsValid(int value);
    121 const FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MIN = FileOptions_OptimizeMode_SPEED;
    122 const FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MAX = FileOptions_OptimizeMode_LITE_RUNTIME;
    123 const int FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE = FileOptions_OptimizeMode_OptimizeMode_MAX + 1;
    124 
    125 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor();
    126 inline const ::std::string& FileOptions_OptimizeMode_Name(FileOptions_OptimizeMode value) {
    127   return ::google::protobuf::internal::NameOfEnum(
    128     FileOptions_OptimizeMode_descriptor(), value);
    129 }
    130 inline bool FileOptions_OptimizeMode_Parse(
    131     const ::std::string& name, FileOptions_OptimizeMode* value) {
    132   return ::google::protobuf::internal::ParseNamedEnum<FileOptions_OptimizeMode>(
    133     FileOptions_OptimizeMode_descriptor(), name, value);
    134 }
    135 enum FieldOptions_CType {
    136   FieldOptions_CType_STRING = 0,
    137   FieldOptions_CType_CORD = 1,
    138   FieldOptions_CType_STRING_PIECE = 2
    139 };
    140 LIBPROTOBUF_EXPORT bool FieldOptions_CType_IsValid(int value);
    141 const FieldOptions_CType FieldOptions_CType_CType_MIN = FieldOptions_CType_STRING;
    142 const FieldOptions_CType FieldOptions_CType_CType_MAX = FieldOptions_CType_STRING_PIECE;
    143 const int FieldOptions_CType_CType_ARRAYSIZE = FieldOptions_CType_CType_MAX + 1;
    144 
    145 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor();
    146 inline const ::std::string& FieldOptions_CType_Name(FieldOptions_CType value) {
    147   return ::google::protobuf::internal::NameOfEnum(
    148     FieldOptions_CType_descriptor(), value);
    149 }
    150 inline bool FieldOptions_CType_Parse(
    151     const ::std::string& name, FieldOptions_CType* value) {
    152   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_CType>(
    153     FieldOptions_CType_descriptor(), name, value);
    154 }
    155 // ===================================================================
    156 
    157 class LIBPROTOBUF_EXPORT FileDescriptorSet : public ::google::protobuf::Message {
    158  public:
    159   FileDescriptorSet();
    160   virtual ~FileDescriptorSet();
    161 
    162   FileDescriptorSet(const FileDescriptorSet& from);
    163 
    164   inline FileDescriptorSet& operator=(const FileDescriptorSet& from) {
    165     CopyFrom(from);
    166     return *this;
    167   }
    168 
    169   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    170     return _unknown_fields_;
    171   }
    172 
    173   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    174     return &_unknown_fields_;
    175   }
    176 
    177   static const ::google::protobuf::Descriptor* descriptor();
    178   static const FileDescriptorSet& default_instance();
    179 
    180   void Swap(FileDescriptorSet* other);
    181 
    182   // implements Message ----------------------------------------------
    183 
    184   FileDescriptorSet* New() const;
    185   void CopyFrom(const ::google::protobuf::Message& from);
    186   void MergeFrom(const ::google::protobuf::Message& from);
    187   void CopyFrom(const FileDescriptorSet& from);
    188   void MergeFrom(const FileDescriptorSet& from);
    189   void Clear();
    190   bool IsInitialized() const;
    191 
    192   int ByteSize() const;
    193   bool MergePartialFromCodedStream(
    194       ::google::protobuf::io::CodedInputStream* input);
    195   void SerializeWithCachedSizes(
    196       ::google::protobuf::io::CodedOutputStream* output) const;
    197   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    198   int GetCachedSize() const { return _cached_size_; }
    199   private:
    200   void SharedCtor();
    201   void SharedDtor();
    202   void SetCachedSize(int size) const;
    203   public:
    204   ::google::protobuf::Metadata GetMetadata() const;
    205 
    206   // nested types ----------------------------------------------------
    207 
    208   // accessors -------------------------------------------------------
    209 
    210   // repeated .google.protobuf.FileDescriptorProto file = 1;
    211   inline int file_size() const;
    212   inline void clear_file();
    213   static const int kFileFieldNumber = 1;
    214   inline const ::google::protobuf::FileDescriptorProto& file(int index) const;
    215   inline ::google::protobuf::FileDescriptorProto* mutable_file(int index);
    216   inline ::google::protobuf::FileDescriptorProto* add_file();
    217   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >&
    218       file() const;
    219   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >*
    220       mutable_file();
    221 
    222   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet)
    223  private:
    224 
    225   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    226 
    227   ::google::protobuf::uint32 _has_bits_[1];
    228   mutable int _cached_size_;
    229   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_;
    230   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    231   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    232   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    233 
    234   void InitAsDefaultInstance();
    235   static FileDescriptorSet* default_instance_;
    236 };
    237 // -------------------------------------------------------------------
    238 
    239 class LIBPROTOBUF_EXPORT FileDescriptorProto : public ::google::protobuf::Message {
    240  public:
    241   FileDescriptorProto();
    242   virtual ~FileDescriptorProto();
    243 
    244   FileDescriptorProto(const FileDescriptorProto& from);
    245 
    246   inline FileDescriptorProto& operator=(const FileDescriptorProto& from) {
    247     CopyFrom(from);
    248     return *this;
    249   }
    250 
    251   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    252     return _unknown_fields_;
    253   }
    254 
    255   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    256     return &_unknown_fields_;
    257   }
    258 
    259   static const ::google::protobuf::Descriptor* descriptor();
    260   static const FileDescriptorProto& default_instance();
    261 
    262   void Swap(FileDescriptorProto* other);
    263 
    264   // implements Message ----------------------------------------------
    265 
    266   FileDescriptorProto* New() const;
    267   void CopyFrom(const ::google::protobuf::Message& from);
    268   void MergeFrom(const ::google::protobuf::Message& from);
    269   void CopyFrom(const FileDescriptorProto& from);
    270   void MergeFrom(const FileDescriptorProto& from);
    271   void Clear();
    272   bool IsInitialized() const;
    273 
    274   int ByteSize() const;
    275   bool MergePartialFromCodedStream(
    276       ::google::protobuf::io::CodedInputStream* input);
    277   void SerializeWithCachedSizes(
    278       ::google::protobuf::io::CodedOutputStream* output) const;
    279   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    280   int GetCachedSize() const { return _cached_size_; }
    281   private:
    282   void SharedCtor();
    283   void SharedDtor();
    284   void SetCachedSize(int size) const;
    285   public:
    286   ::google::protobuf::Metadata GetMetadata() const;
    287 
    288   // nested types ----------------------------------------------------
    289 
    290   // accessors -------------------------------------------------------
    291 
    292   // optional string name = 1;
    293   inline bool has_name() const;
    294   inline void clear_name();
    295   static const int kNameFieldNumber = 1;
    296   inline const ::std::string& name() const;
    297   inline void set_name(const ::std::string& value);
    298   inline void set_name(const char* value);
    299   inline void set_name(const char* value, size_t size);
    300   inline ::std::string* mutable_name();
    301   inline ::std::string* release_name();
    302   inline void set_allocated_name(::std::string* name);
    303 
    304   // optional string package = 2;
    305   inline bool has_package() const;
    306   inline void clear_package();
    307   static const int kPackageFieldNumber = 2;
    308   inline const ::std::string& package() const;
    309   inline void set_package(const ::std::string& value);
    310   inline void set_package(const char* value);
    311   inline void set_package(const char* value, size_t size);
    312   inline ::std::string* mutable_package();
    313   inline ::std::string* release_package();
    314   inline void set_allocated_package(::std::string* package);
    315 
    316   // repeated string dependency = 3;
    317   inline int dependency_size() const;
    318   inline void clear_dependency();
    319   static const int kDependencyFieldNumber = 3;
    320   inline const ::std::string& dependency(int index) const;
    321   inline ::std::string* mutable_dependency(int index);
    322   inline void set_dependency(int index, const ::std::string& value);
    323   inline void set_dependency(int index, const char* value);
    324   inline void set_dependency(int index, const char* value, size_t size);
    325   inline ::std::string* add_dependency();
    326   inline void add_dependency(const ::std::string& value);
    327   inline void add_dependency(const char* value);
    328   inline void add_dependency(const char* value, size_t size);
    329   inline const ::google::protobuf::RepeatedPtrField< ::std::string>& dependency() const;
    330   inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_dependency();
    331 
    332   // repeated int32 public_dependency = 10;
    333   inline int public_dependency_size() const;
    334   inline void clear_public_dependency();
    335   static const int kPublicDependencyFieldNumber = 10;
    336   inline ::google::protobuf::int32 public_dependency(int index) const;
    337   inline void set_public_dependency(int index, ::google::protobuf::int32 value);
    338   inline void add_public_dependency(::google::protobuf::int32 value);
    339   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
    340       public_dependency() const;
    341   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
    342       mutable_public_dependency();
    343 
    344   // repeated int32 weak_dependency = 11;
    345   inline int weak_dependency_size() const;
    346   inline void clear_weak_dependency();
    347   static const int kWeakDependencyFieldNumber = 11;
    348   inline ::google::protobuf::int32 weak_dependency(int index) const;
    349   inline void set_weak_dependency(int index, ::google::protobuf::int32 value);
    350   inline void add_weak_dependency(::google::protobuf::int32 value);
    351   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
    352       weak_dependency() const;
    353   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
    354       mutable_weak_dependency();
    355 
    356   // repeated .google.protobuf.DescriptorProto message_type = 4;
    357   inline int message_type_size() const;
    358   inline void clear_message_type();
    359   static const int kMessageTypeFieldNumber = 4;
    360   inline const ::google::protobuf::DescriptorProto& message_type(int index) const;
    361   inline ::google::protobuf::DescriptorProto* mutable_message_type(int index);
    362   inline ::google::protobuf::DescriptorProto* add_message_type();
    363   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
    364       message_type() const;
    365   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
    366       mutable_message_type();
    367 
    368   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
    369   inline int enum_type_size() const;
    370   inline void clear_enum_type();
    371   static const int kEnumTypeFieldNumber = 5;
    372   inline const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
    373   inline ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index);
    374   inline ::google::protobuf::EnumDescriptorProto* add_enum_type();
    375   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
    376       enum_type() const;
    377   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
    378       mutable_enum_type();
    379 
    380   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
    381   inline int service_size() const;
    382   inline void clear_service();
    383   static const int kServiceFieldNumber = 6;
    384   inline const ::google::protobuf::ServiceDescriptorProto& service(int index) const;
    385   inline ::google::protobuf::ServiceDescriptorProto* mutable_service(int index);
    386   inline ::google::protobuf::ServiceDescriptorProto* add_service();
    387   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >&
    388       service() const;
    389   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >*
    390       mutable_service();
    391 
    392   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
    393   inline int extension_size() const;
    394   inline void clear_extension();
    395   static const int kExtensionFieldNumber = 7;
    396   inline const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
    397   inline ::google::protobuf::FieldDescriptorProto* mutable_extension(int index);
    398   inline ::google::protobuf::FieldDescriptorProto* add_extension();
    399   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
    400       extension() const;
    401   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
    402       mutable_extension();
    403 
    404   // optional .google.protobuf.FileOptions options = 8;
    405   inline bool has_options() const;
    406   inline void clear_options();
    407   static const int kOptionsFieldNumber = 8;
    408   inline const ::google::protobuf::FileOptions& options() const;
    409   inline ::google::protobuf::FileOptions* mutable_options();
    410   inline ::google::protobuf::FileOptions* release_options();
    411   inline void set_allocated_options(::google::protobuf::FileOptions* options);
    412 
    413   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
    414   inline bool has_source_code_info() const;
    415   inline void clear_source_code_info();
    416   static const int kSourceCodeInfoFieldNumber = 9;
    417   inline const ::google::protobuf::SourceCodeInfo& source_code_info() const;
    418   inline ::google::protobuf::SourceCodeInfo* mutable_source_code_info();
    419   inline ::google::protobuf::SourceCodeInfo* release_source_code_info();
    420   inline void set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info);
    421 
    422   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto)
    423  private:
    424   inline void set_has_name();
    425   inline void clear_has_name();
    426   inline void set_has_package();
    427   inline void clear_has_package();
    428   inline void set_has_options();
    429   inline void clear_has_options();
    430   inline void set_has_source_code_info();
    431   inline void clear_has_source_code_info();
    432 
    433   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    434 
    435   ::google::protobuf::uint32 _has_bits_[1];
    436   mutable int _cached_size_;
    437   ::std::string* name_;
    438   ::std::string* package_;
    439   ::google::protobuf::RepeatedPtrField< ::std::string> dependency_;
    440   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > public_dependency_;
    441   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > weak_dependency_;
    442   ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > message_type_;
    443   ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
    444   ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto > service_;
    445   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
    446   ::google::protobuf::FileOptions* options_;
    447   ::google::protobuf::SourceCodeInfo* source_code_info_;
    448   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    449   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    450   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    451 
    452   void InitAsDefaultInstance();
    453   static FileDescriptorProto* default_instance_;
    454 };
    455 // -------------------------------------------------------------------
    456 
    457 class LIBPROTOBUF_EXPORT DescriptorProto_ExtensionRange : public ::google::protobuf::Message {
    458  public:
    459   DescriptorProto_ExtensionRange();
    460   virtual ~DescriptorProto_ExtensionRange();
    461 
    462   DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from);
    463 
    464   inline DescriptorProto_ExtensionRange& operator=(const DescriptorProto_ExtensionRange& from) {
    465     CopyFrom(from);
    466     return *this;
    467   }
    468 
    469   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    470     return _unknown_fields_;
    471   }
    472 
    473   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    474     return &_unknown_fields_;
    475   }
    476 
    477   static const ::google::protobuf::Descriptor* descriptor();
    478   static const DescriptorProto_ExtensionRange& default_instance();
    479 
    480   void Swap(DescriptorProto_ExtensionRange* other);
    481 
    482   // implements Message ----------------------------------------------
    483 
    484   DescriptorProto_ExtensionRange* New() const;
    485   void CopyFrom(const ::google::protobuf::Message& from);
    486   void MergeFrom(const ::google::protobuf::Message& from);
    487   void CopyFrom(const DescriptorProto_ExtensionRange& from);
    488   void MergeFrom(const DescriptorProto_ExtensionRange& from);
    489   void Clear();
    490   bool IsInitialized() const;
    491 
    492   int ByteSize() const;
    493   bool MergePartialFromCodedStream(
    494       ::google::protobuf::io::CodedInputStream* input);
    495   void SerializeWithCachedSizes(
    496       ::google::protobuf::io::CodedOutputStream* output) const;
    497   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    498   int GetCachedSize() const { return _cached_size_; }
    499   private:
    500   void SharedCtor();
    501   void SharedDtor();
    502   void SetCachedSize(int size) const;
    503   public:
    504   ::google::protobuf::Metadata GetMetadata() const;
    505 
    506   // nested types ----------------------------------------------------
    507 
    508   // accessors -------------------------------------------------------
    509 
    510   // optional int32 start = 1;
    511   inline bool has_start() const;
    512   inline void clear_start();
    513   static const int kStartFieldNumber = 1;
    514   inline ::google::protobuf::int32 start() const;
    515   inline void set_start(::google::protobuf::int32 value);
    516 
    517   // optional int32 end = 2;
    518   inline bool has_end() const;
    519   inline void clear_end();
    520   static const int kEndFieldNumber = 2;
    521   inline ::google::protobuf::int32 end() const;
    522   inline void set_end(::google::protobuf::int32 value);
    523 
    524   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange)
    525  private:
    526   inline void set_has_start();
    527   inline void clear_has_start();
    528   inline void set_has_end();
    529   inline void clear_has_end();
    530 
    531   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    532 
    533   ::google::protobuf::uint32 _has_bits_[1];
    534   mutable int _cached_size_;
    535   ::google::protobuf::int32 start_;
    536   ::google::protobuf::int32 end_;
    537   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    538   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    539   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    540 
    541   void InitAsDefaultInstance();
    542   static DescriptorProto_ExtensionRange* default_instance_;
    543 };
    544 // -------------------------------------------------------------------
    545 
    546 class LIBPROTOBUF_EXPORT DescriptorProto : public ::google::protobuf::Message {
    547  public:
    548   DescriptorProto();
    549   virtual ~DescriptorProto();
    550 
    551   DescriptorProto(const DescriptorProto& from);
    552 
    553   inline DescriptorProto& operator=(const DescriptorProto& from) {
    554     CopyFrom(from);
    555     return *this;
    556   }
    557 
    558   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    559     return _unknown_fields_;
    560   }
    561 
    562   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    563     return &_unknown_fields_;
    564   }
    565 
    566   static const ::google::protobuf::Descriptor* descriptor();
    567   static const DescriptorProto& default_instance();
    568 
    569   void Swap(DescriptorProto* other);
    570 
    571   // implements Message ----------------------------------------------
    572 
    573   DescriptorProto* New() const;
    574   void CopyFrom(const ::google::protobuf::Message& from);
    575   void MergeFrom(const ::google::protobuf::Message& from);
    576   void CopyFrom(const DescriptorProto& from);
    577   void MergeFrom(const DescriptorProto& from);
    578   void Clear();
    579   bool IsInitialized() const;
    580 
    581   int ByteSize() const;
    582   bool MergePartialFromCodedStream(
    583       ::google::protobuf::io::CodedInputStream* input);
    584   void SerializeWithCachedSizes(
    585       ::google::protobuf::io::CodedOutputStream* output) const;
    586   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    587   int GetCachedSize() const { return _cached_size_; }
    588   private:
    589   void SharedCtor();
    590   void SharedDtor();
    591   void SetCachedSize(int size) const;
    592   public:
    593   ::google::protobuf::Metadata GetMetadata() const;
    594 
    595   // nested types ----------------------------------------------------
    596 
    597   typedef DescriptorProto_ExtensionRange ExtensionRange;
    598 
    599   // accessors -------------------------------------------------------
    600 
    601   // optional string name = 1;
    602   inline bool has_name() const;
    603   inline void clear_name();
    604   static const int kNameFieldNumber = 1;
    605   inline const ::std::string& name() const;
    606   inline void set_name(const ::std::string& value);
    607   inline void set_name(const char* value);
    608   inline void set_name(const char* value, size_t size);
    609   inline ::std::string* mutable_name();
    610   inline ::std::string* release_name();
    611   inline void set_allocated_name(::std::string* name);
    612 
    613   // repeated .google.protobuf.FieldDescriptorProto field = 2;
    614   inline int field_size() const;
    615   inline void clear_field();
    616   static const int kFieldFieldNumber = 2;
    617   inline const ::google::protobuf::FieldDescriptorProto& field(int index) const;
    618   inline ::google::protobuf::FieldDescriptorProto* mutable_field(int index);
    619   inline ::google::protobuf::FieldDescriptorProto* add_field();
    620   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
    621       field() const;
    622   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
    623       mutable_field();
    624 
    625   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
    626   inline int extension_size() const;
    627   inline void clear_extension();
    628   static const int kExtensionFieldNumber = 6;
    629   inline const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
    630   inline ::google::protobuf::FieldDescriptorProto* mutable_extension(int index);
    631   inline ::google::protobuf::FieldDescriptorProto* add_extension();
    632   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
    633       extension() const;
    634   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
    635       mutable_extension();
    636 
    637   // repeated .google.protobuf.DescriptorProto nested_type = 3;
    638   inline int nested_type_size() const;
    639   inline void clear_nested_type();
    640   static const int kNestedTypeFieldNumber = 3;
    641   inline const ::google::protobuf::DescriptorProto& nested_type(int index) const;
    642   inline ::google::protobuf::DescriptorProto* mutable_nested_type(int index);
    643   inline ::google::protobuf::DescriptorProto* add_nested_type();
    644   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
    645       nested_type() const;
    646   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
    647       mutable_nested_type();
    648 
    649   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
    650   inline int enum_type_size() const;
    651   inline void clear_enum_type();
    652   static const int kEnumTypeFieldNumber = 4;
    653   inline const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
    654   inline ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index);
    655   inline ::google::protobuf::EnumDescriptorProto* add_enum_type();
    656   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
    657       enum_type() const;
    658   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
    659       mutable_enum_type();
    660 
    661   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
    662   inline int extension_range_size() const;
    663   inline void clear_extension_range();
    664   static const int kExtensionRangeFieldNumber = 5;
    665   inline const ::google::protobuf::DescriptorProto_ExtensionRange& extension_range(int index) const;
    666   inline ::google::protobuf::DescriptorProto_ExtensionRange* mutable_extension_range(int index);
    667   inline ::google::protobuf::DescriptorProto_ExtensionRange* add_extension_range();
    668   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >&
    669       extension_range() const;
    670   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >*
    671       mutable_extension_range();
    672 
    673   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
    674   inline int oneof_decl_size() const;
    675   inline void clear_oneof_decl();
    676   static const int kOneofDeclFieldNumber = 8;
    677   inline const ::google::protobuf::OneofDescriptorProto& oneof_decl(int index) const;
    678   inline ::google::protobuf::OneofDescriptorProto* mutable_oneof_decl(int index);
    679   inline ::google::protobuf::OneofDescriptorProto* add_oneof_decl();
    680   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >&
    681       oneof_decl() const;
    682   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >*
    683       mutable_oneof_decl();
    684 
    685   // optional .google.protobuf.MessageOptions options = 7;
    686   inline bool has_options() const;
    687   inline void clear_options();
    688   static const int kOptionsFieldNumber = 7;
    689   inline const ::google::protobuf::MessageOptions& options() const;
    690   inline ::google::protobuf::MessageOptions* mutable_options();
    691   inline ::google::protobuf::MessageOptions* release_options();
    692   inline void set_allocated_options(::google::protobuf::MessageOptions* options);
    693 
    694   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto)
    695  private:
    696   inline void set_has_name();
    697   inline void clear_has_name();
    698   inline void set_has_options();
    699   inline void clear_has_options();
    700 
    701   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    702 
    703   ::google::protobuf::uint32 _has_bits_[1];
    704   mutable int _cached_size_;
    705   ::std::string* name_;
    706   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > field_;
    707   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
    708   ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > nested_type_;
    709   ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
    710   ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange > extension_range_;
    711   ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto > oneof_decl_;
    712   ::google::protobuf::MessageOptions* options_;
    713   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    714   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    715   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    716 
    717   void InitAsDefaultInstance();
    718   static DescriptorProto* default_instance_;
    719 };
    720 // -------------------------------------------------------------------
    721 
    722 class LIBPROTOBUF_EXPORT FieldDescriptorProto : public ::google::protobuf::Message {
    723  public:
    724   FieldDescriptorProto();
    725   virtual ~FieldDescriptorProto();
    726 
    727   FieldDescriptorProto(const FieldDescriptorProto& from);
    728 
    729   inline FieldDescriptorProto& operator=(const FieldDescriptorProto& from) {
    730     CopyFrom(from);
    731     return *this;
    732   }
    733 
    734   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    735     return _unknown_fields_;
    736   }
    737 
    738   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    739     return &_unknown_fields_;
    740   }
    741 
    742   static const ::google::protobuf::Descriptor* descriptor();
    743   static const FieldDescriptorProto& default_instance();
    744 
    745   void Swap(FieldDescriptorProto* other);
    746 
    747   // implements Message ----------------------------------------------
    748 
    749   FieldDescriptorProto* New() const;
    750   void CopyFrom(const ::google::protobuf::Message& from);
    751   void MergeFrom(const ::google::protobuf::Message& from);
    752   void CopyFrom(const FieldDescriptorProto& from);
    753   void MergeFrom(const FieldDescriptorProto& from);
    754   void Clear();
    755   bool IsInitialized() const;
    756 
    757   int ByteSize() const;
    758   bool MergePartialFromCodedStream(
    759       ::google::protobuf::io::CodedInputStream* input);
    760   void SerializeWithCachedSizes(
    761       ::google::protobuf::io::CodedOutputStream* output) const;
    762   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    763   int GetCachedSize() const { return _cached_size_; }
    764   private:
    765   void SharedCtor();
    766   void SharedDtor();
    767   void SetCachedSize(int size) const;
    768   public:
    769   ::google::protobuf::Metadata GetMetadata() const;
    770 
    771   // nested types ----------------------------------------------------
    772 
    773   typedef FieldDescriptorProto_Type Type;
    774   static const Type TYPE_DOUBLE = FieldDescriptorProto_Type_TYPE_DOUBLE;
    775   static const Type TYPE_FLOAT = FieldDescriptorProto_Type_TYPE_FLOAT;
    776   static const Type TYPE_INT64 = FieldDescriptorProto_Type_TYPE_INT64;
    777   static const Type TYPE_UINT64 = FieldDescriptorProto_Type_TYPE_UINT64;
    778   static const Type TYPE_INT32 = FieldDescriptorProto_Type_TYPE_INT32;
    779   static const Type TYPE_FIXED64 = FieldDescriptorProto_Type_TYPE_FIXED64;
    780   static const Type TYPE_FIXED32 = FieldDescriptorProto_Type_TYPE_FIXED32;
    781   static const Type TYPE_BOOL = FieldDescriptorProto_Type_TYPE_BOOL;
    782   static const Type TYPE_STRING = FieldDescriptorProto_Type_TYPE_STRING;
    783   static const Type TYPE_GROUP = FieldDescriptorProto_Type_TYPE_GROUP;
    784   static const Type TYPE_MESSAGE = FieldDescriptorProto_Type_TYPE_MESSAGE;
    785   static const Type TYPE_BYTES = FieldDescriptorProto_Type_TYPE_BYTES;
    786   static const Type TYPE_UINT32 = FieldDescriptorProto_Type_TYPE_UINT32;
    787   static const Type TYPE_ENUM = FieldDescriptorProto_Type_TYPE_ENUM;
    788   static const Type TYPE_SFIXED32 = FieldDescriptorProto_Type_TYPE_SFIXED32;
    789   static const Type TYPE_SFIXED64 = FieldDescriptorProto_Type_TYPE_SFIXED64;
    790   static const Type TYPE_SINT32 = FieldDescriptorProto_Type_TYPE_SINT32;
    791   static const Type TYPE_SINT64 = FieldDescriptorProto_Type_TYPE_SINT64;
    792   static inline bool Type_IsValid(int value) {
    793     return FieldDescriptorProto_Type_IsValid(value);
    794   }
    795   static const Type Type_MIN =
    796     FieldDescriptorProto_Type_Type_MIN;
    797   static const Type Type_MAX =
    798     FieldDescriptorProto_Type_Type_MAX;
    799   static const int Type_ARRAYSIZE =
    800     FieldDescriptorProto_Type_Type_ARRAYSIZE;
    801   static inline const ::google::protobuf::EnumDescriptor*
    802   Type_descriptor() {
    803     return FieldDescriptorProto_Type_descriptor();
    804   }
    805   static inline const ::std::string& Type_Name(Type value) {
    806     return FieldDescriptorProto_Type_Name(value);
    807   }
    808   static inline bool Type_Parse(const ::std::string& name,
    809       Type* value) {
    810     return FieldDescriptorProto_Type_Parse(name, value);
    811   }
    812 
    813   typedef FieldDescriptorProto_Label Label;
    814   static const Label LABEL_OPTIONAL = FieldDescriptorProto_Label_LABEL_OPTIONAL;
    815   static const Label LABEL_REQUIRED = FieldDescriptorProto_Label_LABEL_REQUIRED;
    816   static const Label LABEL_REPEATED = FieldDescriptorProto_Label_LABEL_REPEATED;
    817   static inline bool Label_IsValid(int value) {
    818     return FieldDescriptorProto_Label_IsValid(value);
    819   }
    820   static const Label Label_MIN =
    821     FieldDescriptorProto_Label_Label_MIN;
    822   static const Label Label_MAX =
    823     FieldDescriptorProto_Label_Label_MAX;
    824   static const int Label_ARRAYSIZE =
    825     FieldDescriptorProto_Label_Label_ARRAYSIZE;
    826   static inline const ::google::protobuf::EnumDescriptor*
    827   Label_descriptor() {
    828     return FieldDescriptorProto_Label_descriptor();
    829   }
    830   static inline const ::std::string& Label_Name(Label value) {
    831     return FieldDescriptorProto_Label_Name(value);
    832   }
    833   static inline bool Label_Parse(const ::std::string& name,
    834       Label* value) {
    835     return FieldDescriptorProto_Label_Parse(name, value);
    836   }
    837 
    838   // accessors -------------------------------------------------------
    839 
    840   // optional string name = 1;
    841   inline bool has_name() const;
    842   inline void clear_name();
    843   static const int kNameFieldNumber = 1;
    844   inline const ::std::string& name() const;
    845   inline void set_name(const ::std::string& value);
    846   inline void set_name(const char* value);
    847   inline void set_name(const char* value, size_t size);
    848   inline ::std::string* mutable_name();
    849   inline ::std::string* release_name();
    850   inline void set_allocated_name(::std::string* name);
    851 
    852   // optional int32 number = 3;
    853   inline bool has_number() const;
    854   inline void clear_number();
    855   static const int kNumberFieldNumber = 3;
    856   inline ::google::protobuf::int32 number() const;
    857   inline void set_number(::google::protobuf::int32 value);
    858 
    859   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
    860   inline bool has_label() const;
    861   inline void clear_label();
    862   static const int kLabelFieldNumber = 4;
    863   inline ::google::protobuf::FieldDescriptorProto_Label label() const;
    864   inline void set_label(::google::protobuf::FieldDescriptorProto_Label value);
    865 
    866   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
    867   inline bool has_type() const;
    868   inline void clear_type();
    869   static const int kTypeFieldNumber = 5;
    870   inline ::google::protobuf::FieldDescriptorProto_Type type() const;
    871   inline void set_type(::google::protobuf::FieldDescriptorProto_Type value);
    872 
    873   // optional string type_name = 6;
    874   inline bool has_type_name() const;
    875   inline void clear_type_name();
    876   static const int kTypeNameFieldNumber = 6;
    877   inline const ::std::string& type_name() const;
    878   inline void set_type_name(const ::std::string& value);
    879   inline void set_type_name(const char* value);
    880   inline void set_type_name(const char* value, size_t size);
    881   inline ::std::string* mutable_type_name();
    882   inline ::std::string* release_type_name();
    883   inline void set_allocated_type_name(::std::string* type_name);
    884 
    885   // optional string extendee = 2;
    886   inline bool has_extendee() const;
    887   inline void clear_extendee();
    888   static const int kExtendeeFieldNumber = 2;
    889   inline const ::std::string& extendee() const;
    890   inline void set_extendee(const ::std::string& value);
    891   inline void set_extendee(const char* value);
    892   inline void set_extendee(const char* value, size_t size);
    893   inline ::std::string* mutable_extendee();
    894   inline ::std::string* release_extendee();
    895   inline void set_allocated_extendee(::std::string* extendee);
    896 
    897   // optional string default_value = 7;
    898   inline bool has_default_value() const;
    899   inline void clear_default_value();
    900   static const int kDefaultValueFieldNumber = 7;
    901   inline const ::std::string& default_value() const;
    902   inline void set_default_value(const ::std::string& value);
    903   inline void set_default_value(const char* value);
    904   inline void set_default_value(const char* value, size_t size);
    905   inline ::std::string* mutable_default_value();
    906   inline ::std::string* release_default_value();
    907   inline void set_allocated_default_value(::std::string* default_value);
    908 
    909   // optional int32 oneof_index = 9;
    910   inline bool has_oneof_index() const;
    911   inline void clear_oneof_index();
    912   static const int kOneofIndexFieldNumber = 9;
    913   inline ::google::protobuf::int32 oneof_index() const;
    914   inline void set_oneof_index(::google::protobuf::int32 value);
    915 
    916   // optional .google.protobuf.FieldOptions options = 8;
    917   inline bool has_options() const;
    918   inline void clear_options();
    919   static const int kOptionsFieldNumber = 8;
    920   inline const ::google::protobuf::FieldOptions& options() const;
    921   inline ::google::protobuf::FieldOptions* mutable_options();
    922   inline ::google::protobuf::FieldOptions* release_options();
    923   inline void set_allocated_options(::google::protobuf::FieldOptions* options);
    924 
    925   // @@protoc_insertion_point(class_scope:google.protobuf.FieldDescriptorProto)
    926  private:
    927   inline void set_has_name();
    928   inline void clear_has_name();
    929   inline void set_has_number();
    930   inline void clear_has_number();
    931   inline void set_has_label();
    932   inline void clear_has_label();
    933   inline void set_has_type();
    934   inline void clear_has_type();
    935   inline void set_has_type_name();
    936   inline void clear_has_type_name();
    937   inline void set_has_extendee();
    938   inline void clear_has_extendee();
    939   inline void set_has_default_value();
    940   inline void clear_has_default_value();
    941   inline void set_has_oneof_index();
    942   inline void clear_has_oneof_index();
    943   inline void set_has_options();
    944   inline void clear_has_options();
    945 
    946   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    947 
    948   ::google::protobuf::uint32 _has_bits_[1];
    949   mutable int _cached_size_;
    950   ::std::string* name_;
    951   ::google::protobuf::int32 number_;
    952   int label_;
    953   ::std::string* type_name_;
    954   ::std::string* extendee_;
    955   int type_;
    956   ::google::protobuf::int32 oneof_index_;
    957   ::std::string* default_value_;
    958   ::google::protobuf::FieldOptions* options_;
    959   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    960   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    961   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    962 
    963   void InitAsDefaultInstance();
    964   static FieldDescriptorProto* default_instance_;
    965 };
    966 // -------------------------------------------------------------------
    967 
    968 class LIBPROTOBUF_EXPORT OneofDescriptorProto : public ::google::protobuf::Message {
    969  public:
    970   OneofDescriptorProto();
    971   virtual ~OneofDescriptorProto();
    972 
    973   OneofDescriptorProto(const OneofDescriptorProto& from);
    974 
    975   inline OneofDescriptorProto& operator=(const OneofDescriptorProto& from) {
    976     CopyFrom(from);
    977     return *this;
    978   }
    979 
    980   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    981     return _unknown_fields_;
    982   }
    983 
    984   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    985     return &_unknown_fields_;
    986   }
    987 
    988   static const ::google::protobuf::Descriptor* descriptor();
    989   static const OneofDescriptorProto& default_instance();
    990 
    991   void Swap(OneofDescriptorProto* other);
    992 
    993   // implements Message ----------------------------------------------
    994 
    995   OneofDescriptorProto* New() const;
    996   void CopyFrom(const ::google::protobuf::Message& from);
    997   void MergeFrom(const ::google::protobuf::Message& from);
    998   void CopyFrom(const OneofDescriptorProto& from);
    999   void MergeFrom(const OneofDescriptorProto& from);
   1000   void Clear();
   1001   bool IsInitialized() const;
   1002 
   1003   int ByteSize() const;
   1004   bool MergePartialFromCodedStream(
   1005       ::google::protobuf::io::CodedInputStream* input);
   1006   void SerializeWithCachedSizes(
   1007       ::google::protobuf::io::CodedOutputStream* output) const;
   1008   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1009   int GetCachedSize() const { return _cached_size_; }
   1010   private:
   1011   void SharedCtor();
   1012   void SharedDtor();
   1013   void SetCachedSize(int size) const;
   1014   public:
   1015   ::google::protobuf::Metadata GetMetadata() const;
   1016 
   1017   // nested types ----------------------------------------------------
   1018 
   1019   // accessors -------------------------------------------------------
   1020 
   1021   // optional string name = 1;
   1022   inline bool has_name() const;
   1023   inline void clear_name();
   1024   static const int kNameFieldNumber = 1;
   1025   inline const ::std::string& name() const;
   1026   inline void set_name(const ::std::string& value);
   1027   inline void set_name(const char* value);
   1028   inline void set_name(const char* value, size_t size);
   1029   inline ::std::string* mutable_name();
   1030   inline ::std::string* release_name();
   1031   inline void set_allocated_name(::std::string* name);
   1032 
   1033   // @@protoc_insertion_point(class_scope:google.protobuf.OneofDescriptorProto)
   1034  private:
   1035   inline void set_has_name();
   1036   inline void clear_has_name();
   1037 
   1038   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1039 
   1040   ::google::protobuf::uint32 _has_bits_[1];
   1041   mutable int _cached_size_;
   1042   ::std::string* name_;
   1043   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1044   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1045   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1046 
   1047   void InitAsDefaultInstance();
   1048   static OneofDescriptorProto* default_instance_;
   1049 };
   1050 // -------------------------------------------------------------------
   1051 
   1052 class LIBPROTOBUF_EXPORT EnumDescriptorProto : public ::google::protobuf::Message {
   1053  public:
   1054   EnumDescriptorProto();
   1055   virtual ~EnumDescriptorProto();
   1056 
   1057   EnumDescriptorProto(const EnumDescriptorProto& from);
   1058 
   1059   inline EnumDescriptorProto& operator=(const EnumDescriptorProto& from) {
   1060     CopyFrom(from);
   1061     return *this;
   1062   }
   1063 
   1064   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1065     return _unknown_fields_;
   1066   }
   1067 
   1068   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1069     return &_unknown_fields_;
   1070   }
   1071 
   1072   static const ::google::protobuf::Descriptor* descriptor();
   1073   static const EnumDescriptorProto& default_instance();
   1074 
   1075   void Swap(EnumDescriptorProto* other);
   1076 
   1077   // implements Message ----------------------------------------------
   1078 
   1079   EnumDescriptorProto* New() const;
   1080   void CopyFrom(const ::google::protobuf::Message& from);
   1081   void MergeFrom(const ::google::protobuf::Message& from);
   1082   void CopyFrom(const EnumDescriptorProto& from);
   1083   void MergeFrom(const EnumDescriptorProto& from);
   1084   void Clear();
   1085   bool IsInitialized() const;
   1086 
   1087   int ByteSize() const;
   1088   bool MergePartialFromCodedStream(
   1089       ::google::protobuf::io::CodedInputStream* input);
   1090   void SerializeWithCachedSizes(
   1091       ::google::protobuf::io::CodedOutputStream* output) const;
   1092   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1093   int GetCachedSize() const { return _cached_size_; }
   1094   private:
   1095   void SharedCtor();
   1096   void SharedDtor();
   1097   void SetCachedSize(int size) const;
   1098   public:
   1099   ::google::protobuf::Metadata GetMetadata() const;
   1100 
   1101   // nested types ----------------------------------------------------
   1102 
   1103   // accessors -------------------------------------------------------
   1104 
   1105   // optional string name = 1;
   1106   inline bool has_name() const;
   1107   inline void clear_name();
   1108   static const int kNameFieldNumber = 1;
   1109   inline const ::std::string& name() const;
   1110   inline void set_name(const ::std::string& value);
   1111   inline void set_name(const char* value);
   1112   inline void set_name(const char* value, size_t size);
   1113   inline ::std::string* mutable_name();
   1114   inline ::std::string* release_name();
   1115   inline void set_allocated_name(::std::string* name);
   1116 
   1117   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   1118   inline int value_size() const;
   1119   inline void clear_value();
   1120   static const int kValueFieldNumber = 2;
   1121   inline const ::google::protobuf::EnumValueDescriptorProto& value(int index) const;
   1122   inline ::google::protobuf::EnumValueDescriptorProto* mutable_value(int index);
   1123   inline ::google::protobuf::EnumValueDescriptorProto* add_value();
   1124   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >&
   1125       value() const;
   1126   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >*
   1127       mutable_value();
   1128 
   1129   // optional .google.protobuf.EnumOptions options = 3;
   1130   inline bool has_options() const;
   1131   inline void clear_options();
   1132   static const int kOptionsFieldNumber = 3;
   1133   inline const ::google::protobuf::EnumOptions& options() const;
   1134   inline ::google::protobuf::EnumOptions* mutable_options();
   1135   inline ::google::protobuf::EnumOptions* release_options();
   1136   inline void set_allocated_options(::google::protobuf::EnumOptions* options);
   1137 
   1138   // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto)
   1139  private:
   1140   inline void set_has_name();
   1141   inline void clear_has_name();
   1142   inline void set_has_options();
   1143   inline void clear_has_options();
   1144 
   1145   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1146 
   1147   ::google::protobuf::uint32 _has_bits_[1];
   1148   mutable int _cached_size_;
   1149   ::std::string* name_;
   1150   ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto > value_;
   1151   ::google::protobuf::EnumOptions* options_;
   1152   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1153   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1154   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1155 
   1156   void InitAsDefaultInstance();
   1157   static EnumDescriptorProto* default_instance_;
   1158 };
   1159 // -------------------------------------------------------------------
   1160 
   1161 class LIBPROTOBUF_EXPORT EnumValueDescriptorProto : public ::google::protobuf::Message {
   1162  public:
   1163   EnumValueDescriptorProto();
   1164   virtual ~EnumValueDescriptorProto();
   1165 
   1166   EnumValueDescriptorProto(const EnumValueDescriptorProto& from);
   1167 
   1168   inline EnumValueDescriptorProto& operator=(const EnumValueDescriptorProto& from) {
   1169     CopyFrom(from);
   1170     return *this;
   1171   }
   1172 
   1173   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1174     return _unknown_fields_;
   1175   }
   1176 
   1177   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1178     return &_unknown_fields_;
   1179   }
   1180 
   1181   static const ::google::protobuf::Descriptor* descriptor();
   1182   static const EnumValueDescriptorProto& default_instance();
   1183 
   1184   void Swap(EnumValueDescriptorProto* other);
   1185 
   1186   // implements Message ----------------------------------------------
   1187 
   1188   EnumValueDescriptorProto* New() const;
   1189   void CopyFrom(const ::google::protobuf::Message& from);
   1190   void MergeFrom(const ::google::protobuf::Message& from);
   1191   void CopyFrom(const EnumValueDescriptorProto& from);
   1192   void MergeFrom(const EnumValueDescriptorProto& from);
   1193   void Clear();
   1194   bool IsInitialized() const;
   1195 
   1196   int ByteSize() const;
   1197   bool MergePartialFromCodedStream(
   1198       ::google::protobuf::io::CodedInputStream* input);
   1199   void SerializeWithCachedSizes(
   1200       ::google::protobuf::io::CodedOutputStream* output) const;
   1201   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1202   int GetCachedSize() const { return _cached_size_; }
   1203   private:
   1204   void SharedCtor();
   1205   void SharedDtor();
   1206   void SetCachedSize(int size) const;
   1207   public:
   1208   ::google::protobuf::Metadata GetMetadata() const;
   1209 
   1210   // nested types ----------------------------------------------------
   1211 
   1212   // accessors -------------------------------------------------------
   1213 
   1214   // optional string name = 1;
   1215   inline bool has_name() const;
   1216   inline void clear_name();
   1217   static const int kNameFieldNumber = 1;
   1218   inline const ::std::string& name() const;
   1219   inline void set_name(const ::std::string& value);
   1220   inline void set_name(const char* value);
   1221   inline void set_name(const char* value, size_t size);
   1222   inline ::std::string* mutable_name();
   1223   inline ::std::string* release_name();
   1224   inline void set_allocated_name(::std::string* name);
   1225 
   1226   // optional int32 number = 2;
   1227   inline bool has_number() const;
   1228   inline void clear_number();
   1229   static const int kNumberFieldNumber = 2;
   1230   inline ::google::protobuf::int32 number() const;
   1231   inline void set_number(::google::protobuf::int32 value);
   1232 
   1233   // optional .google.protobuf.EnumValueOptions options = 3;
   1234   inline bool has_options() const;
   1235   inline void clear_options();
   1236   static const int kOptionsFieldNumber = 3;
   1237   inline const ::google::protobuf::EnumValueOptions& options() const;
   1238   inline ::google::protobuf::EnumValueOptions* mutable_options();
   1239   inline ::google::protobuf::EnumValueOptions* release_options();
   1240   inline void set_allocated_options(::google::protobuf::EnumValueOptions* options);
   1241 
   1242   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueDescriptorProto)
   1243  private:
   1244   inline void set_has_name();
   1245   inline void clear_has_name();
   1246   inline void set_has_number();
   1247   inline void clear_has_number();
   1248   inline void set_has_options();
   1249   inline void clear_has_options();
   1250 
   1251   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1252 
   1253   ::google::protobuf::uint32 _has_bits_[1];
   1254   mutable int _cached_size_;
   1255   ::std::string* name_;
   1256   ::google::protobuf::EnumValueOptions* options_;
   1257   ::google::protobuf::int32 number_;
   1258   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1259   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1260   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1261 
   1262   void InitAsDefaultInstance();
   1263   static EnumValueDescriptorProto* default_instance_;
   1264 };
   1265 // -------------------------------------------------------------------
   1266 
   1267 class LIBPROTOBUF_EXPORT ServiceDescriptorProto : public ::google::protobuf::Message {
   1268  public:
   1269   ServiceDescriptorProto();
   1270   virtual ~ServiceDescriptorProto();
   1271 
   1272   ServiceDescriptorProto(const ServiceDescriptorProto& from);
   1273 
   1274   inline ServiceDescriptorProto& operator=(const ServiceDescriptorProto& from) {
   1275     CopyFrom(from);
   1276     return *this;
   1277   }
   1278 
   1279   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1280     return _unknown_fields_;
   1281   }
   1282 
   1283   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1284     return &_unknown_fields_;
   1285   }
   1286 
   1287   static const ::google::protobuf::Descriptor* descriptor();
   1288   static const ServiceDescriptorProto& default_instance();
   1289 
   1290   void Swap(ServiceDescriptorProto* other);
   1291 
   1292   // implements Message ----------------------------------------------
   1293 
   1294   ServiceDescriptorProto* New() const;
   1295   void CopyFrom(const ::google::protobuf::Message& from);
   1296   void MergeFrom(const ::google::protobuf::Message& from);
   1297   void CopyFrom(const ServiceDescriptorProto& from);
   1298   void MergeFrom(const ServiceDescriptorProto& from);
   1299   void Clear();
   1300   bool IsInitialized() const;
   1301 
   1302   int ByteSize() const;
   1303   bool MergePartialFromCodedStream(
   1304       ::google::protobuf::io::CodedInputStream* input);
   1305   void SerializeWithCachedSizes(
   1306       ::google::protobuf::io::CodedOutputStream* output) const;
   1307   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1308   int GetCachedSize() const { return _cached_size_; }
   1309   private:
   1310   void SharedCtor();
   1311   void SharedDtor();
   1312   void SetCachedSize(int size) const;
   1313   public:
   1314   ::google::protobuf::Metadata GetMetadata() const;
   1315 
   1316   // nested types ----------------------------------------------------
   1317 
   1318   // accessors -------------------------------------------------------
   1319 
   1320   // optional string name = 1;
   1321   inline bool has_name() const;
   1322   inline void clear_name();
   1323   static const int kNameFieldNumber = 1;
   1324   inline const ::std::string& name() const;
   1325   inline void set_name(const ::std::string& value);
   1326   inline void set_name(const char* value);
   1327   inline void set_name(const char* value, size_t size);
   1328   inline ::std::string* mutable_name();
   1329   inline ::std::string* release_name();
   1330   inline void set_allocated_name(::std::string* name);
   1331 
   1332   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   1333   inline int method_size() const;
   1334   inline void clear_method();
   1335   static const int kMethodFieldNumber = 2;
   1336   inline const ::google::protobuf::MethodDescriptorProto& method(int index) const;
   1337   inline ::google::protobuf::MethodDescriptorProto* mutable_method(int index);
   1338   inline ::google::protobuf::MethodDescriptorProto* add_method();
   1339   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >&
   1340       method() const;
   1341   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >*
   1342       mutable_method();
   1343 
   1344   // optional .google.protobuf.ServiceOptions options = 3;
   1345   inline bool has_options() const;
   1346   inline void clear_options();
   1347   static const int kOptionsFieldNumber = 3;
   1348   inline const ::google::protobuf::ServiceOptions& options() const;
   1349   inline ::google::protobuf::ServiceOptions* mutable_options();
   1350   inline ::google::protobuf::ServiceOptions* release_options();
   1351   inline void set_allocated_options(::google::protobuf::ServiceOptions* options);
   1352 
   1353   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceDescriptorProto)
   1354  private:
   1355   inline void set_has_name();
   1356   inline void clear_has_name();
   1357   inline void set_has_options();
   1358   inline void clear_has_options();
   1359 
   1360   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1361 
   1362   ::google::protobuf::uint32 _has_bits_[1];
   1363   mutable int _cached_size_;
   1364   ::std::string* name_;
   1365   ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto > method_;
   1366   ::google::protobuf::ServiceOptions* options_;
   1367   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1368   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1369   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1370 
   1371   void InitAsDefaultInstance();
   1372   static ServiceDescriptorProto* default_instance_;
   1373 };
   1374 // -------------------------------------------------------------------
   1375 
   1376 class LIBPROTOBUF_EXPORT MethodDescriptorProto : public ::google::protobuf::Message {
   1377  public:
   1378   MethodDescriptorProto();
   1379   virtual ~MethodDescriptorProto();
   1380 
   1381   MethodDescriptorProto(const MethodDescriptorProto& from);
   1382 
   1383   inline MethodDescriptorProto& operator=(const MethodDescriptorProto& from) {
   1384     CopyFrom(from);
   1385     return *this;
   1386   }
   1387 
   1388   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1389     return _unknown_fields_;
   1390   }
   1391 
   1392   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1393     return &_unknown_fields_;
   1394   }
   1395 
   1396   static const ::google::protobuf::Descriptor* descriptor();
   1397   static const MethodDescriptorProto& default_instance();
   1398 
   1399   void Swap(MethodDescriptorProto* other);
   1400 
   1401   // implements Message ----------------------------------------------
   1402 
   1403   MethodDescriptorProto* New() const;
   1404   void CopyFrom(const ::google::protobuf::Message& from);
   1405   void MergeFrom(const ::google::protobuf::Message& from);
   1406   void CopyFrom(const MethodDescriptorProto& from);
   1407   void MergeFrom(const MethodDescriptorProto& from);
   1408   void Clear();
   1409   bool IsInitialized() const;
   1410 
   1411   int ByteSize() const;
   1412   bool MergePartialFromCodedStream(
   1413       ::google::protobuf::io::CodedInputStream* input);
   1414   void SerializeWithCachedSizes(
   1415       ::google::protobuf::io::CodedOutputStream* output) const;
   1416   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1417   int GetCachedSize() const { return _cached_size_; }
   1418   private:
   1419   void SharedCtor();
   1420   void SharedDtor();
   1421   void SetCachedSize(int size) const;
   1422   public:
   1423   ::google::protobuf::Metadata GetMetadata() const;
   1424 
   1425   // nested types ----------------------------------------------------
   1426 
   1427   // accessors -------------------------------------------------------
   1428 
   1429   // optional string name = 1;
   1430   inline bool has_name() const;
   1431   inline void clear_name();
   1432   static const int kNameFieldNumber = 1;
   1433   inline const ::std::string& name() const;
   1434   inline void set_name(const ::std::string& value);
   1435   inline void set_name(const char* value);
   1436   inline void set_name(const char* value, size_t size);
   1437   inline ::std::string* mutable_name();
   1438   inline ::std::string* release_name();
   1439   inline void set_allocated_name(::std::string* name);
   1440 
   1441   // optional string input_type = 2;
   1442   inline bool has_input_type() const;
   1443   inline void clear_input_type();
   1444   static const int kInputTypeFieldNumber = 2;
   1445   inline const ::std::string& input_type() const;
   1446   inline void set_input_type(const ::std::string& value);
   1447   inline void set_input_type(const char* value);
   1448   inline void set_input_type(const char* value, size_t size);
   1449   inline ::std::string* mutable_input_type();
   1450   inline ::std::string* release_input_type();
   1451   inline void set_allocated_input_type(::std::string* input_type);
   1452 
   1453   // optional string output_type = 3;
   1454   inline bool has_output_type() const;
   1455   inline void clear_output_type();
   1456   static const int kOutputTypeFieldNumber = 3;
   1457   inline const ::std::string& output_type() const;
   1458   inline void set_output_type(const ::std::string& value);
   1459   inline void set_output_type(const char* value);
   1460   inline void set_output_type(const char* value, size_t size);
   1461   inline ::std::string* mutable_output_type();
   1462   inline ::std::string* release_output_type();
   1463   inline void set_allocated_output_type(::std::string* output_type);
   1464 
   1465   // optional .google.protobuf.MethodOptions options = 4;
   1466   inline bool has_options() const;
   1467   inline void clear_options();
   1468   static const int kOptionsFieldNumber = 4;
   1469   inline const ::google::protobuf::MethodOptions& options() const;
   1470   inline ::google::protobuf::MethodOptions* mutable_options();
   1471   inline ::google::protobuf::MethodOptions* release_options();
   1472   inline void set_allocated_options(::google::protobuf::MethodOptions* options);
   1473 
   1474   // @@protoc_insertion_point(class_scope:google.protobuf.MethodDescriptorProto)
   1475  private:
   1476   inline void set_has_name();
   1477   inline void clear_has_name();
   1478   inline void set_has_input_type();
   1479   inline void clear_has_input_type();
   1480   inline void set_has_output_type();
   1481   inline void clear_has_output_type();
   1482   inline void set_has_options();
   1483   inline void clear_has_options();
   1484 
   1485   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1486 
   1487   ::google::protobuf::uint32 _has_bits_[1];
   1488   mutable int _cached_size_;
   1489   ::std::string* name_;
   1490   ::std::string* input_type_;
   1491   ::std::string* output_type_;
   1492   ::google::protobuf::MethodOptions* options_;
   1493   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1494   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1495   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1496 
   1497   void InitAsDefaultInstance();
   1498   static MethodDescriptorProto* default_instance_;
   1499 };
   1500 // -------------------------------------------------------------------
   1501 
   1502 class LIBPROTOBUF_EXPORT FileOptions : public ::google::protobuf::Message {
   1503  public:
   1504   FileOptions();
   1505   virtual ~FileOptions();
   1506 
   1507   FileOptions(const FileOptions& from);
   1508 
   1509   inline FileOptions& operator=(const FileOptions& from) {
   1510     CopyFrom(from);
   1511     return *this;
   1512   }
   1513 
   1514   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1515     return _unknown_fields_;
   1516   }
   1517 
   1518   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1519     return &_unknown_fields_;
   1520   }
   1521 
   1522   static const ::google::protobuf::Descriptor* descriptor();
   1523   static const FileOptions& default_instance();
   1524 
   1525   void Swap(FileOptions* other);
   1526 
   1527   // implements Message ----------------------------------------------
   1528 
   1529   FileOptions* New() const;
   1530   void CopyFrom(const ::google::protobuf::Message& from);
   1531   void MergeFrom(const ::google::protobuf::Message& from);
   1532   void CopyFrom(const FileOptions& from);
   1533   void MergeFrom(const FileOptions& from);
   1534   void Clear();
   1535   bool IsInitialized() const;
   1536 
   1537   int ByteSize() const;
   1538   bool MergePartialFromCodedStream(
   1539       ::google::protobuf::io::CodedInputStream* input);
   1540   void SerializeWithCachedSizes(
   1541       ::google::protobuf::io::CodedOutputStream* output) const;
   1542   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1543   int GetCachedSize() const { return _cached_size_; }
   1544   private:
   1545   void SharedCtor();
   1546   void SharedDtor();
   1547   void SetCachedSize(int size) const;
   1548   public:
   1549   ::google::protobuf::Metadata GetMetadata() const;
   1550 
   1551   // nested types ----------------------------------------------------
   1552 
   1553   typedef FileOptions_OptimizeMode OptimizeMode;
   1554   static const OptimizeMode SPEED = FileOptions_OptimizeMode_SPEED;
   1555   static const OptimizeMode CODE_SIZE = FileOptions_OptimizeMode_CODE_SIZE;
   1556   static const OptimizeMode LITE_RUNTIME = FileOptions_OptimizeMode_LITE_RUNTIME;
   1557   static inline bool OptimizeMode_IsValid(int value) {
   1558     return FileOptions_OptimizeMode_IsValid(value);
   1559   }
   1560   static const OptimizeMode OptimizeMode_MIN =
   1561     FileOptions_OptimizeMode_OptimizeMode_MIN;
   1562   static const OptimizeMode OptimizeMode_MAX =
   1563     FileOptions_OptimizeMode_OptimizeMode_MAX;
   1564   static const int OptimizeMode_ARRAYSIZE =
   1565     FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE;
   1566   static inline const ::google::protobuf::EnumDescriptor*
   1567   OptimizeMode_descriptor() {
   1568     return FileOptions_OptimizeMode_descriptor();
   1569   }
   1570   static inline const ::std::string& OptimizeMode_Name(OptimizeMode value) {
   1571     return FileOptions_OptimizeMode_Name(value);
   1572   }
   1573   static inline bool OptimizeMode_Parse(const ::std::string& name,
   1574       OptimizeMode* value) {
   1575     return FileOptions_OptimizeMode_Parse(name, value);
   1576   }
   1577 
   1578   // accessors -------------------------------------------------------
   1579 
   1580   // optional string java_package = 1;
   1581   inline bool has_java_package() const;
   1582   inline void clear_java_package();
   1583   static const int kJavaPackageFieldNumber = 1;
   1584   inline const ::std::string& java_package() const;
   1585   inline void set_java_package(const ::std::string& value);
   1586   inline void set_java_package(const char* value);
   1587   inline void set_java_package(const char* value, size_t size);
   1588   inline ::std::string* mutable_java_package();
   1589   inline ::std::string* release_java_package();
   1590   inline void set_allocated_java_package(::std::string* java_package);
   1591 
   1592   // optional string java_outer_classname = 8;
   1593   inline bool has_java_outer_classname() const;
   1594   inline void clear_java_outer_classname();
   1595   static const int kJavaOuterClassnameFieldNumber = 8;
   1596   inline const ::std::string& java_outer_classname() const;
   1597   inline void set_java_outer_classname(const ::std::string& value);
   1598   inline void set_java_outer_classname(const char* value);
   1599   inline void set_java_outer_classname(const char* value, size_t size);
   1600   inline ::std::string* mutable_java_outer_classname();
   1601   inline ::std::string* release_java_outer_classname();
   1602   inline void set_allocated_java_outer_classname(::std::string* java_outer_classname);
   1603 
   1604   // optional bool java_multiple_files = 10 [default = false];
   1605   inline bool has_java_multiple_files() const;
   1606   inline void clear_java_multiple_files();
   1607   static const int kJavaMultipleFilesFieldNumber = 10;
   1608   inline bool java_multiple_files() const;
   1609   inline void set_java_multiple_files(bool value);
   1610 
   1611   // optional bool java_generate_equals_and_hash = 20 [default = false];
   1612   inline bool has_java_generate_equals_and_hash() const;
   1613   inline void clear_java_generate_equals_and_hash();
   1614   static const int kJavaGenerateEqualsAndHashFieldNumber = 20;
   1615   inline bool java_generate_equals_and_hash() const;
   1616   inline void set_java_generate_equals_and_hash(bool value);
   1617 
   1618   // optional bool java_string_check_utf8 = 27 [default = false];
   1619   inline bool has_java_string_check_utf8() const;
   1620   inline void clear_java_string_check_utf8();
   1621   static const int kJavaStringCheckUtf8FieldNumber = 27;
   1622   inline bool java_string_check_utf8() const;
   1623   inline void set_java_string_check_utf8(bool value);
   1624 
   1625   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   1626   inline bool has_optimize_for() const;
   1627   inline void clear_optimize_for();
   1628   static const int kOptimizeForFieldNumber = 9;
   1629   inline ::google::protobuf::FileOptions_OptimizeMode optimize_for() const;
   1630   inline void set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value);
   1631 
   1632   // optional string go_package = 11;
   1633   inline bool has_go_package() const;
   1634   inline void clear_go_package();
   1635   static const int kGoPackageFieldNumber = 11;
   1636   inline const ::std::string& go_package() const;
   1637   inline void set_go_package(const ::std::string& value);
   1638   inline void set_go_package(const char* value);
   1639   inline void set_go_package(const char* value, size_t size);
   1640   inline ::std::string* mutable_go_package();
   1641   inline ::std::string* release_go_package();
   1642   inline void set_allocated_go_package(::std::string* go_package);
   1643 
   1644   // optional bool cc_generic_services = 16 [default = false];
   1645   inline bool has_cc_generic_services() const;
   1646   inline void clear_cc_generic_services();
   1647   static const int kCcGenericServicesFieldNumber = 16;
   1648   inline bool cc_generic_services() const;
   1649   inline void set_cc_generic_services(bool value);
   1650 
   1651   // optional bool java_generic_services = 17 [default = false];
   1652   inline bool has_java_generic_services() const;
   1653   inline void clear_java_generic_services();
   1654   static const int kJavaGenericServicesFieldNumber = 17;
   1655   inline bool java_generic_services() const;
   1656   inline void set_java_generic_services(bool value);
   1657 
   1658   // optional bool py_generic_services = 18 [default = false];
   1659   inline bool has_py_generic_services() const;
   1660   inline void clear_py_generic_services();
   1661   static const int kPyGenericServicesFieldNumber = 18;
   1662   inline bool py_generic_services() const;
   1663   inline void set_py_generic_services(bool value);
   1664 
   1665   // optional bool deprecated = 23 [default = false];
   1666   inline bool has_deprecated() const;
   1667   inline void clear_deprecated();
   1668   static const int kDeprecatedFieldNumber = 23;
   1669   inline bool deprecated() const;
   1670   inline void set_deprecated(bool value);
   1671 
   1672   // optional bool javanano_use_deprecated_package = 38;
   1673   inline bool has_javanano_use_deprecated_package() const;
   1674   inline void clear_javanano_use_deprecated_package();
   1675   static const int kJavananoUseDeprecatedPackageFieldNumber = 38;
   1676   inline bool javanano_use_deprecated_package() const;
   1677   inline void set_javanano_use_deprecated_package(bool value);
   1678 
   1679   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1680   inline int uninterpreted_option_size() const;
   1681   inline void clear_uninterpreted_option();
   1682   static const int kUninterpretedOptionFieldNumber = 999;
   1683   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   1684   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   1685   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   1686   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   1687       uninterpreted_option() const;
   1688   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   1689       mutable_uninterpreted_option();
   1690 
   1691   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(FileOptions)
   1692   // @@protoc_insertion_point(class_scope:google.protobuf.FileOptions)
   1693  private:
   1694   inline void set_has_java_package();
   1695   inline void clear_has_java_package();
   1696   inline void set_has_java_outer_classname();
   1697   inline void clear_has_java_outer_classname();
   1698   inline void set_has_java_multiple_files();
   1699   inline void clear_has_java_multiple_files();
   1700   inline void set_has_java_generate_equals_and_hash();
   1701   inline void clear_has_java_generate_equals_and_hash();
   1702   inline void set_has_java_string_check_utf8();
   1703   inline void clear_has_java_string_check_utf8();
   1704   inline void set_has_optimize_for();
   1705   inline void clear_has_optimize_for();
   1706   inline void set_has_go_package();
   1707   inline void clear_has_go_package();
   1708   inline void set_has_cc_generic_services();
   1709   inline void clear_has_cc_generic_services();
   1710   inline void set_has_java_generic_services();
   1711   inline void clear_has_java_generic_services();
   1712   inline void set_has_py_generic_services();
   1713   inline void clear_has_py_generic_services();
   1714   inline void set_has_deprecated();
   1715   inline void clear_has_deprecated();
   1716   inline void set_has_javanano_use_deprecated_package();
   1717   inline void clear_has_javanano_use_deprecated_package();
   1718 
   1719   ::google::protobuf::internal::ExtensionSet _extensions_;
   1720 
   1721   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1722 
   1723   ::google::protobuf::uint32 _has_bits_[1];
   1724   mutable int _cached_size_;
   1725   ::std::string* java_package_;
   1726   ::std::string* java_outer_classname_;
   1727   bool java_multiple_files_;
   1728   bool java_generate_equals_and_hash_;
   1729   bool java_string_check_utf8_;
   1730   bool cc_generic_services_;
   1731   int optimize_for_;
   1732   ::std::string* go_package_;
   1733   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   1734   bool java_generic_services_;
   1735   bool py_generic_services_;
   1736   bool deprecated_;
   1737   bool javanano_use_deprecated_package_;
   1738   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1739   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1740   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1741 
   1742   void InitAsDefaultInstance();
   1743   static FileOptions* default_instance_;
   1744 };
   1745 // -------------------------------------------------------------------
   1746 
   1747 class LIBPROTOBUF_EXPORT MessageOptions : public ::google::protobuf::Message {
   1748  public:
   1749   MessageOptions();
   1750   virtual ~MessageOptions();
   1751 
   1752   MessageOptions(const MessageOptions& from);
   1753 
   1754   inline MessageOptions& operator=(const MessageOptions& from) {
   1755     CopyFrom(from);
   1756     return *this;
   1757   }
   1758 
   1759   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1760     return _unknown_fields_;
   1761   }
   1762 
   1763   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1764     return &_unknown_fields_;
   1765   }
   1766 
   1767   static const ::google::protobuf::Descriptor* descriptor();
   1768   static const MessageOptions& default_instance();
   1769 
   1770   void Swap(MessageOptions* other);
   1771 
   1772   // implements Message ----------------------------------------------
   1773 
   1774   MessageOptions* New() const;
   1775   void CopyFrom(const ::google::protobuf::Message& from);
   1776   void MergeFrom(const ::google::protobuf::Message& from);
   1777   void CopyFrom(const MessageOptions& from);
   1778   void MergeFrom(const MessageOptions& from);
   1779   void Clear();
   1780   bool IsInitialized() const;
   1781 
   1782   int ByteSize() const;
   1783   bool MergePartialFromCodedStream(
   1784       ::google::protobuf::io::CodedInputStream* input);
   1785   void SerializeWithCachedSizes(
   1786       ::google::protobuf::io::CodedOutputStream* output) const;
   1787   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1788   int GetCachedSize() const { return _cached_size_; }
   1789   private:
   1790   void SharedCtor();
   1791   void SharedDtor();
   1792   void SetCachedSize(int size) const;
   1793   public:
   1794   ::google::protobuf::Metadata GetMetadata() const;
   1795 
   1796   // nested types ----------------------------------------------------
   1797 
   1798   // accessors -------------------------------------------------------
   1799 
   1800   // optional bool message_set_wire_format = 1 [default = false];
   1801   inline bool has_message_set_wire_format() const;
   1802   inline void clear_message_set_wire_format();
   1803   static const int kMessageSetWireFormatFieldNumber = 1;
   1804   inline bool message_set_wire_format() const;
   1805   inline void set_message_set_wire_format(bool value);
   1806 
   1807   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   1808   inline bool has_no_standard_descriptor_accessor() const;
   1809   inline void clear_no_standard_descriptor_accessor();
   1810   static const int kNoStandardDescriptorAccessorFieldNumber = 2;
   1811   inline bool no_standard_descriptor_accessor() const;
   1812   inline void set_no_standard_descriptor_accessor(bool value);
   1813 
   1814   // optional bool deprecated = 3 [default = false];
   1815   inline bool has_deprecated() const;
   1816   inline void clear_deprecated();
   1817   static const int kDeprecatedFieldNumber = 3;
   1818   inline bool deprecated() const;
   1819   inline void set_deprecated(bool value);
   1820 
   1821   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1822   inline int uninterpreted_option_size() const;
   1823   inline void clear_uninterpreted_option();
   1824   static const int kUninterpretedOptionFieldNumber = 999;
   1825   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   1826   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   1827   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   1828   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   1829       uninterpreted_option() const;
   1830   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   1831       mutable_uninterpreted_option();
   1832 
   1833   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(MessageOptions)
   1834   // @@protoc_insertion_point(class_scope:google.protobuf.MessageOptions)
   1835  private:
   1836   inline void set_has_message_set_wire_format();
   1837   inline void clear_has_message_set_wire_format();
   1838   inline void set_has_no_standard_descriptor_accessor();
   1839   inline void clear_has_no_standard_descriptor_accessor();
   1840   inline void set_has_deprecated();
   1841   inline void clear_has_deprecated();
   1842 
   1843   ::google::protobuf::internal::ExtensionSet _extensions_;
   1844 
   1845   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1846 
   1847   ::google::protobuf::uint32 _has_bits_[1];
   1848   mutable int _cached_size_;
   1849   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   1850   bool message_set_wire_format_;
   1851   bool no_standard_descriptor_accessor_;
   1852   bool deprecated_;
   1853   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1854   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1855   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1856 
   1857   void InitAsDefaultInstance();
   1858   static MessageOptions* default_instance_;
   1859 };
   1860 // -------------------------------------------------------------------
   1861 
   1862 class LIBPROTOBUF_EXPORT FieldOptions : public ::google::protobuf::Message {
   1863  public:
   1864   FieldOptions();
   1865   virtual ~FieldOptions();
   1866 
   1867   FieldOptions(const FieldOptions& from);
   1868 
   1869   inline FieldOptions& operator=(const FieldOptions& from) {
   1870     CopyFrom(from);
   1871     return *this;
   1872   }
   1873 
   1874   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1875     return _unknown_fields_;
   1876   }
   1877 
   1878   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1879     return &_unknown_fields_;
   1880   }
   1881 
   1882   static const ::google::protobuf::Descriptor* descriptor();
   1883   static const FieldOptions& default_instance();
   1884 
   1885   void Swap(FieldOptions* other);
   1886 
   1887   // implements Message ----------------------------------------------
   1888 
   1889   FieldOptions* New() const;
   1890   void CopyFrom(const ::google::protobuf::Message& from);
   1891   void MergeFrom(const ::google::protobuf::Message& from);
   1892   void CopyFrom(const FieldOptions& from);
   1893   void MergeFrom(const FieldOptions& from);
   1894   void Clear();
   1895   bool IsInitialized() const;
   1896 
   1897   int ByteSize() const;
   1898   bool MergePartialFromCodedStream(
   1899       ::google::protobuf::io::CodedInputStream* input);
   1900   void SerializeWithCachedSizes(
   1901       ::google::protobuf::io::CodedOutputStream* output) const;
   1902   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1903   int GetCachedSize() const { return _cached_size_; }
   1904   private:
   1905   void SharedCtor();
   1906   void SharedDtor();
   1907   void SetCachedSize(int size) const;
   1908   public:
   1909   ::google::protobuf::Metadata GetMetadata() const;
   1910 
   1911   // nested types ----------------------------------------------------
   1912 
   1913   typedef FieldOptions_CType CType;
   1914   static const CType STRING = FieldOptions_CType_STRING;
   1915   static const CType CORD = FieldOptions_CType_CORD;
   1916   static const CType STRING_PIECE = FieldOptions_CType_STRING_PIECE;
   1917   static inline bool CType_IsValid(int value) {
   1918     return FieldOptions_CType_IsValid(value);
   1919   }
   1920   static const CType CType_MIN =
   1921     FieldOptions_CType_CType_MIN;
   1922   static const CType CType_MAX =
   1923     FieldOptions_CType_CType_MAX;
   1924   static const int CType_ARRAYSIZE =
   1925     FieldOptions_CType_CType_ARRAYSIZE;
   1926   static inline const ::google::protobuf::EnumDescriptor*
   1927   CType_descriptor() {
   1928     return FieldOptions_CType_descriptor();
   1929   }
   1930   static inline const ::std::string& CType_Name(CType value) {
   1931     return FieldOptions_CType_Name(value);
   1932   }
   1933   static inline bool CType_Parse(const ::std::string& name,
   1934       CType* value) {
   1935     return FieldOptions_CType_Parse(name, value);
   1936   }
   1937 
   1938   // accessors -------------------------------------------------------
   1939 
   1940   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   1941   inline bool has_ctype() const;
   1942   inline void clear_ctype();
   1943   static const int kCtypeFieldNumber = 1;
   1944   inline ::google::protobuf::FieldOptions_CType ctype() const;
   1945   inline void set_ctype(::google::protobuf::FieldOptions_CType value);
   1946 
   1947   // optional bool packed = 2;
   1948   inline bool has_packed() const;
   1949   inline void clear_packed();
   1950   static const int kPackedFieldNumber = 2;
   1951   inline bool packed() const;
   1952   inline void set_packed(bool value);
   1953 
   1954   // optional bool lazy = 5 [default = false];
   1955   inline bool has_lazy() const;
   1956   inline void clear_lazy();
   1957   static const int kLazyFieldNumber = 5;
   1958   inline bool lazy() const;
   1959   inline void set_lazy(bool value);
   1960 
   1961   // optional bool deprecated = 3 [default = false];
   1962   inline bool has_deprecated() const;
   1963   inline void clear_deprecated();
   1964   static const int kDeprecatedFieldNumber = 3;
   1965   inline bool deprecated() const;
   1966   inline void set_deprecated(bool value);
   1967 
   1968   // optional string experimental_map_key = 9;
   1969   inline bool has_experimental_map_key() const;
   1970   inline void clear_experimental_map_key();
   1971   static const int kExperimentalMapKeyFieldNumber = 9;
   1972   inline const ::std::string& experimental_map_key() const;
   1973   inline void set_experimental_map_key(const ::std::string& value);
   1974   inline void set_experimental_map_key(const char* value);
   1975   inline void set_experimental_map_key(const char* value, size_t size);
   1976   inline ::std::string* mutable_experimental_map_key();
   1977   inline ::std::string* release_experimental_map_key();
   1978   inline void set_allocated_experimental_map_key(::std::string* experimental_map_key);
   1979 
   1980   // optional bool weak = 10 [default = false];
   1981   inline bool has_weak() const;
   1982   inline void clear_weak();
   1983   static const int kWeakFieldNumber = 10;
   1984   inline bool weak() const;
   1985   inline void set_weak(bool value);
   1986 
   1987   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1988   inline int uninterpreted_option_size() const;
   1989   inline void clear_uninterpreted_option();
   1990   static const int kUninterpretedOptionFieldNumber = 999;
   1991   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   1992   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   1993   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   1994   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   1995       uninterpreted_option() const;
   1996   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   1997       mutable_uninterpreted_option();
   1998 
   1999   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(FieldOptions)
   2000   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions)
   2001  private:
   2002   inline void set_has_ctype();
   2003   inline void clear_has_ctype();
   2004   inline void set_has_packed();
   2005   inline void clear_has_packed();
   2006   inline void set_has_lazy();
   2007   inline void clear_has_lazy();
   2008   inline void set_has_deprecated();
   2009   inline void clear_has_deprecated();
   2010   inline void set_has_experimental_map_key();
   2011   inline void clear_has_experimental_map_key();
   2012   inline void set_has_weak();
   2013   inline void clear_has_weak();
   2014 
   2015   ::google::protobuf::internal::ExtensionSet _extensions_;
   2016 
   2017   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2018 
   2019   ::google::protobuf::uint32 _has_bits_[1];
   2020   mutable int _cached_size_;
   2021   int ctype_;
   2022   bool packed_;
   2023   bool lazy_;
   2024   bool deprecated_;
   2025   bool weak_;
   2026   ::std::string* experimental_map_key_;
   2027   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2028   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2029   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2030   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2031 
   2032   void InitAsDefaultInstance();
   2033   static FieldOptions* default_instance_;
   2034 };
   2035 // -------------------------------------------------------------------
   2036 
   2037 class LIBPROTOBUF_EXPORT EnumOptions : public ::google::protobuf::Message {
   2038  public:
   2039   EnumOptions();
   2040   virtual ~EnumOptions();
   2041 
   2042   EnumOptions(const EnumOptions& from);
   2043 
   2044   inline EnumOptions& operator=(const EnumOptions& from) {
   2045     CopyFrom(from);
   2046     return *this;
   2047   }
   2048 
   2049   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2050     return _unknown_fields_;
   2051   }
   2052 
   2053   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2054     return &_unknown_fields_;
   2055   }
   2056 
   2057   static const ::google::protobuf::Descriptor* descriptor();
   2058   static const EnumOptions& default_instance();
   2059 
   2060   void Swap(EnumOptions* other);
   2061 
   2062   // implements Message ----------------------------------------------
   2063 
   2064   EnumOptions* New() const;
   2065   void CopyFrom(const ::google::protobuf::Message& from);
   2066   void MergeFrom(const ::google::protobuf::Message& from);
   2067   void CopyFrom(const EnumOptions& from);
   2068   void MergeFrom(const EnumOptions& from);
   2069   void Clear();
   2070   bool IsInitialized() const;
   2071 
   2072   int ByteSize() const;
   2073   bool MergePartialFromCodedStream(
   2074       ::google::protobuf::io::CodedInputStream* input);
   2075   void SerializeWithCachedSizes(
   2076       ::google::protobuf::io::CodedOutputStream* output) const;
   2077   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2078   int GetCachedSize() const { return _cached_size_; }
   2079   private:
   2080   void SharedCtor();
   2081   void SharedDtor();
   2082   void SetCachedSize(int size) const;
   2083   public:
   2084   ::google::protobuf::Metadata GetMetadata() const;
   2085 
   2086   // nested types ----------------------------------------------------
   2087 
   2088   // accessors -------------------------------------------------------
   2089 
   2090   // optional bool allow_alias = 2;
   2091   inline bool has_allow_alias() const;
   2092   inline void clear_allow_alias();
   2093   static const int kAllowAliasFieldNumber = 2;
   2094   inline bool allow_alias() const;
   2095   inline void set_allow_alias(bool value);
   2096 
   2097   // optional bool deprecated = 3 [default = false];
   2098   inline bool has_deprecated() const;
   2099   inline void clear_deprecated();
   2100   static const int kDeprecatedFieldNumber = 3;
   2101   inline bool deprecated() const;
   2102   inline void set_deprecated(bool value);
   2103 
   2104   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2105   inline int uninterpreted_option_size() const;
   2106   inline void clear_uninterpreted_option();
   2107   static const int kUninterpretedOptionFieldNumber = 999;
   2108   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2109   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2110   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2111   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2112       uninterpreted_option() const;
   2113   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2114       mutable_uninterpreted_option();
   2115 
   2116   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(EnumOptions)
   2117   // @@protoc_insertion_point(class_scope:google.protobuf.EnumOptions)
   2118  private:
   2119   inline void set_has_allow_alias();
   2120   inline void clear_has_allow_alias();
   2121   inline void set_has_deprecated();
   2122   inline void clear_has_deprecated();
   2123 
   2124   ::google::protobuf::internal::ExtensionSet _extensions_;
   2125 
   2126   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2127 
   2128   ::google::protobuf::uint32 _has_bits_[1];
   2129   mutable int _cached_size_;
   2130   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2131   bool allow_alias_;
   2132   bool deprecated_;
   2133   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2134   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2135   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2136 
   2137   void InitAsDefaultInstance();
   2138   static EnumOptions* default_instance_;
   2139 };
   2140 // -------------------------------------------------------------------
   2141 
   2142 class LIBPROTOBUF_EXPORT EnumValueOptions : public ::google::protobuf::Message {
   2143  public:
   2144   EnumValueOptions();
   2145   virtual ~EnumValueOptions();
   2146 
   2147   EnumValueOptions(const EnumValueOptions& from);
   2148 
   2149   inline EnumValueOptions& operator=(const EnumValueOptions& from) {
   2150     CopyFrom(from);
   2151     return *this;
   2152   }
   2153 
   2154   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2155     return _unknown_fields_;
   2156   }
   2157 
   2158   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2159     return &_unknown_fields_;
   2160   }
   2161 
   2162   static const ::google::protobuf::Descriptor* descriptor();
   2163   static const EnumValueOptions& default_instance();
   2164 
   2165   void Swap(EnumValueOptions* other);
   2166 
   2167   // implements Message ----------------------------------------------
   2168 
   2169   EnumValueOptions* New() const;
   2170   void CopyFrom(const ::google::protobuf::Message& from);
   2171   void MergeFrom(const ::google::protobuf::Message& from);
   2172   void CopyFrom(const EnumValueOptions& from);
   2173   void MergeFrom(const EnumValueOptions& from);
   2174   void Clear();
   2175   bool IsInitialized() const;
   2176 
   2177   int ByteSize() const;
   2178   bool MergePartialFromCodedStream(
   2179       ::google::protobuf::io::CodedInputStream* input);
   2180   void SerializeWithCachedSizes(
   2181       ::google::protobuf::io::CodedOutputStream* output) const;
   2182   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2183   int GetCachedSize() const { return _cached_size_; }
   2184   private:
   2185   void SharedCtor();
   2186   void SharedDtor();
   2187   void SetCachedSize(int size) const;
   2188   public:
   2189   ::google::protobuf::Metadata GetMetadata() const;
   2190 
   2191   // nested types ----------------------------------------------------
   2192 
   2193   // accessors -------------------------------------------------------
   2194 
   2195   // optional bool deprecated = 1 [default = false];
   2196   inline bool has_deprecated() const;
   2197   inline void clear_deprecated();
   2198   static const int kDeprecatedFieldNumber = 1;
   2199   inline bool deprecated() const;
   2200   inline void set_deprecated(bool value);
   2201 
   2202   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2203   inline int uninterpreted_option_size() const;
   2204   inline void clear_uninterpreted_option();
   2205   static const int kUninterpretedOptionFieldNumber = 999;
   2206   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2207   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2208   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2209   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2210       uninterpreted_option() const;
   2211   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2212       mutable_uninterpreted_option();
   2213 
   2214   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(EnumValueOptions)
   2215   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueOptions)
   2216  private:
   2217   inline void set_has_deprecated();
   2218   inline void clear_has_deprecated();
   2219 
   2220   ::google::protobuf::internal::ExtensionSet _extensions_;
   2221 
   2222   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2223 
   2224   ::google::protobuf::uint32 _has_bits_[1];
   2225   mutable int _cached_size_;
   2226   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2227   bool deprecated_;
   2228   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2229   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2230   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2231 
   2232   void InitAsDefaultInstance();
   2233   static EnumValueOptions* default_instance_;
   2234 };
   2235 // -------------------------------------------------------------------
   2236 
   2237 class LIBPROTOBUF_EXPORT ServiceOptions : public ::google::protobuf::Message {
   2238  public:
   2239   ServiceOptions();
   2240   virtual ~ServiceOptions();
   2241 
   2242   ServiceOptions(const ServiceOptions& from);
   2243 
   2244   inline ServiceOptions& operator=(const ServiceOptions& from) {
   2245     CopyFrom(from);
   2246     return *this;
   2247   }
   2248 
   2249   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2250     return _unknown_fields_;
   2251   }
   2252 
   2253   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2254     return &_unknown_fields_;
   2255   }
   2256 
   2257   static const ::google::protobuf::Descriptor* descriptor();
   2258   static const ServiceOptions& default_instance();
   2259 
   2260   void Swap(ServiceOptions* other);
   2261 
   2262   // implements Message ----------------------------------------------
   2263 
   2264   ServiceOptions* New() const;
   2265   void CopyFrom(const ::google::protobuf::Message& from);
   2266   void MergeFrom(const ::google::protobuf::Message& from);
   2267   void CopyFrom(const ServiceOptions& from);
   2268   void MergeFrom(const ServiceOptions& from);
   2269   void Clear();
   2270   bool IsInitialized() const;
   2271 
   2272   int ByteSize() const;
   2273   bool MergePartialFromCodedStream(
   2274       ::google::protobuf::io::CodedInputStream* input);
   2275   void SerializeWithCachedSizes(
   2276       ::google::protobuf::io::CodedOutputStream* output) const;
   2277   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2278   int GetCachedSize() const { return _cached_size_; }
   2279   private:
   2280   void SharedCtor();
   2281   void SharedDtor();
   2282   void SetCachedSize(int size) const;
   2283   public:
   2284   ::google::protobuf::Metadata GetMetadata() const;
   2285 
   2286   // nested types ----------------------------------------------------
   2287 
   2288   // accessors -------------------------------------------------------
   2289 
   2290   // optional bool deprecated = 33 [default = false];
   2291   inline bool has_deprecated() const;
   2292   inline void clear_deprecated();
   2293   static const int kDeprecatedFieldNumber = 33;
   2294   inline bool deprecated() const;
   2295   inline void set_deprecated(bool value);
   2296 
   2297   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2298   inline int uninterpreted_option_size() const;
   2299   inline void clear_uninterpreted_option();
   2300   static const int kUninterpretedOptionFieldNumber = 999;
   2301   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2302   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2303   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2304   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2305       uninterpreted_option() const;
   2306   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2307       mutable_uninterpreted_option();
   2308 
   2309   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(ServiceOptions)
   2310   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceOptions)
   2311  private:
   2312   inline void set_has_deprecated();
   2313   inline void clear_has_deprecated();
   2314 
   2315   ::google::protobuf::internal::ExtensionSet _extensions_;
   2316 
   2317   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2318 
   2319   ::google::protobuf::uint32 _has_bits_[1];
   2320   mutable int _cached_size_;
   2321   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2322   bool deprecated_;
   2323   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2324   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2325   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2326 
   2327   void InitAsDefaultInstance();
   2328   static ServiceOptions* default_instance_;
   2329 };
   2330 // -------------------------------------------------------------------
   2331 
   2332 class LIBPROTOBUF_EXPORT MethodOptions : public ::google::protobuf::Message {
   2333  public:
   2334   MethodOptions();
   2335   virtual ~MethodOptions();
   2336 
   2337   MethodOptions(const MethodOptions& from);
   2338 
   2339   inline MethodOptions& operator=(const MethodOptions& from) {
   2340     CopyFrom(from);
   2341     return *this;
   2342   }
   2343 
   2344   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2345     return _unknown_fields_;
   2346   }
   2347 
   2348   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2349     return &_unknown_fields_;
   2350   }
   2351 
   2352   static const ::google::protobuf::Descriptor* descriptor();
   2353   static const MethodOptions& default_instance();
   2354 
   2355   void Swap(MethodOptions* other);
   2356 
   2357   // implements Message ----------------------------------------------
   2358 
   2359   MethodOptions* New() const;
   2360   void CopyFrom(const ::google::protobuf::Message& from);
   2361   void MergeFrom(const ::google::protobuf::Message& from);
   2362   void CopyFrom(const MethodOptions& from);
   2363   void MergeFrom(const MethodOptions& from);
   2364   void Clear();
   2365   bool IsInitialized() const;
   2366 
   2367   int ByteSize() const;
   2368   bool MergePartialFromCodedStream(
   2369       ::google::protobuf::io::CodedInputStream* input);
   2370   void SerializeWithCachedSizes(
   2371       ::google::protobuf::io::CodedOutputStream* output) const;
   2372   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2373   int GetCachedSize() const { return _cached_size_; }
   2374   private:
   2375   void SharedCtor();
   2376   void SharedDtor();
   2377   void SetCachedSize(int size) const;
   2378   public:
   2379   ::google::protobuf::Metadata GetMetadata() const;
   2380 
   2381   // nested types ----------------------------------------------------
   2382 
   2383   // accessors -------------------------------------------------------
   2384 
   2385   // optional bool deprecated = 33 [default = false];
   2386   inline bool has_deprecated() const;
   2387   inline void clear_deprecated();
   2388   static const int kDeprecatedFieldNumber = 33;
   2389   inline bool deprecated() const;
   2390   inline void set_deprecated(bool value);
   2391 
   2392   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2393   inline int uninterpreted_option_size() const;
   2394   inline void clear_uninterpreted_option();
   2395   static const int kUninterpretedOptionFieldNumber = 999;
   2396   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2397   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2398   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2399   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2400       uninterpreted_option() const;
   2401   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2402       mutable_uninterpreted_option();
   2403 
   2404   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(MethodOptions)
   2405   // @@protoc_insertion_point(class_scope:google.protobuf.MethodOptions)
   2406  private:
   2407   inline void set_has_deprecated();
   2408   inline void clear_has_deprecated();
   2409 
   2410   ::google::protobuf::internal::ExtensionSet _extensions_;
   2411 
   2412   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2413 
   2414   ::google::protobuf::uint32 _has_bits_[1];
   2415   mutable int _cached_size_;
   2416   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2417   bool deprecated_;
   2418   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2419   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2420   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2421 
   2422   void InitAsDefaultInstance();
   2423   static MethodOptions* default_instance_;
   2424 };
   2425 // -------------------------------------------------------------------
   2426 
   2427 class LIBPROTOBUF_EXPORT UninterpretedOption_NamePart : public ::google::protobuf::Message {
   2428  public:
   2429   UninterpretedOption_NamePart();
   2430   virtual ~UninterpretedOption_NamePart();
   2431 
   2432   UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from);
   2433 
   2434   inline UninterpretedOption_NamePart& operator=(const UninterpretedOption_NamePart& from) {
   2435     CopyFrom(from);
   2436     return *this;
   2437   }
   2438 
   2439   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2440     return _unknown_fields_;
   2441   }
   2442 
   2443   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2444     return &_unknown_fields_;
   2445   }
   2446 
   2447   static const ::google::protobuf::Descriptor* descriptor();
   2448   static const UninterpretedOption_NamePart& default_instance();
   2449 
   2450   void Swap(UninterpretedOption_NamePart* other);
   2451 
   2452   // implements Message ----------------------------------------------
   2453 
   2454   UninterpretedOption_NamePart* New() const;
   2455   void CopyFrom(const ::google::protobuf::Message& from);
   2456   void MergeFrom(const ::google::protobuf::Message& from);
   2457   void CopyFrom(const UninterpretedOption_NamePart& from);
   2458   void MergeFrom(const UninterpretedOption_NamePart& from);
   2459   void Clear();
   2460   bool IsInitialized() const;
   2461 
   2462   int ByteSize() const;
   2463   bool MergePartialFromCodedStream(
   2464       ::google::protobuf::io::CodedInputStream* input);
   2465   void SerializeWithCachedSizes(
   2466       ::google::protobuf::io::CodedOutputStream* output) const;
   2467   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2468   int GetCachedSize() const { return _cached_size_; }
   2469   private:
   2470   void SharedCtor();
   2471   void SharedDtor();
   2472   void SetCachedSize(int size) const;
   2473   public:
   2474   ::google::protobuf::Metadata GetMetadata() const;
   2475 
   2476   // nested types ----------------------------------------------------
   2477 
   2478   // accessors -------------------------------------------------------
   2479 
   2480   // required string name_part = 1;
   2481   inline bool has_name_part() const;
   2482   inline void clear_name_part();
   2483   static const int kNamePartFieldNumber = 1;
   2484   inline const ::std::string& name_part() const;
   2485   inline void set_name_part(const ::std::string& value);
   2486   inline void set_name_part(const char* value);
   2487   inline void set_name_part(const char* value, size_t size);
   2488   inline ::std::string* mutable_name_part();
   2489   inline ::std::string* release_name_part();
   2490   inline void set_allocated_name_part(::std::string* name_part);
   2491 
   2492   // required bool is_extension = 2;
   2493   inline bool has_is_extension() const;
   2494   inline void clear_is_extension();
   2495   static const int kIsExtensionFieldNumber = 2;
   2496   inline bool is_extension() const;
   2497   inline void set_is_extension(bool value);
   2498 
   2499   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption.NamePart)
   2500  private:
   2501   inline void set_has_name_part();
   2502   inline void clear_has_name_part();
   2503   inline void set_has_is_extension();
   2504   inline void clear_has_is_extension();
   2505 
   2506   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2507 
   2508   ::google::protobuf::uint32 _has_bits_[1];
   2509   mutable int _cached_size_;
   2510   ::std::string* name_part_;
   2511   bool is_extension_;
   2512   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2513   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2514   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2515 
   2516   void InitAsDefaultInstance();
   2517   static UninterpretedOption_NamePart* default_instance_;
   2518 };
   2519 // -------------------------------------------------------------------
   2520 
   2521 class LIBPROTOBUF_EXPORT UninterpretedOption : public ::google::protobuf::Message {
   2522  public:
   2523   UninterpretedOption();
   2524   virtual ~UninterpretedOption();
   2525 
   2526   UninterpretedOption(const UninterpretedOption& from);
   2527 
   2528   inline UninterpretedOption& operator=(const UninterpretedOption& from) {
   2529     CopyFrom(from);
   2530     return *this;
   2531   }
   2532 
   2533   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2534     return _unknown_fields_;
   2535   }
   2536 
   2537   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2538     return &_unknown_fields_;
   2539   }
   2540 
   2541   static const ::google::protobuf::Descriptor* descriptor();
   2542   static const UninterpretedOption& default_instance();
   2543 
   2544   void Swap(UninterpretedOption* other);
   2545 
   2546   // implements Message ----------------------------------------------
   2547 
   2548   UninterpretedOption* New() const;
   2549   void CopyFrom(const ::google::protobuf::Message& from);
   2550   void MergeFrom(const ::google::protobuf::Message& from);
   2551   void CopyFrom(const UninterpretedOption& from);
   2552   void MergeFrom(const UninterpretedOption& from);
   2553   void Clear();
   2554   bool IsInitialized() const;
   2555 
   2556   int ByteSize() const;
   2557   bool MergePartialFromCodedStream(
   2558       ::google::protobuf::io::CodedInputStream* input);
   2559   void SerializeWithCachedSizes(
   2560       ::google::protobuf::io::CodedOutputStream* output) const;
   2561   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2562   int GetCachedSize() const { return _cached_size_; }
   2563   private:
   2564   void SharedCtor();
   2565   void SharedDtor();
   2566   void SetCachedSize(int size) const;
   2567   public:
   2568   ::google::protobuf::Metadata GetMetadata() const;
   2569 
   2570   // nested types ----------------------------------------------------
   2571 
   2572   typedef UninterpretedOption_NamePart NamePart;
   2573 
   2574   // accessors -------------------------------------------------------
   2575 
   2576   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   2577   inline int name_size() const;
   2578   inline void clear_name();
   2579   static const int kNameFieldNumber = 2;
   2580   inline const ::google::protobuf::UninterpretedOption_NamePart& name(int index) const;
   2581   inline ::google::protobuf::UninterpretedOption_NamePart* mutable_name(int index);
   2582   inline ::google::protobuf::UninterpretedOption_NamePart* add_name();
   2583   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >&
   2584       name() const;
   2585   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >*
   2586       mutable_name();
   2587 
   2588   // optional string identifier_value = 3;
   2589   inline bool has_identifier_value() const;
   2590   inline void clear_identifier_value();
   2591   static const int kIdentifierValueFieldNumber = 3;
   2592   inline const ::std::string& identifier_value() const;
   2593   inline void set_identifier_value(const ::std::string& value);
   2594   inline void set_identifier_value(const char* value);
   2595   inline void set_identifier_value(const char* value, size_t size);
   2596   inline ::std::string* mutable_identifier_value();
   2597   inline ::std::string* release_identifier_value();
   2598   inline void set_allocated_identifier_value(::std::string* identifier_value);
   2599 
   2600   // optional uint64 positive_int_value = 4;
   2601   inline bool has_positive_int_value() const;
   2602   inline void clear_positive_int_value();
   2603   static const int kPositiveIntValueFieldNumber = 4;
   2604   inline ::google::protobuf::uint64 positive_int_value() const;
   2605   inline void set_positive_int_value(::google::protobuf::uint64 value);
   2606 
   2607   // optional int64 negative_int_value = 5;
   2608   inline bool has_negative_int_value() const;
   2609   inline void clear_negative_int_value();
   2610   static const int kNegativeIntValueFieldNumber = 5;
   2611   inline ::google::protobuf::int64 negative_int_value() const;
   2612   inline void set_negative_int_value(::google::protobuf::int64 value);
   2613 
   2614   // optional double double_value = 6;
   2615   inline bool has_double_value() const;
   2616   inline void clear_double_value();
   2617   static const int kDoubleValueFieldNumber = 6;
   2618   inline double double_value() const;
   2619   inline void set_double_value(double value);
   2620 
   2621   // optional bytes string_value = 7;
   2622   inline bool has_string_value() const;
   2623   inline void clear_string_value();
   2624   static const int kStringValueFieldNumber = 7;
   2625   inline const ::std::string& string_value() const;
   2626   inline void set_string_value(const ::std::string& value);
   2627   inline void set_string_value(const char* value);
   2628   inline void set_string_value(const void* value, size_t size);
   2629   inline ::std::string* mutable_string_value();
   2630   inline ::std::string* release_string_value();
   2631   inline void set_allocated_string_value(::std::string* string_value);
   2632 
   2633   // optional string aggregate_value = 8;
   2634   inline bool has_aggregate_value() const;
   2635   inline void clear_aggregate_value();
   2636   static const int kAggregateValueFieldNumber = 8;
   2637   inline const ::std::string& aggregate_value() const;
   2638   inline void set_aggregate_value(const ::std::string& value);
   2639   inline void set_aggregate_value(const char* value);
   2640   inline void set_aggregate_value(const char* value, size_t size);
   2641   inline ::std::string* mutable_aggregate_value();
   2642   inline ::std::string* release_aggregate_value();
   2643   inline void set_allocated_aggregate_value(::std::string* aggregate_value);
   2644 
   2645   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption)
   2646  private:
   2647   inline void set_has_identifier_value();
   2648   inline void clear_has_identifier_value();
   2649   inline void set_has_positive_int_value();
   2650   inline void clear_has_positive_int_value();
   2651   inline void set_has_negative_int_value();
   2652   inline void clear_has_negative_int_value();
   2653   inline void set_has_double_value();
   2654   inline void clear_has_double_value();
   2655   inline void set_has_string_value();
   2656   inline void clear_has_string_value();
   2657   inline void set_has_aggregate_value();
   2658   inline void clear_has_aggregate_value();
   2659 
   2660   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2661 
   2662   ::google::protobuf::uint32 _has_bits_[1];
   2663   mutable int _cached_size_;
   2664   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart > name_;
   2665   ::std::string* identifier_value_;
   2666   ::google::protobuf::uint64 positive_int_value_;
   2667   ::google::protobuf::int64 negative_int_value_;
   2668   double double_value_;
   2669   ::std::string* string_value_;
   2670   ::std::string* aggregate_value_;
   2671   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2672   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2673   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2674 
   2675   void InitAsDefaultInstance();
   2676   static UninterpretedOption* default_instance_;
   2677 };
   2678 // -------------------------------------------------------------------
   2679 
   2680 class LIBPROTOBUF_EXPORT SourceCodeInfo_Location : public ::google::protobuf::Message {
   2681  public:
   2682   SourceCodeInfo_Location();
   2683   virtual ~SourceCodeInfo_Location();
   2684 
   2685   SourceCodeInfo_Location(const SourceCodeInfo_Location& from);
   2686 
   2687   inline SourceCodeInfo_Location& operator=(const SourceCodeInfo_Location& from) {
   2688     CopyFrom(from);
   2689     return *this;
   2690   }
   2691 
   2692   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2693     return _unknown_fields_;
   2694   }
   2695 
   2696   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2697     return &_unknown_fields_;
   2698   }
   2699 
   2700   static const ::google::protobuf::Descriptor* descriptor();
   2701   static const SourceCodeInfo_Location& default_instance();
   2702 
   2703   void Swap(SourceCodeInfo_Location* other);
   2704 
   2705   // implements Message ----------------------------------------------
   2706 
   2707   SourceCodeInfo_Location* New() const;
   2708   void CopyFrom(const ::google::protobuf::Message& from);
   2709   void MergeFrom(const ::google::protobuf::Message& from);
   2710   void CopyFrom(const SourceCodeInfo_Location& from);
   2711   void MergeFrom(const SourceCodeInfo_Location& from);
   2712   void Clear();
   2713   bool IsInitialized() const;
   2714 
   2715   int ByteSize() const;
   2716   bool MergePartialFromCodedStream(
   2717       ::google::protobuf::io::CodedInputStream* input);
   2718   void SerializeWithCachedSizes(
   2719       ::google::protobuf::io::CodedOutputStream* output) const;
   2720   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2721   int GetCachedSize() const { return _cached_size_; }
   2722   private:
   2723   void SharedCtor();
   2724   void SharedDtor();
   2725   void SetCachedSize(int size) const;
   2726   public:
   2727   ::google::protobuf::Metadata GetMetadata() const;
   2728 
   2729   // nested types ----------------------------------------------------
   2730 
   2731   // accessors -------------------------------------------------------
   2732 
   2733   // repeated int32 path = 1 [packed = true];
   2734   inline int path_size() const;
   2735   inline void clear_path();
   2736   static const int kPathFieldNumber = 1;
   2737   inline ::google::protobuf::int32 path(int index) const;
   2738   inline void set_path(int index, ::google::protobuf::int32 value);
   2739   inline void add_path(::google::protobuf::int32 value);
   2740   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   2741       path() const;
   2742   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   2743       mutable_path();
   2744 
   2745   // repeated int32 span = 2 [packed = true];
   2746   inline int span_size() const;
   2747   inline void clear_span();
   2748   static const int kSpanFieldNumber = 2;
   2749   inline ::google::protobuf::int32 span(int index) const;
   2750   inline void set_span(int index, ::google::protobuf::int32 value);
   2751   inline void add_span(::google::protobuf::int32 value);
   2752   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   2753       span() const;
   2754   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   2755       mutable_span();
   2756 
   2757   // optional string leading_comments = 3;
   2758   inline bool has_leading_comments() const;
   2759   inline void clear_leading_comments();
   2760   static const int kLeadingCommentsFieldNumber = 3;
   2761   inline const ::std::string& leading_comments() const;
   2762   inline void set_leading_comments(const ::std::string& value);
   2763   inline void set_leading_comments(const char* value);
   2764   inline void set_leading_comments(const char* value, size_t size);
   2765   inline ::std::string* mutable_leading_comments();
   2766   inline ::std::string* release_leading_comments();
   2767   inline void set_allocated_leading_comments(::std::string* leading_comments);
   2768 
   2769   // optional string trailing_comments = 4;
   2770   inline bool has_trailing_comments() const;
   2771   inline void clear_trailing_comments();
   2772   static const int kTrailingCommentsFieldNumber = 4;
   2773   inline const ::std::string& trailing_comments() const;
   2774   inline void set_trailing_comments(const ::std::string& value);
   2775   inline void set_trailing_comments(const char* value);
   2776   inline void set_trailing_comments(const char* value, size_t size);
   2777   inline ::std::string* mutable_trailing_comments();
   2778   inline ::std::string* release_trailing_comments();
   2779   inline void set_allocated_trailing_comments(::std::string* trailing_comments);
   2780 
   2781   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo.Location)
   2782  private:
   2783   inline void set_has_leading_comments();
   2784   inline void clear_has_leading_comments();
   2785   inline void set_has_trailing_comments();
   2786   inline void clear_has_trailing_comments();
   2787 
   2788   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2789 
   2790   ::google::protobuf::uint32 _has_bits_[1];
   2791   mutable int _cached_size_;
   2792   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > path_;
   2793   mutable int _path_cached_byte_size_;
   2794   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > span_;
   2795   mutable int _span_cached_byte_size_;
   2796   ::std::string* leading_comments_;
   2797   ::std::string* trailing_comments_;
   2798   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2799   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2800   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2801 
   2802   void InitAsDefaultInstance();
   2803   static SourceCodeInfo_Location* default_instance_;
   2804 };
   2805 // -------------------------------------------------------------------
   2806 
   2807 class LIBPROTOBUF_EXPORT SourceCodeInfo : public ::google::protobuf::Message {
   2808  public:
   2809   SourceCodeInfo();
   2810   virtual ~SourceCodeInfo();
   2811 
   2812   SourceCodeInfo(const SourceCodeInfo& from);
   2813 
   2814   inline SourceCodeInfo& operator=(const SourceCodeInfo& from) {
   2815     CopyFrom(from);
   2816     return *this;
   2817   }
   2818 
   2819   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2820     return _unknown_fields_;
   2821   }
   2822 
   2823   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2824     return &_unknown_fields_;
   2825   }
   2826 
   2827   static const ::google::protobuf::Descriptor* descriptor();
   2828   static const SourceCodeInfo& default_instance();
   2829 
   2830   void Swap(SourceCodeInfo* other);
   2831 
   2832   // implements Message ----------------------------------------------
   2833 
   2834   SourceCodeInfo* New() const;
   2835   void CopyFrom(const ::google::protobuf::Message& from);
   2836   void MergeFrom(const ::google::protobuf::Message& from);
   2837   void CopyFrom(const SourceCodeInfo& from);
   2838   void MergeFrom(const SourceCodeInfo& from);
   2839   void Clear();
   2840   bool IsInitialized() const;
   2841 
   2842   int ByteSize() const;
   2843   bool MergePartialFromCodedStream(
   2844       ::google::protobuf::io::CodedInputStream* input);
   2845   void SerializeWithCachedSizes(
   2846       ::google::protobuf::io::CodedOutputStream* output) const;
   2847   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2848   int GetCachedSize() const { return _cached_size_; }
   2849   private:
   2850   void SharedCtor();
   2851   void SharedDtor();
   2852   void SetCachedSize(int size) const;
   2853   public:
   2854   ::google::protobuf::Metadata GetMetadata() const;
   2855 
   2856   // nested types ----------------------------------------------------
   2857 
   2858   typedef SourceCodeInfo_Location Location;
   2859 
   2860   // accessors -------------------------------------------------------
   2861 
   2862   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   2863   inline int location_size() const;
   2864   inline void clear_location();
   2865   static const int kLocationFieldNumber = 1;
   2866   inline const ::google::protobuf::SourceCodeInfo_Location& location(int index) const;
   2867   inline ::google::protobuf::SourceCodeInfo_Location* mutable_location(int index);
   2868   inline ::google::protobuf::SourceCodeInfo_Location* add_location();
   2869   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >&
   2870       location() const;
   2871   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >*
   2872       mutable_location();
   2873 
   2874   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo)
   2875  private:
   2876 
   2877   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2878 
   2879   ::google::protobuf::uint32 _has_bits_[1];
   2880   mutable int _cached_size_;
   2881   ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location > location_;
   2882   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2883   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2884   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2885 
   2886   void InitAsDefaultInstance();
   2887   static SourceCodeInfo* default_instance_;
   2888 };
   2889 // ===================================================================
   2890 
   2891 
   2892 // ===================================================================
   2893 
   2894 // FileDescriptorSet
   2895 
   2896 // repeated .google.protobuf.FileDescriptorProto file = 1;
   2897 inline int FileDescriptorSet::file_size() const {
   2898   return file_.size();
   2899 }
   2900 inline void FileDescriptorSet::clear_file() {
   2901   file_.Clear();
   2902 }
   2903 inline const ::google::protobuf::FileDescriptorProto& FileDescriptorSet::file(int index) const {
   2904   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorSet.file)
   2905   return file_.Get(index);
   2906 }
   2907 inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::mutable_file(int index) {
   2908   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorSet.file)
   2909   return file_.Mutable(index);
   2910 }
   2911 inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::add_file() {
   2912   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorSet.file)
   2913   return file_.Add();
   2914 }
   2915 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >&
   2916 FileDescriptorSet::file() const {
   2917   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorSet.file)
   2918   return file_;
   2919 }
   2920 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >*
   2921 FileDescriptorSet::mutable_file() {
   2922   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorSet.file)
   2923   return &file_;
   2924 }
   2925 
   2926 // -------------------------------------------------------------------
   2927 
   2928 // FileDescriptorProto
   2929 
   2930 // optional string name = 1;
   2931 inline bool FileDescriptorProto::has_name() const {
   2932   return (_has_bits_[0] & 0x00000001u) != 0;
   2933 }
   2934 inline void FileDescriptorProto::set_has_name() {
   2935   _has_bits_[0] |= 0x00000001u;
   2936 }
   2937 inline void FileDescriptorProto::clear_has_name() {
   2938   _has_bits_[0] &= ~0x00000001u;
   2939 }
   2940 inline void FileDescriptorProto::clear_name() {
   2941   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2942     name_->clear();
   2943   }
   2944   clear_has_name();
   2945 }
   2946 inline const ::std::string& FileDescriptorProto::name() const {
   2947   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.name)
   2948   return *name_;
   2949 }
   2950 inline void FileDescriptorProto::set_name(const ::std::string& value) {
   2951   set_has_name();
   2952   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2953     name_ = new ::std::string;
   2954   }
   2955   name_->assign(value);
   2956   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.name)
   2957 }
   2958 inline void FileDescriptorProto::set_name(const char* value) {
   2959   set_has_name();
   2960   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2961     name_ = new ::std::string;
   2962   }
   2963   name_->assign(value);
   2964   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.name)
   2965 }
   2966 inline void FileDescriptorProto::set_name(const char* value, size_t size) {
   2967   set_has_name();
   2968   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2969     name_ = new ::std::string;
   2970   }
   2971   name_->assign(reinterpret_cast<const char*>(value), size);
   2972   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.name)
   2973 }
   2974 inline ::std::string* FileDescriptorProto::mutable_name() {
   2975   set_has_name();
   2976   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2977     name_ = new ::std::string;
   2978   }
   2979   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.name)
   2980   return name_;
   2981 }
   2982 inline ::std::string* FileDescriptorProto::release_name() {
   2983   clear_has_name();
   2984   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2985     return NULL;
   2986   } else {
   2987     ::std::string* temp = name_;
   2988     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2989     return temp;
   2990   }
   2991 }
   2992 inline void FileDescriptorProto::set_allocated_name(::std::string* name) {
   2993   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2994     delete name_;
   2995   }
   2996   if (name) {
   2997     set_has_name();
   2998     name_ = name;
   2999   } else {
   3000     clear_has_name();
   3001     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3002   }
   3003   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.name)
   3004 }
   3005 
   3006 // optional string package = 2;
   3007 inline bool FileDescriptorProto::has_package() const {
   3008   return (_has_bits_[0] & 0x00000002u) != 0;
   3009 }
   3010 inline void FileDescriptorProto::set_has_package() {
   3011   _has_bits_[0] |= 0x00000002u;
   3012 }
   3013 inline void FileDescriptorProto::clear_has_package() {
   3014   _has_bits_[0] &= ~0x00000002u;
   3015 }
   3016 inline void FileDescriptorProto::clear_package() {
   3017   if (package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3018     package_->clear();
   3019   }
   3020   clear_has_package();
   3021 }
   3022 inline const ::std::string& FileDescriptorProto::package() const {
   3023   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.package)
   3024   return *package_;
   3025 }
   3026 inline void FileDescriptorProto::set_package(const ::std::string& value) {
   3027   set_has_package();
   3028   if (package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3029     package_ = new ::std::string;
   3030   }
   3031   package_->assign(value);
   3032   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.package)
   3033 }
   3034 inline void FileDescriptorProto::set_package(const char* value) {
   3035   set_has_package();
   3036   if (package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3037     package_ = new ::std::string;
   3038   }
   3039   package_->assign(value);
   3040   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.package)
   3041 }
   3042 inline void FileDescriptorProto::set_package(const char* value, size_t size) {
   3043   set_has_package();
   3044   if (package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3045     package_ = new ::std::string;
   3046   }
   3047   package_->assign(reinterpret_cast<const char*>(value), size);
   3048   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.package)
   3049 }
   3050 inline ::std::string* FileDescriptorProto::mutable_package() {
   3051   set_has_package();
   3052   if (package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3053     package_ = new ::std::string;
   3054   }
   3055   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.package)
   3056   return package_;
   3057 }
   3058 inline ::std::string* FileDescriptorProto::release_package() {
   3059   clear_has_package();
   3060   if (package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3061     return NULL;
   3062   } else {
   3063     ::std::string* temp = package_;
   3064     package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3065     return temp;
   3066   }
   3067 }
   3068 inline void FileDescriptorProto::set_allocated_package(::std::string* package) {
   3069   if (package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3070     delete package_;
   3071   }
   3072   if (package) {
   3073     set_has_package();
   3074     package_ = package;
   3075   } else {
   3076     clear_has_package();
   3077     package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3078   }
   3079   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.package)
   3080 }
   3081 
   3082 // repeated string dependency = 3;
   3083 inline int FileDescriptorProto::dependency_size() const {
   3084   return dependency_.size();
   3085 }
   3086 inline void FileDescriptorProto::clear_dependency() {
   3087   dependency_.Clear();
   3088 }
   3089 inline const ::std::string& FileDescriptorProto::dependency(int index) const {
   3090   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.dependency)
   3091   return dependency_.Get(index);
   3092 }
   3093 inline ::std::string* FileDescriptorProto::mutable_dependency(int index) {
   3094   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.dependency)
   3095   return dependency_.Mutable(index);
   3096 }
   3097 inline void FileDescriptorProto::set_dependency(int index, const ::std::string& value) {
   3098   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.dependency)
   3099   dependency_.Mutable(index)->assign(value);
   3100 }
   3101 inline void FileDescriptorProto::set_dependency(int index, const char* value) {
   3102   dependency_.Mutable(index)->assign(value);
   3103   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.dependency)
   3104 }
   3105 inline void FileDescriptorProto::set_dependency(int index, const char* value, size_t size) {
   3106   dependency_.Mutable(index)->assign(
   3107     reinterpret_cast<const char*>(value), size);
   3108   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.dependency)
   3109 }
   3110 inline ::std::string* FileDescriptorProto::add_dependency() {
   3111   return dependency_.Add();
   3112 }
   3113 inline void FileDescriptorProto::add_dependency(const ::std::string& value) {
   3114   dependency_.Add()->assign(value);
   3115   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.dependency)
   3116 }
   3117 inline void FileDescriptorProto::add_dependency(const char* value) {
   3118   dependency_.Add()->assign(value);
   3119   // @@protoc_insertion_point(field_add_char:google.protobuf.FileDescriptorProto.dependency)
   3120 }
   3121 inline void FileDescriptorProto::add_dependency(const char* value, size_t size) {
   3122   dependency_.Add()->assign(reinterpret_cast<const char*>(value), size);
   3123   // @@protoc_insertion_point(field_add_pointer:google.protobuf.FileDescriptorProto.dependency)
   3124 }
   3125 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
   3126 FileDescriptorProto::dependency() const {
   3127   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.dependency)
   3128   return dependency_;
   3129 }
   3130 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
   3131 FileDescriptorProto::mutable_dependency() {
   3132   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.dependency)
   3133   return &dependency_;
   3134 }
   3135 
   3136 // repeated int32 public_dependency = 10;
   3137 inline int FileDescriptorProto::public_dependency_size() const {
   3138   return public_dependency_.size();
   3139 }
   3140 inline void FileDescriptorProto::clear_public_dependency() {
   3141   public_dependency_.Clear();
   3142 }
   3143 inline ::google::protobuf::int32 FileDescriptorProto::public_dependency(int index) const {
   3144   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.public_dependency)
   3145   return public_dependency_.Get(index);
   3146 }
   3147 inline void FileDescriptorProto::set_public_dependency(int index, ::google::protobuf::int32 value) {
   3148   public_dependency_.Set(index, value);
   3149   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.public_dependency)
   3150 }
   3151 inline void FileDescriptorProto::add_public_dependency(::google::protobuf::int32 value) {
   3152   public_dependency_.Add(value);
   3153   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.public_dependency)
   3154 }
   3155 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   3156 FileDescriptorProto::public_dependency() const {
   3157   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.public_dependency)
   3158   return public_dependency_;
   3159 }
   3160 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   3161 FileDescriptorProto::mutable_public_dependency() {
   3162   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.public_dependency)
   3163   return &public_dependency_;
   3164 }
   3165 
   3166 // repeated int32 weak_dependency = 11;
   3167 inline int FileDescriptorProto::weak_dependency_size() const {
   3168   return weak_dependency_.size();
   3169 }
   3170 inline void FileDescriptorProto::clear_weak_dependency() {
   3171   weak_dependency_.Clear();
   3172 }
   3173 inline ::google::protobuf::int32 FileDescriptorProto::weak_dependency(int index) const {
   3174   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.weak_dependency)
   3175   return weak_dependency_.Get(index);
   3176 }
   3177 inline void FileDescriptorProto::set_weak_dependency(int index, ::google::protobuf::int32 value) {
   3178   weak_dependency_.Set(index, value);
   3179   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.weak_dependency)
   3180 }
   3181 inline void FileDescriptorProto::add_weak_dependency(::google::protobuf::int32 value) {
   3182   weak_dependency_.Add(value);
   3183   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.weak_dependency)
   3184 }
   3185 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   3186 FileDescriptorProto::weak_dependency() const {
   3187   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.weak_dependency)
   3188   return weak_dependency_;
   3189 }
   3190 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   3191 FileDescriptorProto::mutable_weak_dependency() {
   3192   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.weak_dependency)
   3193   return &weak_dependency_;
   3194 }
   3195 
   3196 // repeated .google.protobuf.DescriptorProto message_type = 4;
   3197 inline int FileDescriptorProto::message_type_size() const {
   3198   return message_type_.size();
   3199 }
   3200 inline void FileDescriptorProto::clear_message_type() {
   3201   message_type_.Clear();
   3202 }
   3203 inline const ::google::protobuf::DescriptorProto& FileDescriptorProto::message_type(int index) const {
   3204   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.message_type)
   3205   return message_type_.Get(index);
   3206 }
   3207 inline ::google::protobuf::DescriptorProto* FileDescriptorProto::mutable_message_type(int index) {
   3208   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.message_type)
   3209   return message_type_.Mutable(index);
   3210 }
   3211 inline ::google::protobuf::DescriptorProto* FileDescriptorProto::add_message_type() {
   3212   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.message_type)
   3213   return message_type_.Add();
   3214 }
   3215 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
   3216 FileDescriptorProto::message_type() const {
   3217   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.message_type)
   3218   return message_type_;
   3219 }
   3220 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
   3221 FileDescriptorProto::mutable_message_type() {
   3222   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.message_type)
   3223   return &message_type_;
   3224 }
   3225 
   3226 // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   3227 inline int FileDescriptorProto::enum_type_size() const {
   3228   return enum_type_.size();
   3229 }
   3230 inline void FileDescriptorProto::clear_enum_type() {
   3231   enum_type_.Clear();
   3232 }
   3233 inline const ::google::protobuf::EnumDescriptorProto& FileDescriptorProto::enum_type(int index) const {
   3234   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.enum_type)
   3235   return enum_type_.Get(index);
   3236 }
   3237 inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::mutable_enum_type(int index) {
   3238   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.enum_type)
   3239   return enum_type_.Mutable(index);
   3240 }
   3241 inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::add_enum_type() {
   3242   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.enum_type)
   3243   return enum_type_.Add();
   3244 }
   3245 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
   3246 FileDescriptorProto::enum_type() const {
   3247   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.enum_type)
   3248   return enum_type_;
   3249 }
   3250 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
   3251 FileDescriptorProto::mutable_enum_type() {
   3252   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.enum_type)
   3253   return &enum_type_;
   3254 }
   3255 
   3256 // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   3257 inline int FileDescriptorProto::service_size() const {
   3258   return service_.size();
   3259 }
   3260 inline void FileDescriptorProto::clear_service() {
   3261   service_.Clear();
   3262 }
   3263 inline const ::google::protobuf::ServiceDescriptorProto& FileDescriptorProto::service(int index) const {
   3264   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.service)
   3265   return service_.Get(index);
   3266 }
   3267 inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::mutable_service(int index) {
   3268   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.service)
   3269   return service_.Mutable(index);
   3270 }
   3271 inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::add_service() {
   3272   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.service)
   3273   return service_.Add();
   3274 }
   3275 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >&
   3276 FileDescriptorProto::service() const {
   3277   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.service)
   3278   return service_;
   3279 }
   3280 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >*
   3281 FileDescriptorProto::mutable_service() {
   3282   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.service)
   3283   return &service_;
   3284 }
   3285 
   3286 // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   3287 inline int FileDescriptorProto::extension_size() const {
   3288   return extension_.size();
   3289 }
   3290 inline void FileDescriptorProto::clear_extension() {
   3291   extension_.Clear();
   3292 }
   3293 inline const ::google::protobuf::FieldDescriptorProto& FileDescriptorProto::extension(int index) const {
   3294   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.extension)
   3295   return extension_.Get(index);
   3296 }
   3297 inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::mutable_extension(int index) {
   3298   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.extension)
   3299   return extension_.Mutable(index);
   3300 }
   3301 inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::add_extension() {
   3302   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.extension)
   3303   return extension_.Add();
   3304 }
   3305 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3306 FileDescriptorProto::extension() const {
   3307   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.extension)
   3308   return extension_;
   3309 }
   3310 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3311 FileDescriptorProto::mutable_extension() {
   3312   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.extension)
   3313   return &extension_;
   3314 }
   3315 
   3316 // optional .google.protobuf.FileOptions options = 8;
   3317 inline bool FileDescriptorProto::has_options() const {
   3318   return (_has_bits_[0] & 0x00000200u) != 0;
   3319 }
   3320 inline void FileDescriptorProto::set_has_options() {
   3321   _has_bits_[0] |= 0x00000200u;
   3322 }
   3323 inline void FileDescriptorProto::clear_has_options() {
   3324   _has_bits_[0] &= ~0x00000200u;
   3325 }
   3326 inline void FileDescriptorProto::clear_options() {
   3327   if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
   3328   clear_has_options();
   3329 }
   3330 inline const ::google::protobuf::FileOptions& FileDescriptorProto::options() const {
   3331   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.options)
   3332   return options_ != NULL ? *options_ : *default_instance_->options_;
   3333 }
   3334 inline ::google::protobuf::FileOptions* FileDescriptorProto::mutable_options() {
   3335   set_has_options();
   3336   if (options_ == NULL) options_ = new ::google::protobuf::FileOptions;
   3337   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.options)
   3338   return options_;
   3339 }
   3340 inline ::google::protobuf::FileOptions* FileDescriptorProto::release_options() {
   3341   clear_has_options();
   3342   ::google::protobuf::FileOptions* temp = options_;
   3343   options_ = NULL;
   3344   return temp;
   3345 }
   3346 inline void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* options) {
   3347   delete options_;
   3348   options_ = options;
   3349   if (options) {
   3350     set_has_options();
   3351   } else {
   3352     clear_has_options();
   3353   }
   3354   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.options)
   3355 }
   3356 
   3357 // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   3358 inline bool FileDescriptorProto::has_source_code_info() const {
   3359   return (_has_bits_[0] & 0x00000400u) != 0;
   3360 }
   3361 inline void FileDescriptorProto::set_has_source_code_info() {
   3362   _has_bits_[0] |= 0x00000400u;
   3363 }
   3364 inline void FileDescriptorProto::clear_has_source_code_info() {
   3365   _has_bits_[0] &= ~0x00000400u;
   3366 }
   3367 inline void FileDescriptorProto::clear_source_code_info() {
   3368   if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
   3369   clear_has_source_code_info();
   3370 }
   3371 inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_code_info() const {
   3372   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.source_code_info)
   3373   return source_code_info_ != NULL ? *source_code_info_ : *default_instance_->source_code_info_;
   3374 }
   3375 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::mutable_source_code_info() {
   3376   set_has_source_code_info();
   3377   if (source_code_info_ == NULL) source_code_info_ = new ::google::protobuf::SourceCodeInfo;
   3378   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.source_code_info)
   3379   return source_code_info_;
   3380 }
   3381 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_code_info() {
   3382   clear_has_source_code_info();
   3383   ::google::protobuf::SourceCodeInfo* temp = source_code_info_;
   3384   source_code_info_ = NULL;
   3385   return temp;
   3386 }
   3387 inline void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info) {
   3388   delete source_code_info_;
   3389   source_code_info_ = source_code_info;
   3390   if (source_code_info) {
   3391     set_has_source_code_info();
   3392   } else {
   3393     clear_has_source_code_info();
   3394   }
   3395   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.source_code_info)
   3396 }
   3397 
   3398 // -------------------------------------------------------------------
   3399 
   3400 // DescriptorProto_ExtensionRange
   3401 
   3402 // optional int32 start = 1;
   3403 inline bool DescriptorProto_ExtensionRange::has_start() const {
   3404   return (_has_bits_[0] & 0x00000001u) != 0;
   3405 }
   3406 inline void DescriptorProto_ExtensionRange::set_has_start() {
   3407   _has_bits_[0] |= 0x00000001u;
   3408 }
   3409 inline void DescriptorProto_ExtensionRange::clear_has_start() {
   3410   _has_bits_[0] &= ~0x00000001u;
   3411 }
   3412 inline void DescriptorProto_ExtensionRange::clear_start() {
   3413   start_ = 0;
   3414   clear_has_start();
   3415 }
   3416 inline ::google::protobuf::int32 DescriptorProto_ExtensionRange::start() const {
   3417   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.start)
   3418   return start_;
   3419 }
   3420 inline void DescriptorProto_ExtensionRange::set_start(::google::protobuf::int32 value) {
   3421   set_has_start();
   3422   start_ = value;
   3423   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.start)
   3424 }
   3425 
   3426 // optional int32 end = 2;
   3427 inline bool DescriptorProto_ExtensionRange::has_end() const {
   3428   return (_has_bits_[0] & 0x00000002u) != 0;
   3429 }
   3430 inline void DescriptorProto_ExtensionRange::set_has_end() {
   3431   _has_bits_[0] |= 0x00000002u;
   3432 }
   3433 inline void DescriptorProto_ExtensionRange::clear_has_end() {
   3434   _has_bits_[0] &= ~0x00000002u;
   3435 }
   3436 inline void DescriptorProto_ExtensionRange::clear_end() {
   3437   end_ = 0;
   3438   clear_has_end();
   3439 }
   3440 inline ::google::protobuf::int32 DescriptorProto_ExtensionRange::end() const {
   3441   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.end)
   3442   return end_;
   3443 }
   3444 inline void DescriptorProto_ExtensionRange::set_end(::google::protobuf::int32 value) {
   3445   set_has_end();
   3446   end_ = value;
   3447   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.end)
   3448 }
   3449 
   3450 // -------------------------------------------------------------------
   3451 
   3452 // DescriptorProto
   3453 
   3454 // optional string name = 1;
   3455 inline bool DescriptorProto::has_name() const {
   3456   return (_has_bits_[0] & 0x00000001u) != 0;
   3457 }
   3458 inline void DescriptorProto::set_has_name() {
   3459   _has_bits_[0] |= 0x00000001u;
   3460 }
   3461 inline void DescriptorProto::clear_has_name() {
   3462   _has_bits_[0] &= ~0x00000001u;
   3463 }
   3464 inline void DescriptorProto::clear_name() {
   3465   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3466     name_->clear();
   3467   }
   3468   clear_has_name();
   3469 }
   3470 inline const ::std::string& DescriptorProto::name() const {
   3471   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.name)
   3472   return *name_;
   3473 }
   3474 inline void DescriptorProto::set_name(const ::std::string& value) {
   3475   set_has_name();
   3476   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3477     name_ = new ::std::string;
   3478   }
   3479   name_->assign(value);
   3480   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.name)
   3481 }
   3482 inline void DescriptorProto::set_name(const char* value) {
   3483   set_has_name();
   3484   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3485     name_ = new ::std::string;
   3486   }
   3487   name_->assign(value);
   3488   // @@protoc_insertion_point(field_set_char:google.protobuf.DescriptorProto.name)
   3489 }
   3490 inline void DescriptorProto::set_name(const char* value, size_t size) {
   3491   set_has_name();
   3492   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3493     name_ = new ::std::string;
   3494   }
   3495   name_->assign(reinterpret_cast<const char*>(value), size);
   3496   // @@protoc_insertion_point(field_set_pointer:google.protobuf.DescriptorProto.name)
   3497 }
   3498 inline ::std::string* DescriptorProto::mutable_name() {
   3499   set_has_name();
   3500   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3501     name_ = new ::std::string;
   3502   }
   3503   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.name)
   3504   return name_;
   3505 }
   3506 inline ::std::string* DescriptorProto::release_name() {
   3507   clear_has_name();
   3508   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3509     return NULL;
   3510   } else {
   3511     ::std::string* temp = name_;
   3512     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3513     return temp;
   3514   }
   3515 }
   3516 inline void DescriptorProto::set_allocated_name(::std::string* name) {
   3517   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3518     delete name_;
   3519   }
   3520   if (name) {
   3521     set_has_name();
   3522     name_ = name;
   3523   } else {
   3524     clear_has_name();
   3525     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3526   }
   3527   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.name)
   3528 }
   3529 
   3530 // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3531 inline int DescriptorProto::field_size() const {
   3532   return field_.size();
   3533 }
   3534 inline void DescriptorProto::clear_field() {
   3535   field_.Clear();
   3536 }
   3537 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::field(int index) const {
   3538   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.field)
   3539   return field_.Get(index);
   3540 }
   3541 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_field(int index) {
   3542   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.field)
   3543   return field_.Mutable(index);
   3544 }
   3545 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_field() {
   3546   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.field)
   3547   return field_.Add();
   3548 }
   3549 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3550 DescriptorProto::field() const {
   3551   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.field)
   3552   return field_;
   3553 }
   3554 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3555 DescriptorProto::mutable_field() {
   3556   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.field)
   3557   return &field_;
   3558 }
   3559 
   3560 // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3561 inline int DescriptorProto::extension_size() const {
   3562   return extension_.size();
   3563 }
   3564 inline void DescriptorProto::clear_extension() {
   3565   extension_.Clear();
   3566 }
   3567 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::extension(int index) const {
   3568   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension)
   3569   return extension_.Get(index);
   3570 }
   3571 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_extension(int index) {
   3572   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension)
   3573   return extension_.Mutable(index);
   3574 }
   3575 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_extension() {
   3576   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension)
   3577   return extension_.Add();
   3578 }
   3579 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3580 DescriptorProto::extension() const {
   3581   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension)
   3582   return extension_;
   3583 }
   3584 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3585 DescriptorProto::mutable_extension() {
   3586   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension)
   3587   return &extension_;
   3588 }
   3589 
   3590 // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3591 inline int DescriptorProto::nested_type_size() const {
   3592   return nested_type_.size();
   3593 }
   3594 inline void DescriptorProto::clear_nested_type() {
   3595   nested_type_.Clear();
   3596 }
   3597 inline const ::google::protobuf::DescriptorProto& DescriptorProto::nested_type(int index) const {
   3598   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.nested_type)
   3599   return nested_type_.Get(index);
   3600 }
   3601 inline ::google::protobuf::DescriptorProto* DescriptorProto::mutable_nested_type(int index) {
   3602   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.nested_type)
   3603   return nested_type_.Mutable(index);
   3604 }
   3605 inline ::google::protobuf::DescriptorProto* DescriptorProto::add_nested_type() {
   3606   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.nested_type)
   3607   return nested_type_.Add();
   3608 }
   3609 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
   3610 DescriptorProto::nested_type() const {
   3611   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.nested_type)
   3612   return nested_type_;
   3613 }
   3614 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
   3615 DescriptorProto::mutable_nested_type() {
   3616   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.nested_type)
   3617   return &nested_type_;
   3618 }
   3619 
   3620 // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3621 inline int DescriptorProto::enum_type_size() const {
   3622   return enum_type_.size();
   3623 }
   3624 inline void DescriptorProto::clear_enum_type() {
   3625   enum_type_.Clear();
   3626 }
   3627 inline const ::google::protobuf::EnumDescriptorProto& DescriptorProto::enum_type(int index) const {
   3628   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.enum_type)
   3629   return enum_type_.Get(index);
   3630 }
   3631 inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::mutable_enum_type(int index) {
   3632   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.enum_type)
   3633   return enum_type_.Mutable(index);
   3634 }
   3635 inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::add_enum_type() {
   3636   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.enum_type)
   3637   return enum_type_.Add();
   3638 }
   3639 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
   3640 DescriptorProto::enum_type() const {
   3641   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.enum_type)
   3642   return enum_type_;
   3643 }
   3644 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
   3645 DescriptorProto::mutable_enum_type() {
   3646   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.enum_type)
   3647   return &enum_type_;
   3648 }
   3649 
   3650 // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3651 inline int DescriptorProto::extension_range_size() const {
   3652   return extension_range_.size();
   3653 }
   3654 inline void DescriptorProto::clear_extension_range() {
   3655   extension_range_.Clear();
   3656 }
   3657 inline const ::google::protobuf::DescriptorProto_ExtensionRange& DescriptorProto::extension_range(int index) const {
   3658   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension_range)
   3659   return extension_range_.Get(index);
   3660 }
   3661 inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::mutable_extension_range(int index) {
   3662   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension_range)
   3663   return extension_range_.Mutable(index);
   3664 }
   3665 inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::add_extension_range() {
   3666   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension_range)
   3667   return extension_range_.Add();
   3668 }
   3669 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >&
   3670 DescriptorProto::extension_range() const {
   3671   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension_range)
   3672   return extension_range_;
   3673 }
   3674 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >*
   3675 DescriptorProto::mutable_extension_range() {
   3676   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension_range)
   3677   return &extension_range_;
   3678 }
   3679 
   3680 // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   3681 inline int DescriptorProto::oneof_decl_size() const {
   3682   return oneof_decl_.size();
   3683 }
   3684 inline void DescriptorProto::clear_oneof_decl() {
   3685   oneof_decl_.Clear();
   3686 }
   3687 inline const ::google::protobuf::OneofDescriptorProto& DescriptorProto::oneof_decl(int index) const {
   3688   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.oneof_decl)
   3689   return oneof_decl_.Get(index);
   3690 }
   3691 inline ::google::protobuf::OneofDescriptorProto* DescriptorProto::mutable_oneof_decl(int index) {
   3692   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.oneof_decl)
   3693   return oneof_decl_.Mutable(index);
   3694 }
   3695 inline ::google::protobuf::OneofDescriptorProto* DescriptorProto::add_oneof_decl() {
   3696   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.oneof_decl)
   3697   return oneof_decl_.Add();
   3698 }
   3699 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >&
   3700 DescriptorProto::oneof_decl() const {
   3701   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.oneof_decl)
   3702   return oneof_decl_;
   3703 }
   3704 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >*
   3705 DescriptorProto::mutable_oneof_decl() {
   3706   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.oneof_decl)
   3707   return &oneof_decl_;
   3708 }
   3709 
   3710 // optional .google.protobuf.MessageOptions options = 7;
   3711 inline bool DescriptorProto::has_options() const {
   3712   return (_has_bits_[0] & 0x00000080u) != 0;
   3713 }
   3714 inline void DescriptorProto::set_has_options() {
   3715   _has_bits_[0] |= 0x00000080u;
   3716 }
   3717 inline void DescriptorProto::clear_has_options() {
   3718   _has_bits_[0] &= ~0x00000080u;
   3719 }
   3720 inline void DescriptorProto::clear_options() {
   3721   if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   3722   clear_has_options();
   3723 }
   3724 inline const ::google::protobuf::MessageOptions& DescriptorProto::options() const {
   3725   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.options)
   3726   return options_ != NULL ? *options_ : *default_instance_->options_;
   3727 }
   3728 inline ::google::protobuf::MessageOptions* DescriptorProto::mutable_options() {
   3729   set_has_options();
   3730   if (options_ == NULL) options_ = new ::google::protobuf::MessageOptions;
   3731   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.options)
   3732   return options_;
   3733 }
   3734 inline ::google::protobuf::MessageOptions* DescriptorProto::release_options() {
   3735   clear_has_options();
   3736   ::google::protobuf::MessageOptions* temp = options_;
   3737   options_ = NULL;
   3738   return temp;
   3739 }
   3740 inline void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* options) {
   3741   delete options_;
   3742   options_ = options;
   3743   if (options) {
   3744     set_has_options();
   3745   } else {
   3746     clear_has_options();
   3747   }
   3748   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.options)
   3749 }
   3750 
   3751 // -------------------------------------------------------------------
   3752 
   3753 // FieldDescriptorProto
   3754 
   3755 // optional string name = 1;
   3756 inline bool FieldDescriptorProto::has_name() const {
   3757   return (_has_bits_[0] & 0x00000001u) != 0;
   3758 }
   3759 inline void FieldDescriptorProto::set_has_name() {
   3760   _has_bits_[0] |= 0x00000001u;
   3761 }
   3762 inline void FieldDescriptorProto::clear_has_name() {
   3763   _has_bits_[0] &= ~0x00000001u;
   3764 }
   3765 inline void FieldDescriptorProto::clear_name() {
   3766   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3767     name_->clear();
   3768   }
   3769   clear_has_name();
   3770 }
   3771 inline const ::std::string& FieldDescriptorProto::name() const {
   3772   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.name)
   3773   return *name_;
   3774 }
   3775 inline void FieldDescriptorProto::set_name(const ::std::string& value) {
   3776   set_has_name();
   3777   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3778     name_ = new ::std::string;
   3779   }
   3780   name_->assign(value);
   3781   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.name)
   3782 }
   3783 inline void FieldDescriptorProto::set_name(const char* value) {
   3784   set_has_name();
   3785   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3786     name_ = new ::std::string;
   3787   }
   3788   name_->assign(value);
   3789   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.name)
   3790 }
   3791 inline void FieldDescriptorProto::set_name(const char* value, size_t size) {
   3792   set_has_name();
   3793   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3794     name_ = new ::std::string;
   3795   }
   3796   name_->assign(reinterpret_cast<const char*>(value), size);
   3797   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.name)
   3798 }
   3799 inline ::std::string* FieldDescriptorProto::mutable_name() {
   3800   set_has_name();
   3801   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3802     name_ = new ::std::string;
   3803   }
   3804   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.name)
   3805   return name_;
   3806 }
   3807 inline ::std::string* FieldDescriptorProto::release_name() {
   3808   clear_has_name();
   3809   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3810     return NULL;
   3811   } else {
   3812     ::std::string* temp = name_;
   3813     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3814     return temp;
   3815   }
   3816 }
   3817 inline void FieldDescriptorProto::set_allocated_name(::std::string* name) {
   3818   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3819     delete name_;
   3820   }
   3821   if (name) {
   3822     set_has_name();
   3823     name_ = name;
   3824   } else {
   3825     clear_has_name();
   3826     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3827   }
   3828   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.name)
   3829 }
   3830 
   3831 // optional int32 number = 3;
   3832 inline bool FieldDescriptorProto::has_number() const {
   3833   return (_has_bits_[0] & 0x00000002u) != 0;
   3834 }
   3835 inline void FieldDescriptorProto::set_has_number() {
   3836   _has_bits_[0] |= 0x00000002u;
   3837 }
   3838 inline void FieldDescriptorProto::clear_has_number() {
   3839   _has_bits_[0] &= ~0x00000002u;
   3840 }
   3841 inline void FieldDescriptorProto::clear_number() {
   3842   number_ = 0;
   3843   clear_has_number();
   3844 }
   3845 inline ::google::protobuf::int32 FieldDescriptorProto::number() const {
   3846   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.number)
   3847   return number_;
   3848 }
   3849 inline void FieldDescriptorProto::set_number(::google::protobuf::int32 value) {
   3850   set_has_number();
   3851   number_ = value;
   3852   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.number)
   3853 }
   3854 
   3855 // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   3856 inline bool FieldDescriptorProto::has_label() const {
   3857   return (_has_bits_[0] & 0x00000004u) != 0;
   3858 }
   3859 inline void FieldDescriptorProto::set_has_label() {
   3860   _has_bits_[0] |= 0x00000004u;
   3861 }
   3862 inline void FieldDescriptorProto::clear_has_label() {
   3863   _has_bits_[0] &= ~0x00000004u;
   3864 }
   3865 inline void FieldDescriptorProto::clear_label() {
   3866   label_ = 1;
   3867   clear_has_label();
   3868 }
   3869 inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::label() const {
   3870   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.label)
   3871   return static_cast< ::google::protobuf::FieldDescriptorProto_Label >(label_);
   3872 }
   3873 inline void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorProto_Label value) {
   3874   assert(::google::protobuf::FieldDescriptorProto_Label_IsValid(value));
   3875   set_has_label();
   3876   label_ = value;
   3877   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.label)
   3878 }
   3879 
   3880 // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   3881 inline bool FieldDescriptorProto::has_type() const {
   3882   return (_has_bits_[0] & 0x00000008u) != 0;
   3883 }
   3884 inline void FieldDescriptorProto::set_has_type() {
   3885   _has_bits_[0] |= 0x00000008u;
   3886 }
   3887 inline void FieldDescriptorProto::clear_has_type() {
   3888   _has_bits_[0] &= ~0x00000008u;
   3889 }
   3890 inline void FieldDescriptorProto::clear_type() {
   3891   type_ = 1;
   3892   clear_has_type();
   3893 }
   3894 inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::type() const {
   3895   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type)
   3896   return static_cast< ::google::protobuf::FieldDescriptorProto_Type >(type_);
   3897 }
   3898 inline void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorProto_Type value) {
   3899   assert(::google::protobuf::FieldDescriptorProto_Type_IsValid(value));
   3900   set_has_type();
   3901   type_ = value;
   3902   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type)
   3903 }
   3904 
   3905 // optional string type_name = 6;
   3906 inline bool FieldDescriptorProto::has_type_name() const {
   3907   return (_has_bits_[0] & 0x00000010u) != 0;
   3908 }
   3909 inline void FieldDescriptorProto::set_has_type_name() {
   3910   _has_bits_[0] |= 0x00000010u;
   3911 }
   3912 inline void FieldDescriptorProto::clear_has_type_name() {
   3913   _has_bits_[0] &= ~0x00000010u;
   3914 }
   3915 inline void FieldDescriptorProto::clear_type_name() {
   3916   if (type_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3917     type_name_->clear();
   3918   }
   3919   clear_has_type_name();
   3920 }
   3921 inline const ::std::string& FieldDescriptorProto::type_name() const {
   3922   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type_name)
   3923   return *type_name_;
   3924 }
   3925 inline void FieldDescriptorProto::set_type_name(const ::std::string& value) {
   3926   set_has_type_name();
   3927   if (type_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3928     type_name_ = new ::std::string;
   3929   }
   3930   type_name_->assign(value);
   3931   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type_name)
   3932 }
   3933 inline void FieldDescriptorProto::set_type_name(const char* value) {
   3934   set_has_type_name();
   3935   if (type_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3936     type_name_ = new ::std::string;
   3937   }
   3938   type_name_->assign(value);
   3939   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.type_name)
   3940 }
   3941 inline void FieldDescriptorProto::set_type_name(const char* value, size_t size) {
   3942   set_has_type_name();
   3943   if (type_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3944     type_name_ = new ::std::string;
   3945   }
   3946   type_name_->assign(reinterpret_cast<const char*>(value), size);
   3947   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.type_name)
   3948 }
   3949 inline ::std::string* FieldDescriptorProto::mutable_type_name() {
   3950   set_has_type_name();
   3951   if (type_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3952     type_name_ = new ::std::string;
   3953   }
   3954   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.type_name)
   3955   return type_name_;
   3956 }
   3957 inline ::std::string* FieldDescriptorProto::release_type_name() {
   3958   clear_has_type_name();
   3959   if (type_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3960     return NULL;
   3961   } else {
   3962     ::std::string* temp = type_name_;
   3963     type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3964     return temp;
   3965   }
   3966 }
   3967 inline void FieldDescriptorProto::set_allocated_type_name(::std::string* type_name) {
   3968   if (type_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3969     delete type_name_;
   3970   }
   3971   if (type_name) {
   3972     set_has_type_name();
   3973     type_name_ = type_name;
   3974   } else {
   3975     clear_has_type_name();
   3976     type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3977   }
   3978   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.type_name)
   3979 }
   3980 
   3981 // optional string extendee = 2;
   3982 inline bool FieldDescriptorProto::has_extendee() const {
   3983   return (_has_bits_[0] & 0x00000020u) != 0;
   3984 }
   3985 inline void FieldDescriptorProto::set_has_extendee() {
   3986   _has_bits_[0] |= 0x00000020u;
   3987 }
   3988 inline void FieldDescriptorProto::clear_has_extendee() {
   3989   _has_bits_[0] &= ~0x00000020u;
   3990 }
   3991 inline void FieldDescriptorProto::clear_extendee() {
   3992   if (extendee_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3993     extendee_->clear();
   3994   }
   3995   clear_has_extendee();
   3996 }
   3997 inline const ::std::string& FieldDescriptorProto::extendee() const {
   3998   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.extendee)
   3999   return *extendee_;
   4000 }
   4001 inline void FieldDescriptorProto::set_extendee(const ::std::string& value) {
   4002   set_has_extendee();
   4003   if (extendee_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4004     extendee_ = new ::std::string;
   4005   }
   4006   extendee_->assign(value);
   4007   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.extendee)
   4008 }
   4009 inline void FieldDescriptorProto::set_extendee(const char* value) {
   4010   set_has_extendee();
   4011   if (extendee_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4012     extendee_ = new ::std::string;
   4013   }
   4014   extendee_->assign(value);
   4015   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.extendee)
   4016 }
   4017 inline void FieldDescriptorProto::set_extendee(const char* value, size_t size) {
   4018   set_has_extendee();
   4019   if (extendee_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4020     extendee_ = new ::std::string;
   4021   }
   4022   extendee_->assign(reinterpret_cast<const char*>(value), size);
   4023   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.extendee)
   4024 }
   4025 inline ::std::string* FieldDescriptorProto::mutable_extendee() {
   4026   set_has_extendee();
   4027   if (extendee_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4028     extendee_ = new ::std::string;
   4029   }
   4030   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.extendee)
   4031   return extendee_;
   4032 }
   4033 inline ::std::string* FieldDescriptorProto::release_extendee() {
   4034   clear_has_extendee();
   4035   if (extendee_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4036     return NULL;
   4037   } else {
   4038     ::std::string* temp = extendee_;
   4039     extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4040     return temp;
   4041   }
   4042 }
   4043 inline void FieldDescriptorProto::set_allocated_extendee(::std::string* extendee) {
   4044   if (extendee_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4045     delete extendee_;
   4046   }
   4047   if (extendee) {
   4048     set_has_extendee();
   4049     extendee_ = extendee;
   4050   } else {
   4051     clear_has_extendee();
   4052     extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4053   }
   4054   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.extendee)
   4055 }
   4056 
   4057 // optional string default_value = 7;
   4058 inline bool FieldDescriptorProto::has_default_value() const {
   4059   return (_has_bits_[0] & 0x00000040u) != 0;
   4060 }
   4061 inline void FieldDescriptorProto::set_has_default_value() {
   4062   _has_bits_[0] |= 0x00000040u;
   4063 }
   4064 inline void FieldDescriptorProto::clear_has_default_value() {
   4065   _has_bits_[0] &= ~0x00000040u;
   4066 }
   4067 inline void FieldDescriptorProto::clear_default_value() {
   4068   if (default_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4069     default_value_->clear();
   4070   }
   4071   clear_has_default_value();
   4072 }
   4073 inline const ::std::string& FieldDescriptorProto::default_value() const {
   4074   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.default_value)
   4075   return *default_value_;
   4076 }
   4077 inline void FieldDescriptorProto::set_default_value(const ::std::string& value) {
   4078   set_has_default_value();
   4079   if (default_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4080     default_value_ = new ::std::string;
   4081   }
   4082   default_value_->assign(value);
   4083   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.default_value)
   4084 }
   4085 inline void FieldDescriptorProto::set_default_value(const char* value) {
   4086   set_has_default_value();
   4087   if (default_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4088     default_value_ = new ::std::string;
   4089   }
   4090   default_value_->assign(value);
   4091   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.default_value)
   4092 }
   4093 inline void FieldDescriptorProto::set_default_value(const char* value, size_t size) {
   4094   set_has_default_value();
   4095   if (default_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4096     default_value_ = new ::std::string;
   4097   }
   4098   default_value_->assign(reinterpret_cast<const char*>(value), size);
   4099   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.default_value)
   4100 }
   4101 inline ::std::string* FieldDescriptorProto::mutable_default_value() {
   4102   set_has_default_value();
   4103   if (default_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4104     default_value_ = new ::std::string;
   4105   }
   4106   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.default_value)
   4107   return default_value_;
   4108 }
   4109 inline ::std::string* FieldDescriptorProto::release_default_value() {
   4110   clear_has_default_value();
   4111   if (default_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4112     return NULL;
   4113   } else {
   4114     ::std::string* temp = default_value_;
   4115     default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4116     return temp;
   4117   }
   4118 }
   4119 inline void FieldDescriptorProto::set_allocated_default_value(::std::string* default_value) {
   4120   if (default_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4121     delete default_value_;
   4122   }
   4123   if (default_value) {
   4124     set_has_default_value();
   4125     default_value_ = default_value;
   4126   } else {
   4127     clear_has_default_value();
   4128     default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4129   }
   4130   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.default_value)
   4131 }
   4132 
   4133 // optional int32 oneof_index = 9;
   4134 inline bool FieldDescriptorProto::has_oneof_index() const {
   4135   return (_has_bits_[0] & 0x00000080u) != 0;
   4136 }
   4137 inline void FieldDescriptorProto::set_has_oneof_index() {
   4138   _has_bits_[0] |= 0x00000080u;
   4139 }
   4140 inline void FieldDescriptorProto::clear_has_oneof_index() {
   4141   _has_bits_[0] &= ~0x00000080u;
   4142 }
   4143 inline void FieldDescriptorProto::clear_oneof_index() {
   4144   oneof_index_ = 0;
   4145   clear_has_oneof_index();
   4146 }
   4147 inline ::google::protobuf::int32 FieldDescriptorProto::oneof_index() const {
   4148   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.oneof_index)
   4149   return oneof_index_;
   4150 }
   4151 inline void FieldDescriptorProto::set_oneof_index(::google::protobuf::int32 value) {
   4152   set_has_oneof_index();
   4153   oneof_index_ = value;
   4154   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.oneof_index)
   4155 }
   4156 
   4157 // optional .google.protobuf.FieldOptions options = 8;
   4158 inline bool FieldDescriptorProto::has_options() const {
   4159   return (_has_bits_[0] & 0x00000100u) != 0;
   4160 }
   4161 inline void FieldDescriptorProto::set_has_options() {
   4162   _has_bits_[0] |= 0x00000100u;
   4163 }
   4164 inline void FieldDescriptorProto::clear_has_options() {
   4165   _has_bits_[0] &= ~0x00000100u;
   4166 }
   4167 inline void FieldDescriptorProto::clear_options() {
   4168   if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   4169   clear_has_options();
   4170 }
   4171 inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() const {
   4172   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.options)
   4173   return options_ != NULL ? *options_ : *default_instance_->options_;
   4174 }
   4175 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::mutable_options() {
   4176   set_has_options();
   4177   if (options_ == NULL) options_ = new ::google::protobuf::FieldOptions;
   4178   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.options)
   4179   return options_;
   4180 }
   4181 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() {
   4182   clear_has_options();
   4183   ::google::protobuf::FieldOptions* temp = options_;
   4184   options_ = NULL;
   4185   return temp;
   4186 }
   4187 inline void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* options) {
   4188   delete options_;
   4189   options_ = options;
   4190   if (options) {
   4191     set_has_options();
   4192   } else {
   4193     clear_has_options();
   4194   }
   4195   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.options)
   4196 }
   4197 
   4198 // -------------------------------------------------------------------
   4199 
   4200 // OneofDescriptorProto
   4201 
   4202 // optional string name = 1;
   4203 inline bool OneofDescriptorProto::has_name() const {
   4204   return (_has_bits_[0] & 0x00000001u) != 0;
   4205 }
   4206 inline void OneofDescriptorProto::set_has_name() {
   4207   _has_bits_[0] |= 0x00000001u;
   4208 }
   4209 inline void OneofDescriptorProto::clear_has_name() {
   4210   _has_bits_[0] &= ~0x00000001u;
   4211 }
   4212 inline void OneofDescriptorProto::clear_name() {
   4213   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4214     name_->clear();
   4215   }
   4216   clear_has_name();
   4217 }
   4218 inline const ::std::string& OneofDescriptorProto::name() const {
   4219   // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.name)
   4220   return *name_;
   4221 }
   4222 inline void OneofDescriptorProto::set_name(const ::std::string& value) {
   4223   set_has_name();
   4224   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4225     name_ = new ::std::string;
   4226   }
   4227   name_->assign(value);
   4228   // @@protoc_insertion_point(field_set:google.protobuf.OneofDescriptorProto.name)
   4229 }
   4230 inline void OneofDescriptorProto::set_name(const char* value) {
   4231   set_has_name();
   4232   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4233     name_ = new ::std::string;
   4234   }
   4235   name_->assign(value);
   4236   // @@protoc_insertion_point(field_set_char:google.protobuf.OneofDescriptorProto.name)
   4237 }
   4238 inline void OneofDescriptorProto::set_name(const char* value, size_t size) {
   4239   set_has_name();
   4240   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4241     name_ = new ::std::string;
   4242   }
   4243   name_->assign(reinterpret_cast<const char*>(value), size);
   4244   // @@protoc_insertion_point(field_set_pointer:google.protobuf.OneofDescriptorProto.name)
   4245 }
   4246 inline ::std::string* OneofDescriptorProto::mutable_name() {
   4247   set_has_name();
   4248   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4249     name_ = new ::std::string;
   4250   }
   4251   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.name)
   4252   return name_;
   4253 }
   4254 inline ::std::string* OneofDescriptorProto::release_name() {
   4255   clear_has_name();
   4256   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4257     return NULL;
   4258   } else {
   4259     ::std::string* temp = name_;
   4260     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4261     return temp;
   4262   }
   4263 }
   4264 inline void OneofDescriptorProto::set_allocated_name(::std::string* name) {
   4265   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4266     delete name_;
   4267   }
   4268   if (name) {
   4269     set_has_name();
   4270     name_ = name;
   4271   } else {
   4272     clear_has_name();
   4273     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4274   }
   4275   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.name)
   4276 }
   4277 
   4278 // -------------------------------------------------------------------
   4279 
   4280 // EnumDescriptorProto
   4281 
   4282 // optional string name = 1;
   4283 inline bool EnumDescriptorProto::has_name() const {
   4284   return (_has_bits_[0] & 0x00000001u) != 0;
   4285 }
   4286 inline void EnumDescriptorProto::set_has_name() {
   4287   _has_bits_[0] |= 0x00000001u;
   4288 }
   4289 inline void EnumDescriptorProto::clear_has_name() {
   4290   _has_bits_[0] &= ~0x00000001u;
   4291 }
   4292 inline void EnumDescriptorProto::clear_name() {
   4293   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4294     name_->clear();
   4295   }
   4296   clear_has_name();
   4297 }
   4298 inline const ::std::string& EnumDescriptorProto::name() const {
   4299   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.name)
   4300   return *name_;
   4301 }
   4302 inline void EnumDescriptorProto::set_name(const ::std::string& value) {
   4303   set_has_name();
   4304   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4305     name_ = new ::std::string;
   4306   }
   4307   name_->assign(value);
   4308   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.name)
   4309 }
   4310 inline void EnumDescriptorProto::set_name(const char* value) {
   4311   set_has_name();
   4312   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4313     name_ = new ::std::string;
   4314   }
   4315   name_->assign(value);
   4316   // @@protoc_insertion_point(field_set_char:google.protobuf.EnumDescriptorProto.name)
   4317 }
   4318 inline void EnumDescriptorProto::set_name(const char* value, size_t size) {
   4319   set_has_name();
   4320   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4321     name_ = new ::std::string;
   4322   }
   4323   name_->assign(reinterpret_cast<const char*>(value), size);
   4324   // @@protoc_insertion_point(field_set_pointer:google.protobuf.EnumDescriptorProto.name)
   4325 }
   4326 inline ::std::string* EnumDescriptorProto::mutable_name() {
   4327   set_has_name();
   4328   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4329     name_ = new ::std::string;
   4330   }
   4331   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.name)
   4332   return name_;
   4333 }
   4334 inline ::std::string* EnumDescriptorProto::release_name() {
   4335   clear_has_name();
   4336   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4337     return NULL;
   4338   } else {
   4339     ::std::string* temp = name_;
   4340     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4341     return temp;
   4342   }
   4343 }
   4344 inline void EnumDescriptorProto::set_allocated_name(::std::string* name) {
   4345   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4346     delete name_;
   4347   }
   4348   if (name) {
   4349     set_has_name();
   4350     name_ = name;
   4351   } else {
   4352     clear_has_name();
   4353     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4354   }
   4355   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.name)
   4356 }
   4357 
   4358 // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   4359 inline int EnumDescriptorProto::value_size() const {
   4360   return value_.size();
   4361 }
   4362 inline void EnumDescriptorProto::clear_value() {
   4363   value_.Clear();
   4364 }
   4365 inline const ::google::protobuf::EnumValueDescriptorProto& EnumDescriptorProto::value(int index) const {
   4366   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.value)
   4367   return value_.Get(index);
   4368 }
   4369 inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::mutable_value(int index) {
   4370   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.value)
   4371   return value_.Mutable(index);
   4372 }
   4373 inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::add_value() {
   4374   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.value)
   4375   return value_.Add();
   4376 }
   4377 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >&
   4378 EnumDescriptorProto::value() const {
   4379   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.value)
   4380   return value_;
   4381 }
   4382 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >*
   4383 EnumDescriptorProto::mutable_value() {
   4384   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.value)
   4385   return &value_;
   4386 }
   4387 
   4388 // optional .google.protobuf.EnumOptions options = 3;
   4389 inline bool EnumDescriptorProto::has_options() const {
   4390   return (_has_bits_[0] & 0x00000004u) != 0;
   4391 }
   4392 inline void EnumDescriptorProto::set_has_options() {
   4393   _has_bits_[0] |= 0x00000004u;
   4394 }
   4395 inline void EnumDescriptorProto::clear_has_options() {
   4396   _has_bits_[0] &= ~0x00000004u;
   4397 }
   4398 inline void EnumDescriptorProto::clear_options() {
   4399   if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   4400   clear_has_options();
   4401 }
   4402 inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() const {
   4403   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.options)
   4404   return options_ != NULL ? *options_ : *default_instance_->options_;
   4405 }
   4406 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::mutable_options() {
   4407   set_has_options();
   4408   if (options_ == NULL) options_ = new ::google::protobuf::EnumOptions;
   4409   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.options)
   4410   return options_;
   4411 }
   4412 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() {
   4413   clear_has_options();
   4414   ::google::protobuf::EnumOptions* temp = options_;
   4415   options_ = NULL;
   4416   return temp;
   4417 }
   4418 inline void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* options) {
   4419   delete options_;
   4420   options_ = options;
   4421   if (options) {
   4422     set_has_options();
   4423   } else {
   4424     clear_has_options();
   4425   }
   4426   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.options)
   4427 }
   4428 
   4429 // -------------------------------------------------------------------
   4430 
   4431 // EnumValueDescriptorProto
   4432 
   4433 // optional string name = 1;
   4434 inline bool EnumValueDescriptorProto::has_name() const {
   4435   return (_has_bits_[0] & 0x00000001u) != 0;
   4436 }
   4437 inline void EnumValueDescriptorProto::set_has_name() {
   4438   _has_bits_[0] |= 0x00000001u;
   4439 }
   4440 inline void EnumValueDescriptorProto::clear_has_name() {
   4441   _has_bits_[0] &= ~0x00000001u;
   4442 }
   4443 inline void EnumValueDescriptorProto::clear_name() {
   4444   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4445     name_->clear();
   4446   }
   4447   clear_has_name();
   4448 }
   4449 inline const ::std::string& EnumValueDescriptorProto::name() const {
   4450   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.name)
   4451   return *name_;
   4452 }
   4453 inline void EnumValueDescriptorProto::set_name(const ::std::string& value) {
   4454   set_has_name();
   4455   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4456     name_ = new ::std::string;
   4457   }
   4458   name_->assign(value);
   4459   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.name)
   4460 }
   4461 inline void EnumValueDescriptorProto::set_name(const char* value) {
   4462   set_has_name();
   4463   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4464     name_ = new ::std::string;
   4465   }
   4466   name_->assign(value);
   4467   // @@protoc_insertion_point(field_set_char:google.protobuf.EnumValueDescriptorProto.name)
   4468 }
   4469 inline void EnumValueDescriptorProto::set_name(const char* value, size_t size) {
   4470   set_has_name();
   4471   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4472     name_ = new ::std::string;
   4473   }
   4474   name_->assign(reinterpret_cast<const char*>(value), size);
   4475   // @@protoc_insertion_point(field_set_pointer:google.protobuf.EnumValueDescriptorProto.name)
   4476 }
   4477 inline ::std::string* EnumValueDescriptorProto::mutable_name() {
   4478   set_has_name();
   4479   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4480     name_ = new ::std::string;
   4481   }
   4482   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.name)
   4483   return name_;
   4484 }
   4485 inline ::std::string* EnumValueDescriptorProto::release_name() {
   4486   clear_has_name();
   4487   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4488     return NULL;
   4489   } else {
   4490     ::std::string* temp = name_;
   4491     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4492     return temp;
   4493   }
   4494 }
   4495 inline void EnumValueDescriptorProto::set_allocated_name(::std::string* name) {
   4496   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4497     delete name_;
   4498   }
   4499   if (name) {
   4500     set_has_name();
   4501     name_ = name;
   4502   } else {
   4503     clear_has_name();
   4504     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4505   }
   4506   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.name)
   4507 }
   4508 
   4509 // optional int32 number = 2;
   4510 inline bool EnumValueDescriptorProto::has_number() const {
   4511   return (_has_bits_[0] & 0x00000002u) != 0;
   4512 }
   4513 inline void EnumValueDescriptorProto::set_has_number() {
   4514   _has_bits_[0] |= 0x00000002u;
   4515 }
   4516 inline void EnumValueDescriptorProto::clear_has_number() {
   4517   _has_bits_[0] &= ~0x00000002u;
   4518 }
   4519 inline void EnumValueDescriptorProto::clear_number() {
   4520   number_ = 0;
   4521   clear_has_number();
   4522 }
   4523 inline ::google::protobuf::int32 EnumValueDescriptorProto::number() const {
   4524   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.number)
   4525   return number_;
   4526 }
   4527 inline void EnumValueDescriptorProto::set_number(::google::protobuf::int32 value) {
   4528   set_has_number();
   4529   number_ = value;
   4530   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.number)
   4531 }
   4532 
   4533 // optional .google.protobuf.EnumValueOptions options = 3;
   4534 inline bool EnumValueDescriptorProto::has_options() const {
   4535   return (_has_bits_[0] & 0x00000004u) != 0;
   4536 }
   4537 inline void EnumValueDescriptorProto::set_has_options() {
   4538   _has_bits_[0] |= 0x00000004u;
   4539 }
   4540 inline void EnumValueDescriptorProto::clear_has_options() {
   4541   _has_bits_[0] &= ~0x00000004u;
   4542 }
   4543 inline void EnumValueDescriptorProto::clear_options() {
   4544   if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   4545   clear_has_options();
   4546 }
   4547 inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::options() const {
   4548   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.options)
   4549   return options_ != NULL ? *options_ : *default_instance_->options_;
   4550 }
   4551 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::mutable_options() {
   4552   set_has_options();
   4553   if (options_ == NULL) options_ = new ::google::protobuf::EnumValueOptions;
   4554   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.options)
   4555   return options_;
   4556 }
   4557 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_options() {
   4558   clear_has_options();
   4559   ::google::protobuf::EnumValueOptions* temp = options_;
   4560   options_ = NULL;
   4561   return temp;
   4562 }
   4563 inline void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* options) {
   4564   delete options_;
   4565   options_ = options;
   4566   if (options) {
   4567     set_has_options();
   4568   } else {
   4569     clear_has_options();
   4570   }
   4571   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.options)
   4572 }
   4573 
   4574 // -------------------------------------------------------------------
   4575 
   4576 // ServiceDescriptorProto
   4577 
   4578 // optional string name = 1;
   4579 inline bool ServiceDescriptorProto::has_name() const {
   4580   return (_has_bits_[0] & 0x00000001u) != 0;
   4581 }
   4582 inline void ServiceDescriptorProto::set_has_name() {
   4583   _has_bits_[0] |= 0x00000001u;
   4584 }
   4585 inline void ServiceDescriptorProto::clear_has_name() {
   4586   _has_bits_[0] &= ~0x00000001u;
   4587 }
   4588 inline void ServiceDescriptorProto::clear_name() {
   4589   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4590     name_->clear();
   4591   }
   4592   clear_has_name();
   4593 }
   4594 inline const ::std::string& ServiceDescriptorProto::name() const {
   4595   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.name)
   4596   return *name_;
   4597 }
   4598 inline void ServiceDescriptorProto::set_name(const ::std::string& value) {
   4599   set_has_name();
   4600   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4601     name_ = new ::std::string;
   4602   }
   4603   name_->assign(value);
   4604   // @@protoc_insertion_point(field_set:google.protobuf.ServiceDescriptorProto.name)
   4605 }
   4606 inline void ServiceDescriptorProto::set_name(const char* value) {
   4607   set_has_name();
   4608   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4609     name_ = new ::std::string;
   4610   }
   4611   name_->assign(value);
   4612   // @@protoc_insertion_point(field_set_char:google.protobuf.ServiceDescriptorProto.name)
   4613 }
   4614 inline void ServiceDescriptorProto::set_name(const char* value, size_t size) {
   4615   set_has_name();
   4616   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4617     name_ = new ::std::string;
   4618   }
   4619   name_->assign(reinterpret_cast<const char*>(value), size);
   4620   // @@protoc_insertion_point(field_set_pointer:google.protobuf.ServiceDescriptorProto.name)
   4621 }
   4622 inline ::std::string* ServiceDescriptorProto::mutable_name() {
   4623   set_has_name();
   4624   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4625     name_ = new ::std::string;
   4626   }
   4627   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.name)
   4628   return name_;
   4629 }
   4630 inline ::std::string* ServiceDescriptorProto::release_name() {
   4631   clear_has_name();
   4632   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4633     return NULL;
   4634   } else {
   4635     ::std::string* temp = name_;
   4636     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4637     return temp;
   4638   }
   4639 }
   4640 inline void ServiceDescriptorProto::set_allocated_name(::std::string* name) {
   4641   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4642     delete name_;
   4643   }
   4644   if (name) {
   4645     set_has_name();
   4646     name_ = name;
   4647   } else {
   4648     clear_has_name();
   4649     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4650   }
   4651   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.name)
   4652 }
   4653 
   4654 // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4655 inline int ServiceDescriptorProto::method_size() const {
   4656   return method_.size();
   4657 }
   4658 inline void ServiceDescriptorProto::clear_method() {
   4659   method_.Clear();
   4660 }
   4661 inline const ::google::protobuf::MethodDescriptorProto& ServiceDescriptorProto::method(int index) const {
   4662   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.method)
   4663   return method_.Get(index);
   4664 }
   4665 inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::mutable_method(int index) {
   4666   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.method)
   4667   return method_.Mutable(index);
   4668 }
   4669 inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::add_method() {
   4670   // @@protoc_insertion_point(field_add:google.protobuf.ServiceDescriptorProto.method)
   4671   return method_.Add();
   4672 }
   4673 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >&
   4674 ServiceDescriptorProto::method() const {
   4675   // @@protoc_insertion_point(field_list:google.protobuf.ServiceDescriptorProto.method)
   4676   return method_;
   4677 }
   4678 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >*
   4679 ServiceDescriptorProto::mutable_method() {
   4680   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceDescriptorProto.method)
   4681   return &method_;
   4682 }
   4683 
   4684 // optional .google.protobuf.ServiceOptions options = 3;
   4685 inline bool ServiceDescriptorProto::has_options() const {
   4686   return (_has_bits_[0] & 0x00000004u) != 0;
   4687 }
   4688 inline void ServiceDescriptorProto::set_has_options() {
   4689   _has_bits_[0] |= 0x00000004u;
   4690 }
   4691 inline void ServiceDescriptorProto::clear_has_options() {
   4692   _has_bits_[0] &= ~0x00000004u;
   4693 }
   4694 inline void ServiceDescriptorProto::clear_options() {
   4695   if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   4696   clear_has_options();
   4697 }
   4698 inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options() const {
   4699   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.options)
   4700   return options_ != NULL ? *options_ : *default_instance_->options_;
   4701 }
   4702 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::mutable_options() {
   4703   set_has_options();
   4704   if (options_ == NULL) options_ = new ::google::protobuf::ServiceOptions;
   4705   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.options)
   4706   return options_;
   4707 }
   4708 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_options() {
   4709   clear_has_options();
   4710   ::google::protobuf::ServiceOptions* temp = options_;
   4711   options_ = NULL;
   4712   return temp;
   4713 }
   4714 inline void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* options) {
   4715   delete options_;
   4716   options_ = options;
   4717   if (options) {
   4718     set_has_options();
   4719   } else {
   4720     clear_has_options();
   4721   }
   4722   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.options)
   4723 }
   4724 
   4725 // -------------------------------------------------------------------
   4726 
   4727 // MethodDescriptorProto
   4728 
   4729 // optional string name = 1;
   4730 inline bool MethodDescriptorProto::has_name() const {
   4731   return (_has_bits_[0] & 0x00000001u) != 0;
   4732 }
   4733 inline void MethodDescriptorProto::set_has_name() {
   4734   _has_bits_[0] |= 0x00000001u;
   4735 }
   4736 inline void MethodDescriptorProto::clear_has_name() {
   4737   _has_bits_[0] &= ~0x00000001u;
   4738 }
   4739 inline void MethodDescriptorProto::clear_name() {
   4740   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4741     name_->clear();
   4742   }
   4743   clear_has_name();
   4744 }
   4745 inline const ::std::string& MethodDescriptorProto::name() const {
   4746   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.name)
   4747   return *name_;
   4748 }
   4749 inline void MethodDescriptorProto::set_name(const ::std::string& value) {
   4750   set_has_name();
   4751   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4752     name_ = new ::std::string;
   4753   }
   4754   name_->assign(value);
   4755   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.name)
   4756 }
   4757 inline void MethodDescriptorProto::set_name(const char* value) {
   4758   set_has_name();
   4759   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4760     name_ = new ::std::string;
   4761   }
   4762   name_->assign(value);
   4763   // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.name)
   4764 }
   4765 inline void MethodDescriptorProto::set_name(const char* value, size_t size) {
   4766   set_has_name();
   4767   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4768     name_ = new ::std::string;
   4769   }
   4770   name_->assign(reinterpret_cast<const char*>(value), size);
   4771   // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.name)
   4772 }
   4773 inline ::std::string* MethodDescriptorProto::mutable_name() {
   4774   set_has_name();
   4775   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4776     name_ = new ::std::string;
   4777   }
   4778   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.name)
   4779   return name_;
   4780 }
   4781 inline ::std::string* MethodDescriptorProto::release_name() {
   4782   clear_has_name();
   4783   if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4784     return NULL;
   4785   } else {
   4786     ::std::string* temp = name_;
   4787     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4788     return temp;
   4789   }
   4790 }
   4791 inline void MethodDescriptorProto::set_allocated_name(::std::string* name) {
   4792   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4793     delete name_;
   4794   }
   4795   if (name) {
   4796     set_has_name();
   4797     name_ = name;
   4798   } else {
   4799     clear_has_name();
   4800     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4801   }
   4802   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.name)
   4803 }
   4804 
   4805 // optional string input_type = 2;
   4806 inline bool MethodDescriptorProto::has_input_type() const {
   4807   return (_has_bits_[0] & 0x00000002u) != 0;
   4808 }
   4809 inline void MethodDescriptorProto::set_has_input_type() {
   4810   _has_bits_[0] |= 0x00000002u;
   4811 }
   4812 inline void MethodDescriptorProto::clear_has_input_type() {
   4813   _has_bits_[0] &= ~0x00000002u;
   4814 }
   4815 inline void MethodDescriptorProto::clear_input_type() {
   4816   if (input_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4817     input_type_->clear();
   4818   }
   4819   clear_has_input_type();
   4820 }
   4821 inline const ::std::string& MethodDescriptorProto::input_type() const {
   4822   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.input_type)
   4823   return *input_type_;
   4824 }
   4825 inline void MethodDescriptorProto::set_input_type(const ::std::string& value) {
   4826   set_has_input_type();
   4827   if (input_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4828     input_type_ = new ::std::string;
   4829   }
   4830   input_type_->assign(value);
   4831   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.input_type)
   4832 }
   4833 inline void MethodDescriptorProto::set_input_type(const char* value) {
   4834   set_has_input_type();
   4835   if (input_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4836     input_type_ = new ::std::string;
   4837   }
   4838   input_type_->assign(value);
   4839   // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.input_type)
   4840 }
   4841 inline void MethodDescriptorProto::set_input_type(const char* value, size_t size) {
   4842   set_has_input_type();
   4843   if (input_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4844     input_type_ = new ::std::string;
   4845   }
   4846   input_type_->assign(reinterpret_cast<const char*>(value), size);
   4847   // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.input_type)
   4848 }
   4849 inline ::std::string* MethodDescriptorProto::mutable_input_type() {
   4850   set_has_input_type();
   4851   if (input_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4852     input_type_ = new ::std::string;
   4853   }
   4854   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.input_type)
   4855   return input_type_;
   4856 }
   4857 inline ::std::string* MethodDescriptorProto::release_input_type() {
   4858   clear_has_input_type();
   4859   if (input_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4860     return NULL;
   4861   } else {
   4862     ::std::string* temp = input_type_;
   4863     input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4864     return temp;
   4865   }
   4866 }
   4867 inline void MethodDescriptorProto::set_allocated_input_type(::std::string* input_type) {
   4868   if (input_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4869     delete input_type_;
   4870   }
   4871   if (input_type) {
   4872     set_has_input_type();
   4873     input_type_ = input_type;
   4874   } else {
   4875     clear_has_input_type();
   4876     input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4877   }
   4878   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.input_type)
   4879 }
   4880 
   4881 // optional string output_type = 3;
   4882 inline bool MethodDescriptorProto::has_output_type() const {
   4883   return (_has_bits_[0] & 0x00000004u) != 0;
   4884 }
   4885 inline void MethodDescriptorProto::set_has_output_type() {
   4886   _has_bits_[0] |= 0x00000004u;
   4887 }
   4888 inline void MethodDescriptorProto::clear_has_output_type() {
   4889   _has_bits_[0] &= ~0x00000004u;
   4890 }
   4891 inline void MethodDescriptorProto::clear_output_type() {
   4892   if (output_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4893     output_type_->clear();
   4894   }
   4895   clear_has_output_type();
   4896 }
   4897 inline const ::std::string& MethodDescriptorProto::output_type() const {
   4898   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.output_type)
   4899   return *output_type_;
   4900 }
   4901 inline void MethodDescriptorProto::set_output_type(const ::std::string& value) {
   4902   set_has_output_type();
   4903   if (output_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4904     output_type_ = new ::std::string;
   4905   }
   4906   output_type_->assign(value);
   4907   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.output_type)
   4908 }
   4909 inline void MethodDescriptorProto::set_output_type(const char* value) {
   4910   set_has_output_type();
   4911   if (output_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4912     output_type_ = new ::std::string;
   4913   }
   4914   output_type_->assign(value);
   4915   // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.output_type)
   4916 }
   4917 inline void MethodDescriptorProto::set_output_type(const char* value, size_t size) {
   4918   set_has_output_type();
   4919   if (output_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4920     output_type_ = new ::std::string;
   4921   }
   4922   output_type_->assign(reinterpret_cast<const char*>(value), size);
   4923   // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.output_type)
   4924 }
   4925 inline ::std::string* MethodDescriptorProto::mutable_output_type() {
   4926   set_has_output_type();
   4927   if (output_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4928     output_type_ = new ::std::string;
   4929   }
   4930   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.output_type)
   4931   return output_type_;
   4932 }
   4933 inline ::std::string* MethodDescriptorProto::release_output_type() {
   4934   clear_has_output_type();
   4935   if (output_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4936     return NULL;
   4937   } else {
   4938     ::std::string* temp = output_type_;
   4939     output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4940     return temp;
   4941   }
   4942 }
   4943 inline void MethodDescriptorProto::set_allocated_output_type(::std::string* output_type) {
   4944   if (output_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4945     delete output_type_;
   4946   }
   4947   if (output_type) {
   4948     set_has_output_type();
   4949     output_type_ = output_type;
   4950   } else {
   4951     clear_has_output_type();
   4952     output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4953   }
   4954   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.output_type)
   4955 }
   4956 
   4957 // optional .google.protobuf.MethodOptions options = 4;
   4958 inline bool MethodDescriptorProto::has_options() const {
   4959   return (_has_bits_[0] & 0x00000008u) != 0;
   4960 }
   4961 inline void MethodDescriptorProto::set_has_options() {
   4962   _has_bits_[0] |= 0x00000008u;
   4963 }
   4964 inline void MethodDescriptorProto::clear_has_options() {
   4965   _has_bits_[0] &= ~0x00000008u;
   4966 }
   4967 inline void MethodDescriptorProto::clear_options() {
   4968   if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   4969   clear_has_options();
   4970 }
   4971 inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() const {
   4972   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.options)
   4973   return options_ != NULL ? *options_ : *default_instance_->options_;
   4974 }
   4975 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::mutable_options() {
   4976   set_has_options();
   4977   if (options_ == NULL) options_ = new ::google::protobuf::MethodOptions;
   4978   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.options)
   4979   return options_;
   4980 }
   4981 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options() {
   4982   clear_has_options();
   4983   ::google::protobuf::MethodOptions* temp = options_;
   4984   options_ = NULL;
   4985   return temp;
   4986 }
   4987 inline void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* options) {
   4988   delete options_;
   4989   options_ = options;
   4990   if (options) {
   4991     set_has_options();
   4992   } else {
   4993     clear_has_options();
   4994   }
   4995   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.options)
   4996 }
   4997 
   4998 // -------------------------------------------------------------------
   4999 
   5000 // FileOptions
   5001 
   5002 // optional string java_package = 1;
   5003 inline bool FileOptions::has_java_package() const {
   5004   return (_has_bits_[0] & 0x00000001u) != 0;
   5005 }
   5006 inline void FileOptions::set_has_java_package() {
   5007   _has_bits_[0] |= 0x00000001u;
   5008 }
   5009 inline void FileOptions::clear_has_java_package() {
   5010   _has_bits_[0] &= ~0x00000001u;
   5011 }
   5012 inline void FileOptions::clear_java_package() {
   5013   if (java_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5014     java_package_->clear();
   5015   }
   5016   clear_has_java_package();
   5017 }
   5018 inline const ::std::string& FileOptions::java_package() const {
   5019   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_package)
   5020   return *java_package_;
   5021 }
   5022 inline void FileOptions::set_java_package(const ::std::string& value) {
   5023   set_has_java_package();
   5024   if (java_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5025     java_package_ = new ::std::string;
   5026   }
   5027   java_package_->assign(value);
   5028   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_package)
   5029 }
   5030 inline void FileOptions::set_java_package(const char* value) {
   5031   set_has_java_package();
   5032   if (java_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5033     java_package_ = new ::std::string;
   5034   }
   5035   java_package_->assign(value);
   5036   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.java_package)
   5037 }
   5038 inline void FileOptions::set_java_package(const char* value, size_t size) {
   5039   set_has_java_package();
   5040   if (java_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5041     java_package_ = new ::std::string;
   5042   }
   5043   java_package_->assign(reinterpret_cast<const char*>(value), size);
   5044   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.java_package)
   5045 }
   5046 inline ::std::string* FileOptions::mutable_java_package() {
   5047   set_has_java_package();
   5048   if (java_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5049     java_package_ = new ::std::string;
   5050   }
   5051   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_package)
   5052   return java_package_;
   5053 }
   5054 inline ::std::string* FileOptions::release_java_package() {
   5055   clear_has_java_package();
   5056   if (java_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5057     return NULL;
   5058   } else {
   5059     ::std::string* temp = java_package_;
   5060     java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5061     return temp;
   5062   }
   5063 }
   5064 inline void FileOptions::set_allocated_java_package(::std::string* java_package) {
   5065   if (java_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5066     delete java_package_;
   5067   }
   5068   if (java_package) {
   5069     set_has_java_package();
   5070     java_package_ = java_package;
   5071   } else {
   5072     clear_has_java_package();
   5073     java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5074   }
   5075   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_package)
   5076 }
   5077 
   5078 // optional string java_outer_classname = 8;
   5079 inline bool FileOptions::has_java_outer_classname() const {
   5080   return (_has_bits_[0] & 0x00000002u) != 0;
   5081 }
   5082 inline void FileOptions::set_has_java_outer_classname() {
   5083   _has_bits_[0] |= 0x00000002u;
   5084 }
   5085 inline void FileOptions::clear_has_java_outer_classname() {
   5086   _has_bits_[0] &= ~0x00000002u;
   5087 }
   5088 inline void FileOptions::clear_java_outer_classname() {
   5089   if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5090     java_outer_classname_->clear();
   5091   }
   5092   clear_has_java_outer_classname();
   5093 }
   5094 inline const ::std::string& FileOptions::java_outer_classname() const {
   5095   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_outer_classname)
   5096   return *java_outer_classname_;
   5097 }
   5098 inline void FileOptions::set_java_outer_classname(const ::std::string& value) {
   5099   set_has_java_outer_classname();
   5100   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5101     java_outer_classname_ = new ::std::string;
   5102   }
   5103   java_outer_classname_->assign(value);
   5104   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_outer_classname)
   5105 }
   5106 inline void FileOptions::set_java_outer_classname(const char* value) {
   5107   set_has_java_outer_classname();
   5108   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5109     java_outer_classname_ = new ::std::string;
   5110   }
   5111   java_outer_classname_->assign(value);
   5112   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.java_outer_classname)
   5113 }
   5114 inline void FileOptions::set_java_outer_classname(const char* value, size_t size) {
   5115   set_has_java_outer_classname();
   5116   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5117     java_outer_classname_ = new ::std::string;
   5118   }
   5119   java_outer_classname_->assign(reinterpret_cast<const char*>(value), size);
   5120   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.java_outer_classname)
   5121 }
   5122 inline ::std::string* FileOptions::mutable_java_outer_classname() {
   5123   set_has_java_outer_classname();
   5124   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5125     java_outer_classname_ = new ::std::string;
   5126   }
   5127   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_outer_classname)
   5128   return java_outer_classname_;
   5129 }
   5130 inline ::std::string* FileOptions::release_java_outer_classname() {
   5131   clear_has_java_outer_classname();
   5132   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5133     return NULL;
   5134   } else {
   5135     ::std::string* temp = java_outer_classname_;
   5136     java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5137     return temp;
   5138   }
   5139 }
   5140 inline void FileOptions::set_allocated_java_outer_classname(::std::string* java_outer_classname) {
   5141   if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5142     delete java_outer_classname_;
   5143   }
   5144   if (java_outer_classname) {
   5145     set_has_java_outer_classname();
   5146     java_outer_classname_ = java_outer_classname;
   5147   } else {
   5148     clear_has_java_outer_classname();
   5149     java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5150   }
   5151   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_outer_classname)
   5152 }
   5153 
   5154 // optional bool java_multiple_files = 10 [default = false];
   5155 inline bool FileOptions::has_java_multiple_files() const {
   5156   return (_has_bits_[0] & 0x00000004u) != 0;
   5157 }
   5158 inline void FileOptions::set_has_java_multiple_files() {
   5159   _has_bits_[0] |= 0x00000004u;
   5160 }
   5161 inline void FileOptions::clear_has_java_multiple_files() {
   5162   _has_bits_[0] &= ~0x00000004u;
   5163 }
   5164 inline void FileOptions::clear_java_multiple_files() {
   5165   java_multiple_files_ = false;
   5166   clear_has_java_multiple_files();
   5167 }
   5168 inline bool FileOptions::java_multiple_files() const {
   5169   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_multiple_files)
   5170   return java_multiple_files_;
   5171 }
   5172 inline void FileOptions::set_java_multiple_files(bool value) {
   5173   set_has_java_multiple_files();
   5174   java_multiple_files_ = value;
   5175   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_multiple_files)
   5176 }
   5177 
   5178 // optional bool java_generate_equals_and_hash = 20 [default = false];
   5179 inline bool FileOptions::has_java_generate_equals_and_hash() const {
   5180   return (_has_bits_[0] & 0x00000008u) != 0;
   5181 }
   5182 inline void FileOptions::set_has_java_generate_equals_and_hash() {
   5183   _has_bits_[0] |= 0x00000008u;
   5184 }
   5185 inline void FileOptions::clear_has_java_generate_equals_and_hash() {
   5186   _has_bits_[0] &= ~0x00000008u;
   5187 }
   5188 inline void FileOptions::clear_java_generate_equals_and_hash() {
   5189   java_generate_equals_and_hash_ = false;
   5190   clear_has_java_generate_equals_and_hash();
   5191 }
   5192 inline bool FileOptions::java_generate_equals_and_hash() const {
   5193   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generate_equals_and_hash)
   5194   return java_generate_equals_and_hash_;
   5195 }
   5196 inline void FileOptions::set_java_generate_equals_and_hash(bool value) {
   5197   set_has_java_generate_equals_and_hash();
   5198   java_generate_equals_and_hash_ = value;
   5199   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generate_equals_and_hash)
   5200 }
   5201 
   5202 // optional bool java_string_check_utf8 = 27 [default = false];
   5203 inline bool FileOptions::has_java_string_check_utf8() const {
   5204   return (_has_bits_[0] & 0x00000010u) != 0;
   5205 }
   5206 inline void FileOptions::set_has_java_string_check_utf8() {
   5207   _has_bits_[0] |= 0x00000010u;
   5208 }
   5209 inline void FileOptions::clear_has_java_string_check_utf8() {
   5210   _has_bits_[0] &= ~0x00000010u;
   5211 }
   5212 inline void FileOptions::clear_java_string_check_utf8() {
   5213   java_string_check_utf8_ = false;
   5214   clear_has_java_string_check_utf8();
   5215 }
   5216 inline bool FileOptions::java_string_check_utf8() const {
   5217   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_string_check_utf8)
   5218   return java_string_check_utf8_;
   5219 }
   5220 inline void FileOptions::set_java_string_check_utf8(bool value) {
   5221   set_has_java_string_check_utf8();
   5222   java_string_check_utf8_ = value;
   5223   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_string_check_utf8)
   5224 }
   5225 
   5226 // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5227 inline bool FileOptions::has_optimize_for() const {
   5228   return (_has_bits_[0] & 0x00000020u) != 0;
   5229 }
   5230 inline void FileOptions::set_has_optimize_for() {
   5231   _has_bits_[0] |= 0x00000020u;
   5232 }
   5233 inline void FileOptions::clear_has_optimize_for() {
   5234   _has_bits_[0] &= ~0x00000020u;
   5235 }
   5236 inline void FileOptions::clear_optimize_for() {
   5237   optimize_for_ = 1;
   5238   clear_has_optimize_for();
   5239 }
   5240 inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::optimize_for() const {
   5241   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.optimize_for)
   5242   return static_cast< ::google::protobuf::FileOptions_OptimizeMode >(optimize_for_);
   5243 }
   5244 inline void FileOptions::set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
   5245   assert(::google::protobuf::FileOptions_OptimizeMode_IsValid(value));
   5246   set_has_optimize_for();
   5247   optimize_for_ = value;
   5248   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.optimize_for)
   5249 }
   5250 
   5251 // optional string go_package = 11;
   5252 inline bool FileOptions::has_go_package() const {
   5253   return (_has_bits_[0] & 0x00000040u) != 0;
   5254 }
   5255 inline void FileOptions::set_has_go_package() {
   5256   _has_bits_[0] |= 0x00000040u;
   5257 }
   5258 inline void FileOptions::clear_has_go_package() {
   5259   _has_bits_[0] &= ~0x00000040u;
   5260 }
   5261 inline void FileOptions::clear_go_package() {
   5262   if (go_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5263     go_package_->clear();
   5264   }
   5265   clear_has_go_package();
   5266 }
   5267 inline const ::std::string& FileOptions::go_package() const {
   5268   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.go_package)
   5269   return *go_package_;
   5270 }
   5271 inline void FileOptions::set_go_package(const ::std::string& value) {
   5272   set_has_go_package();
   5273   if (go_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5274     go_package_ = new ::std::string;
   5275   }
   5276   go_package_->assign(value);
   5277   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.go_package)
   5278 }
   5279 inline void FileOptions::set_go_package(const char* value) {
   5280   set_has_go_package();
   5281   if (go_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5282     go_package_ = new ::std::string;
   5283   }
   5284   go_package_->assign(value);
   5285   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.go_package)
   5286 }
   5287 inline void FileOptions::set_go_package(const char* value, size_t size) {
   5288   set_has_go_package();
   5289   if (go_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5290     go_package_ = new ::std::string;
   5291   }
   5292   go_package_->assign(reinterpret_cast<const char*>(value), size);
   5293   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.go_package)
   5294 }
   5295 inline ::std::string* FileOptions::mutable_go_package() {
   5296   set_has_go_package();
   5297   if (go_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5298     go_package_ = new ::std::string;
   5299   }
   5300   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.go_package)
   5301   return go_package_;
   5302 }
   5303 inline ::std::string* FileOptions::release_go_package() {
   5304   clear_has_go_package();
   5305   if (go_package_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5306     return NULL;
   5307   } else {
   5308     ::std::string* temp = go_package_;
   5309     go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5310     return temp;
   5311   }
   5312 }
   5313 inline void FileOptions::set_allocated_go_package(::std::string* go_package) {
   5314   if (go_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5315     delete go_package_;
   5316   }
   5317   if (go_package) {
   5318     set_has_go_package();
   5319     go_package_ = go_package;
   5320   } else {
   5321     clear_has_go_package();
   5322     go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5323   }
   5324   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.go_package)
   5325 }
   5326 
   5327 // optional bool cc_generic_services = 16 [default = false];
   5328 inline bool FileOptions::has_cc_generic_services() const {
   5329   return (_has_bits_[0] & 0x00000080u) != 0;
   5330 }
   5331 inline void FileOptions::set_has_cc_generic_services() {
   5332   _has_bits_[0] |= 0x00000080u;
   5333 }
   5334 inline void FileOptions::clear_has_cc_generic_services() {
   5335   _has_bits_[0] &= ~0x00000080u;
   5336 }
   5337 inline void FileOptions::clear_cc_generic_services() {
   5338   cc_generic_services_ = false;
   5339   clear_has_cc_generic_services();
   5340 }
   5341 inline bool FileOptions::cc_generic_services() const {
   5342   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_generic_services)
   5343   return cc_generic_services_;
   5344 }
   5345 inline void FileOptions::set_cc_generic_services(bool value) {
   5346   set_has_cc_generic_services();
   5347   cc_generic_services_ = value;
   5348   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_generic_services)
   5349 }
   5350 
   5351 // optional bool java_generic_services = 17 [default = false];
   5352 inline bool FileOptions::has_java_generic_services() const {
   5353   return (_has_bits_[0] & 0x00000100u) != 0;
   5354 }
   5355 inline void FileOptions::set_has_java_generic_services() {
   5356   _has_bits_[0] |= 0x00000100u;
   5357 }
   5358 inline void FileOptions::clear_has_java_generic_services() {
   5359   _has_bits_[0] &= ~0x00000100u;
   5360 }
   5361 inline void FileOptions::clear_java_generic_services() {
   5362   java_generic_services_ = false;
   5363   clear_has_java_generic_services();
   5364 }
   5365 inline bool FileOptions::java_generic_services() const {
   5366   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generic_services)
   5367   return java_generic_services_;
   5368 }
   5369 inline void FileOptions::set_java_generic_services(bool value) {
   5370   set_has_java_generic_services();
   5371   java_generic_services_ = value;
   5372   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generic_services)
   5373 }
   5374 
   5375 // optional bool py_generic_services = 18 [default = false];
   5376 inline bool FileOptions::has_py_generic_services() const {
   5377   return (_has_bits_[0] & 0x00000200u) != 0;
   5378 }
   5379 inline void FileOptions::set_has_py_generic_services() {
   5380   _has_bits_[0] |= 0x00000200u;
   5381 }
   5382 inline void FileOptions::clear_has_py_generic_services() {
   5383   _has_bits_[0] &= ~0x00000200u;
   5384 }
   5385 inline void FileOptions::clear_py_generic_services() {
   5386   py_generic_services_ = false;
   5387   clear_has_py_generic_services();
   5388 }
   5389 inline bool FileOptions::py_generic_services() const {
   5390   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.py_generic_services)
   5391   return py_generic_services_;
   5392 }
   5393 inline void FileOptions::set_py_generic_services(bool value) {
   5394   set_has_py_generic_services();
   5395   py_generic_services_ = value;
   5396   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.py_generic_services)
   5397 }
   5398 
   5399 // optional bool deprecated = 23 [default = false];
   5400 inline bool FileOptions::has_deprecated() const {
   5401   return (_has_bits_[0] & 0x00000400u) != 0;
   5402 }
   5403 inline void FileOptions::set_has_deprecated() {
   5404   _has_bits_[0] |= 0x00000400u;
   5405 }
   5406 inline void FileOptions::clear_has_deprecated() {
   5407   _has_bits_[0] &= ~0x00000400u;
   5408 }
   5409 inline void FileOptions::clear_deprecated() {
   5410   deprecated_ = false;
   5411   clear_has_deprecated();
   5412 }
   5413 inline bool FileOptions::deprecated() const {
   5414   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.deprecated)
   5415   return deprecated_;
   5416 }
   5417 inline void FileOptions::set_deprecated(bool value) {
   5418   set_has_deprecated();
   5419   deprecated_ = value;
   5420   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.deprecated)
   5421 }
   5422 
   5423 // optional bool javanano_use_deprecated_package = 38;
   5424 inline bool FileOptions::has_javanano_use_deprecated_package() const {
   5425   return (_has_bits_[0] & 0x00000800u) != 0;
   5426 }
   5427 inline void FileOptions::set_has_javanano_use_deprecated_package() {
   5428   _has_bits_[0] |= 0x00000800u;
   5429 }
   5430 inline void FileOptions::clear_has_javanano_use_deprecated_package() {
   5431   _has_bits_[0] &= ~0x00000800u;
   5432 }
   5433 inline void FileOptions::clear_javanano_use_deprecated_package() {
   5434   javanano_use_deprecated_package_ = false;
   5435   clear_has_javanano_use_deprecated_package();
   5436 }
   5437 inline bool FileOptions::javanano_use_deprecated_package() const {
   5438   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.javanano_use_deprecated_package)
   5439   return javanano_use_deprecated_package_;
   5440 }
   5441 inline void FileOptions::set_javanano_use_deprecated_package(bool value) {
   5442   set_has_javanano_use_deprecated_package();
   5443   javanano_use_deprecated_package_ = value;
   5444   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.javanano_use_deprecated_package)
   5445 }
   5446 
   5447 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5448 inline int FileOptions::uninterpreted_option_size() const {
   5449   return uninterpreted_option_.size();
   5450 }
   5451 inline void FileOptions::clear_uninterpreted_option() {
   5452   uninterpreted_option_.Clear();
   5453 }
   5454 inline const ::google::protobuf::UninterpretedOption& FileOptions::uninterpreted_option(int index) const {
   5455   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.uninterpreted_option)
   5456   return uninterpreted_option_.Get(index);
   5457 }
   5458 inline ::google::protobuf::UninterpretedOption* FileOptions::mutable_uninterpreted_option(int index) {
   5459   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.uninterpreted_option)
   5460   return uninterpreted_option_.Mutable(index);
   5461 }
   5462 inline ::google::protobuf::UninterpretedOption* FileOptions::add_uninterpreted_option() {
   5463   // @@protoc_insertion_point(field_add:google.protobuf.FileOptions.uninterpreted_option)
   5464   return uninterpreted_option_.Add();
   5465 }
   5466 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5467 FileOptions::uninterpreted_option() const {
   5468   // @@protoc_insertion_point(field_list:google.protobuf.FileOptions.uninterpreted_option)
   5469   return uninterpreted_option_;
   5470 }
   5471 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5472 FileOptions::mutable_uninterpreted_option() {
   5473   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileOptions.uninterpreted_option)
   5474   return &uninterpreted_option_;
   5475 }
   5476 
   5477 // -------------------------------------------------------------------
   5478 
   5479 // MessageOptions
   5480 
   5481 // optional bool message_set_wire_format = 1 [default = false];
   5482 inline bool MessageOptions::has_message_set_wire_format() const {
   5483   return (_has_bits_[0] & 0x00000001u) != 0;
   5484 }
   5485 inline void MessageOptions::set_has_message_set_wire_format() {
   5486   _has_bits_[0] |= 0x00000001u;
   5487 }
   5488 inline void MessageOptions::clear_has_message_set_wire_format() {
   5489   _has_bits_[0] &= ~0x00000001u;
   5490 }
   5491 inline void MessageOptions::clear_message_set_wire_format() {
   5492   message_set_wire_format_ = false;
   5493   clear_has_message_set_wire_format();
   5494 }
   5495 inline bool MessageOptions::message_set_wire_format() const {
   5496   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.message_set_wire_format)
   5497   return message_set_wire_format_;
   5498 }
   5499 inline void MessageOptions::set_message_set_wire_format(bool value) {
   5500   set_has_message_set_wire_format();
   5501   message_set_wire_format_ = value;
   5502   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.message_set_wire_format)
   5503 }
   5504 
   5505 // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5506 inline bool MessageOptions::has_no_standard_descriptor_accessor() const {
   5507   return (_has_bits_[0] & 0x00000002u) != 0;
   5508 }
   5509 inline void MessageOptions::set_has_no_standard_descriptor_accessor() {
   5510   _has_bits_[0] |= 0x00000002u;
   5511 }
   5512 inline void MessageOptions::clear_has_no_standard_descriptor_accessor() {
   5513   _has_bits_[0] &= ~0x00000002u;
   5514 }
   5515 inline void MessageOptions::clear_no_standard_descriptor_accessor() {
   5516   no_standard_descriptor_accessor_ = false;
   5517   clear_has_no_standard_descriptor_accessor();
   5518 }
   5519 inline bool MessageOptions::no_standard_descriptor_accessor() const {
   5520   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
   5521   return no_standard_descriptor_accessor_;
   5522 }
   5523 inline void MessageOptions::set_no_standard_descriptor_accessor(bool value) {
   5524   set_has_no_standard_descriptor_accessor();
   5525   no_standard_descriptor_accessor_ = value;
   5526   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
   5527 }
   5528 
   5529 // optional bool deprecated = 3 [default = false];
   5530 inline bool MessageOptions::has_deprecated() const {
   5531   return (_has_bits_[0] & 0x00000004u) != 0;
   5532 }
   5533 inline void MessageOptions::set_has_deprecated() {
   5534   _has_bits_[0] |= 0x00000004u;
   5535 }
   5536 inline void MessageOptions::clear_has_deprecated() {
   5537   _has_bits_[0] &= ~0x00000004u;
   5538 }
   5539 inline void MessageOptions::clear_deprecated() {
   5540   deprecated_ = false;
   5541   clear_has_deprecated();
   5542 }
   5543 inline bool MessageOptions::deprecated() const {
   5544   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated)
   5545   return deprecated_;
   5546 }
   5547 inline void MessageOptions::set_deprecated(bool value) {
   5548   set_has_deprecated();
   5549   deprecated_ = value;
   5550   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated)
   5551 }
   5552 
   5553 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5554 inline int MessageOptions::uninterpreted_option_size() const {
   5555   return uninterpreted_option_.size();
   5556 }
   5557 inline void MessageOptions::clear_uninterpreted_option() {
   5558   uninterpreted_option_.Clear();
   5559 }
   5560 inline const ::google::protobuf::UninterpretedOption& MessageOptions::uninterpreted_option(int index) const {
   5561   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.uninterpreted_option)
   5562   return uninterpreted_option_.Get(index);
   5563 }
   5564 inline ::google::protobuf::UninterpretedOption* MessageOptions::mutable_uninterpreted_option(int index) {
   5565   // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.uninterpreted_option)
   5566   return uninterpreted_option_.Mutable(index);
   5567 }
   5568 inline ::google::protobuf::UninterpretedOption* MessageOptions::add_uninterpreted_option() {
   5569   // @@protoc_insertion_point(field_add:google.protobuf.MessageOptions.uninterpreted_option)
   5570   return uninterpreted_option_.Add();
   5571 }
   5572 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5573 MessageOptions::uninterpreted_option() const {
   5574   // @@protoc_insertion_point(field_list:google.protobuf.MessageOptions.uninterpreted_option)
   5575   return uninterpreted_option_;
   5576 }
   5577 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5578 MessageOptions::mutable_uninterpreted_option() {
   5579   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MessageOptions.uninterpreted_option)
   5580   return &uninterpreted_option_;
   5581 }
   5582 
   5583 // -------------------------------------------------------------------
   5584 
   5585 // FieldOptions
   5586 
   5587 // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   5588 inline bool FieldOptions::has_ctype() const {
   5589   return (_has_bits_[0] & 0x00000001u) != 0;
   5590 }
   5591 inline void FieldOptions::set_has_ctype() {
   5592   _has_bits_[0] |= 0x00000001u;
   5593 }
   5594 inline void FieldOptions::clear_has_ctype() {
   5595   _has_bits_[0] &= ~0x00000001u;
   5596 }
   5597 inline void FieldOptions::clear_ctype() {
   5598   ctype_ = 0;
   5599   clear_has_ctype();
   5600 }
   5601 inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const {
   5602   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype)
   5603   return static_cast< ::google::protobuf::FieldOptions_CType >(ctype_);
   5604 }
   5605 inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) {
   5606   assert(::google::protobuf::FieldOptions_CType_IsValid(value));
   5607   set_has_ctype();
   5608   ctype_ = value;
   5609   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype)
   5610 }
   5611 
   5612 // optional bool packed = 2;
   5613 inline bool FieldOptions::has_packed() const {
   5614   return (_has_bits_[0] & 0x00000002u) != 0;
   5615 }
   5616 inline void FieldOptions::set_has_packed() {
   5617   _has_bits_[0] |= 0x00000002u;
   5618 }
   5619 inline void FieldOptions::clear_has_packed() {
   5620   _has_bits_[0] &= ~0x00000002u;
   5621 }
   5622 inline void FieldOptions::clear_packed() {
   5623   packed_ = false;
   5624   clear_has_packed();
   5625 }
   5626 inline bool FieldOptions::packed() const {
   5627   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed)
   5628   return packed_;
   5629 }
   5630 inline void FieldOptions::set_packed(bool value) {
   5631   set_has_packed();
   5632   packed_ = value;
   5633   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed)
   5634 }
   5635 
   5636 // optional bool lazy = 5 [default = false];
   5637 inline bool FieldOptions::has_lazy() const {
   5638   return (_has_bits_[0] & 0x00000004u) != 0;
   5639 }
   5640 inline void FieldOptions::set_has_lazy() {
   5641   _has_bits_[0] |= 0x00000004u;
   5642 }
   5643 inline void FieldOptions::clear_has_lazy() {
   5644   _has_bits_[0] &= ~0x00000004u;
   5645 }
   5646 inline void FieldOptions::clear_lazy() {
   5647   lazy_ = false;
   5648   clear_has_lazy();
   5649 }
   5650 inline bool FieldOptions::lazy() const {
   5651   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.lazy)
   5652   return lazy_;
   5653 }
   5654 inline void FieldOptions::set_lazy(bool value) {
   5655   set_has_lazy();
   5656   lazy_ = value;
   5657   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy)
   5658 }
   5659 
   5660 // optional bool deprecated = 3 [default = false];
   5661 inline bool FieldOptions::has_deprecated() const {
   5662   return (_has_bits_[0] & 0x00000008u) != 0;
   5663 }
   5664 inline void FieldOptions::set_has_deprecated() {
   5665   _has_bits_[0] |= 0x00000008u;
   5666 }
   5667 inline void FieldOptions::clear_has_deprecated() {
   5668   _has_bits_[0] &= ~0x00000008u;
   5669 }
   5670 inline void FieldOptions::clear_deprecated() {
   5671   deprecated_ = false;
   5672   clear_has_deprecated();
   5673 }
   5674 inline bool FieldOptions::deprecated() const {
   5675   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.deprecated)
   5676   return deprecated_;
   5677 }
   5678 inline void FieldOptions::set_deprecated(bool value) {
   5679   set_has_deprecated();
   5680   deprecated_ = value;
   5681   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated)
   5682 }
   5683 
   5684 // optional string experimental_map_key = 9;
   5685 inline bool FieldOptions::has_experimental_map_key() const {
   5686   return (_has_bits_[0] & 0x00000010u) != 0;
   5687 }
   5688 inline void FieldOptions::set_has_experimental_map_key() {
   5689   _has_bits_[0] |= 0x00000010u;
   5690 }
   5691 inline void FieldOptions::clear_has_experimental_map_key() {
   5692   _has_bits_[0] &= ~0x00000010u;
   5693 }
   5694 inline void FieldOptions::clear_experimental_map_key() {
   5695   if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5696     experimental_map_key_->clear();
   5697   }
   5698   clear_has_experimental_map_key();
   5699 }
   5700 inline const ::std::string& FieldOptions::experimental_map_key() const {
   5701   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.experimental_map_key)
   5702   return *experimental_map_key_;
   5703 }
   5704 inline void FieldOptions::set_experimental_map_key(const ::std::string& value) {
   5705   set_has_experimental_map_key();
   5706   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5707     experimental_map_key_ = new ::std::string;
   5708   }
   5709   experimental_map_key_->assign(value);
   5710   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.experimental_map_key)
   5711 }
   5712 inline void FieldOptions::set_experimental_map_key(const char* value) {
   5713   set_has_experimental_map_key();
   5714   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5715     experimental_map_key_ = new ::std::string;
   5716   }
   5717   experimental_map_key_->assign(value);
   5718   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldOptions.experimental_map_key)
   5719 }
   5720 inline void FieldOptions::set_experimental_map_key(const char* value, size_t size) {
   5721   set_has_experimental_map_key();
   5722   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5723     experimental_map_key_ = new ::std::string;
   5724   }
   5725   experimental_map_key_->assign(reinterpret_cast<const char*>(value), size);
   5726   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldOptions.experimental_map_key)
   5727 }
   5728 inline ::std::string* FieldOptions::mutable_experimental_map_key() {
   5729   set_has_experimental_map_key();
   5730   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5731     experimental_map_key_ = new ::std::string;
   5732   }
   5733   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.experimental_map_key)
   5734   return experimental_map_key_;
   5735 }
   5736 inline ::std::string* FieldOptions::release_experimental_map_key() {
   5737   clear_has_experimental_map_key();
   5738   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5739     return NULL;
   5740   } else {
   5741     ::std::string* temp = experimental_map_key_;
   5742     experimental_map_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5743     return temp;
   5744   }
   5745 }
   5746 inline void FieldOptions::set_allocated_experimental_map_key(::std::string* experimental_map_key) {
   5747   if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5748     delete experimental_map_key_;
   5749   }
   5750   if (experimental_map_key) {
   5751     set_has_experimental_map_key();
   5752     experimental_map_key_ = experimental_map_key;
   5753   } else {
   5754     clear_has_experimental_map_key();
   5755     experimental_map_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5756   }
   5757   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.experimental_map_key)
   5758 }
   5759 
   5760 // optional bool weak = 10 [default = false];
   5761 inline bool FieldOptions::has_weak() const {
   5762   return (_has_bits_[0] & 0x00000020u) != 0;
   5763 }
   5764 inline void FieldOptions::set_has_weak() {
   5765   _has_bits_[0] |= 0x00000020u;
   5766 }
   5767 inline void FieldOptions::clear_has_weak() {
   5768   _has_bits_[0] &= ~0x00000020u;
   5769 }
   5770 inline void FieldOptions::clear_weak() {
   5771   weak_ = false;
   5772   clear_has_weak();
   5773 }
   5774 inline bool FieldOptions::weak() const {
   5775   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.weak)
   5776   return weak_;
   5777 }
   5778 inline void FieldOptions::set_weak(bool value) {
   5779   set_has_weak();
   5780   weak_ = value;
   5781   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak)
   5782 }
   5783 
   5784 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5785 inline int FieldOptions::uninterpreted_option_size() const {
   5786   return uninterpreted_option_.size();
   5787 }
   5788 inline void FieldOptions::clear_uninterpreted_option() {
   5789   uninterpreted_option_.Clear();
   5790 }
   5791 inline const ::google::protobuf::UninterpretedOption& FieldOptions::uninterpreted_option(int index) const {
   5792   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.uninterpreted_option)
   5793   return uninterpreted_option_.Get(index);
   5794 }
   5795 inline ::google::protobuf::UninterpretedOption* FieldOptions::mutable_uninterpreted_option(int index) {
   5796   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.uninterpreted_option)
   5797   return uninterpreted_option_.Mutable(index);
   5798 }
   5799 inline ::google::protobuf::UninterpretedOption* FieldOptions::add_uninterpreted_option() {
   5800   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.uninterpreted_option)
   5801   return uninterpreted_option_.Add();
   5802 }
   5803 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5804 FieldOptions::uninterpreted_option() const {
   5805   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.uninterpreted_option)
   5806   return uninterpreted_option_;
   5807 }
   5808 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5809 FieldOptions::mutable_uninterpreted_option() {
   5810   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.uninterpreted_option)
   5811   return &uninterpreted_option_;
   5812 }
   5813 
   5814 // -------------------------------------------------------------------
   5815 
   5816 // EnumOptions
   5817 
   5818 // optional bool allow_alias = 2;
   5819 inline bool EnumOptions::has_allow_alias() const {
   5820   return (_has_bits_[0] & 0x00000001u) != 0;
   5821 }
   5822 inline void EnumOptions::set_has_allow_alias() {
   5823   _has_bits_[0] |= 0x00000001u;
   5824 }
   5825 inline void EnumOptions::clear_has_allow_alias() {
   5826   _has_bits_[0] &= ~0x00000001u;
   5827 }
   5828 inline void EnumOptions::clear_allow_alias() {
   5829   allow_alias_ = false;
   5830   clear_has_allow_alias();
   5831 }
   5832 inline bool EnumOptions::allow_alias() const {
   5833   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.allow_alias)
   5834   return allow_alias_;
   5835 }
   5836 inline void EnumOptions::set_allow_alias(bool value) {
   5837   set_has_allow_alias();
   5838   allow_alias_ = value;
   5839   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.allow_alias)
   5840 }
   5841 
   5842 // optional bool deprecated = 3 [default = false];
   5843 inline bool EnumOptions::has_deprecated() const {
   5844   return (_has_bits_[0] & 0x00000002u) != 0;
   5845 }
   5846 inline void EnumOptions::set_has_deprecated() {
   5847   _has_bits_[0] |= 0x00000002u;
   5848 }
   5849 inline void EnumOptions::clear_has_deprecated() {
   5850   _has_bits_[0] &= ~0x00000002u;
   5851 }
   5852 inline void EnumOptions::clear_deprecated() {
   5853   deprecated_ = false;
   5854   clear_has_deprecated();
   5855 }
   5856 inline bool EnumOptions::deprecated() const {
   5857   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated)
   5858   return deprecated_;
   5859 }
   5860 inline void EnumOptions::set_deprecated(bool value) {
   5861   set_has_deprecated();
   5862   deprecated_ = value;
   5863   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated)
   5864 }
   5865 
   5866 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5867 inline int EnumOptions::uninterpreted_option_size() const {
   5868   return uninterpreted_option_.size();
   5869 }
   5870 inline void EnumOptions::clear_uninterpreted_option() {
   5871   uninterpreted_option_.Clear();
   5872 }
   5873 inline const ::google::protobuf::UninterpretedOption& EnumOptions::uninterpreted_option(int index) const {
   5874   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.uninterpreted_option)
   5875   return uninterpreted_option_.Get(index);
   5876 }
   5877 inline ::google::protobuf::UninterpretedOption* EnumOptions::mutable_uninterpreted_option(int index) {
   5878   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.uninterpreted_option)
   5879   return uninterpreted_option_.Mutable(index);
   5880 }
   5881 inline ::google::protobuf::UninterpretedOption* EnumOptions::add_uninterpreted_option() {
   5882   // @@protoc_insertion_point(field_add:google.protobuf.EnumOptions.uninterpreted_option)
   5883   return uninterpreted_option_.Add();
   5884 }
   5885 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5886 EnumOptions::uninterpreted_option() const {
   5887   // @@protoc_insertion_point(field_list:google.protobuf.EnumOptions.uninterpreted_option)
   5888   return uninterpreted_option_;
   5889 }
   5890 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5891 EnumOptions::mutable_uninterpreted_option() {
   5892   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumOptions.uninterpreted_option)
   5893   return &uninterpreted_option_;
   5894 }
   5895 
   5896 // -------------------------------------------------------------------
   5897 
   5898 // EnumValueOptions
   5899 
   5900 // optional bool deprecated = 1 [default = false];
   5901 inline bool EnumValueOptions::has_deprecated() const {
   5902   return (_has_bits_[0] & 0x00000001u) != 0;
   5903 }
   5904 inline void EnumValueOptions::set_has_deprecated() {
   5905   _has_bits_[0] |= 0x00000001u;
   5906 }
   5907 inline void EnumValueOptions::clear_has_deprecated() {
   5908   _has_bits_[0] &= ~0x00000001u;
   5909 }
   5910 inline void EnumValueOptions::clear_deprecated() {
   5911   deprecated_ = false;
   5912   clear_has_deprecated();
   5913 }
   5914 inline bool EnumValueOptions::deprecated() const {
   5915   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.deprecated)
   5916   return deprecated_;
   5917 }
   5918 inline void EnumValueOptions::set_deprecated(bool value) {
   5919   set_has_deprecated();
   5920   deprecated_ = value;
   5921   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.deprecated)
   5922 }
   5923 
   5924 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5925 inline int EnumValueOptions::uninterpreted_option_size() const {
   5926   return uninterpreted_option_.size();
   5927 }
   5928 inline void EnumValueOptions::clear_uninterpreted_option() {
   5929   uninterpreted_option_.Clear();
   5930 }
   5931 inline const ::google::protobuf::UninterpretedOption& EnumValueOptions::uninterpreted_option(int index) const {
   5932   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.uninterpreted_option)
   5933   return uninterpreted_option_.Get(index);
   5934 }
   5935 inline ::google::protobuf::UninterpretedOption* EnumValueOptions::mutable_uninterpreted_option(int index) {
   5936   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.uninterpreted_option)
   5937   return uninterpreted_option_.Mutable(index);
   5938 }
   5939 inline ::google::protobuf::UninterpretedOption* EnumValueOptions::add_uninterpreted_option() {
   5940   // @@protoc_insertion_point(field_add:google.protobuf.EnumValueOptions.uninterpreted_option)
   5941   return uninterpreted_option_.Add();
   5942 }
   5943 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5944 EnumValueOptions::uninterpreted_option() const {
   5945   // @@protoc_insertion_point(field_list:google.protobuf.EnumValueOptions.uninterpreted_option)
   5946   return uninterpreted_option_;
   5947 }
   5948 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5949 EnumValueOptions::mutable_uninterpreted_option() {
   5950   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumValueOptions.uninterpreted_option)
   5951   return &uninterpreted_option_;
   5952 }
   5953 
   5954 // -------------------------------------------------------------------
   5955 
   5956 // ServiceOptions
   5957 
   5958 // optional bool deprecated = 33 [default = false];
   5959 inline bool ServiceOptions::has_deprecated() const {
   5960   return (_has_bits_[0] & 0x00000001u) != 0;
   5961 }
   5962 inline void ServiceOptions::set_has_deprecated() {
   5963   _has_bits_[0] |= 0x00000001u;
   5964 }
   5965 inline void ServiceOptions::clear_has_deprecated() {
   5966   _has_bits_[0] &= ~0x00000001u;
   5967 }
   5968 inline void ServiceOptions::clear_deprecated() {
   5969   deprecated_ = false;
   5970   clear_has_deprecated();
   5971 }
   5972 inline bool ServiceOptions::deprecated() const {
   5973   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.deprecated)
   5974   return deprecated_;
   5975 }
   5976 inline void ServiceOptions::set_deprecated(bool value) {
   5977   set_has_deprecated();
   5978   deprecated_ = value;
   5979   // @@protoc_insertion_point(field_set:google.protobuf.ServiceOptions.deprecated)
   5980 }
   5981 
   5982 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5983 inline int ServiceOptions::uninterpreted_option_size() const {
   5984   return uninterpreted_option_.size();
   5985 }
   5986 inline void ServiceOptions::clear_uninterpreted_option() {
   5987   uninterpreted_option_.Clear();
   5988 }
   5989 inline const ::google::protobuf::UninterpretedOption& ServiceOptions::uninterpreted_option(int index) const {
   5990   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.uninterpreted_option)
   5991   return uninterpreted_option_.Get(index);
   5992 }
   5993 inline ::google::protobuf::UninterpretedOption* ServiceOptions::mutable_uninterpreted_option(int index) {
   5994   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.uninterpreted_option)
   5995   return uninterpreted_option_.Mutable(index);
   5996 }
   5997 inline ::google::protobuf::UninterpretedOption* ServiceOptions::add_uninterpreted_option() {
   5998   // @@protoc_insertion_point(field_add:google.protobuf.ServiceOptions.uninterpreted_option)
   5999   return uninterpreted_option_.Add();
   6000 }
   6001 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   6002 ServiceOptions::uninterpreted_option() const {
   6003   // @@protoc_insertion_point(field_list:google.protobuf.ServiceOptions.uninterpreted_option)
   6004   return uninterpreted_option_;
   6005 }
   6006 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   6007 ServiceOptions::mutable_uninterpreted_option() {
   6008   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceOptions.uninterpreted_option)
   6009   return &uninterpreted_option_;
   6010 }
   6011 
   6012 // -------------------------------------------------------------------
   6013 
   6014 // MethodOptions
   6015 
   6016 // optional bool deprecated = 33 [default = false];
   6017 inline bool MethodOptions::has_deprecated() const {
   6018   return (_has_bits_[0] & 0x00000001u) != 0;
   6019 }
   6020 inline void MethodOptions::set_has_deprecated() {
   6021   _has_bits_[0] |= 0x00000001u;
   6022 }
   6023 inline void MethodOptions::clear_has_deprecated() {
   6024   _has_bits_[0] &= ~0x00000001u;
   6025 }
   6026 inline void MethodOptions::clear_deprecated() {
   6027   deprecated_ = false;
   6028   clear_has_deprecated();
   6029 }
   6030 inline bool MethodOptions::deprecated() const {
   6031   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.deprecated)
   6032   return deprecated_;
   6033 }
   6034 inline void MethodOptions::set_deprecated(bool value) {
   6035   set_has_deprecated();
   6036   deprecated_ = value;
   6037   // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.deprecated)
   6038 }
   6039 
   6040 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6041 inline int MethodOptions::uninterpreted_option_size() const {
   6042   return uninterpreted_option_.size();
   6043 }
   6044 inline void MethodOptions::clear_uninterpreted_option() {
   6045   uninterpreted_option_.Clear();
   6046 }
   6047 inline const ::google::protobuf::UninterpretedOption& MethodOptions::uninterpreted_option(int index) const {
   6048   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.uninterpreted_option)
   6049   return uninterpreted_option_.Get(index);
   6050 }
   6051 inline ::google::protobuf::UninterpretedOption* MethodOptions::mutable_uninterpreted_option(int index) {
   6052   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.uninterpreted_option)
   6053   return uninterpreted_option_.Mutable(index);
   6054 }
   6055 inline ::google::protobuf::UninterpretedOption* MethodOptions::add_uninterpreted_option() {
   6056   // @@protoc_insertion_point(field_add:google.protobuf.MethodOptions.uninterpreted_option)
   6057   return uninterpreted_option_.Add();
   6058 }
   6059 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   6060 MethodOptions::uninterpreted_option() const {
   6061   // @@protoc_insertion_point(field_list:google.protobuf.MethodOptions.uninterpreted_option)
   6062   return uninterpreted_option_;
   6063 }
   6064 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   6065 MethodOptions::mutable_uninterpreted_option() {
   6066   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MethodOptions.uninterpreted_option)
   6067   return &uninterpreted_option_;
   6068 }
   6069 
   6070 // -------------------------------------------------------------------
   6071 
   6072 // UninterpretedOption_NamePart
   6073 
   6074 // required string name_part = 1;
   6075 inline bool UninterpretedOption_NamePart::has_name_part() const {
   6076   return (_has_bits_[0] & 0x00000001u) != 0;
   6077 }
   6078 inline void UninterpretedOption_NamePart::set_has_name_part() {
   6079   _has_bits_[0] |= 0x00000001u;
   6080 }
   6081 inline void UninterpretedOption_NamePart::clear_has_name_part() {
   6082   _has_bits_[0] &= ~0x00000001u;
   6083 }
   6084 inline void UninterpretedOption_NamePart::clear_name_part() {
   6085   if (name_part_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6086     name_part_->clear();
   6087   }
   6088   clear_has_name_part();
   6089 }
   6090 inline const ::std::string& UninterpretedOption_NamePart::name_part() const {
   6091   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.name_part)
   6092   return *name_part_;
   6093 }
   6094 inline void UninterpretedOption_NamePart::set_name_part(const ::std::string& value) {
   6095   set_has_name_part();
   6096   if (name_part_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6097     name_part_ = new ::std::string;
   6098   }
   6099   name_part_->assign(value);
   6100   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.name_part)
   6101 }
   6102 inline void UninterpretedOption_NamePart::set_name_part(const char* value) {
   6103   set_has_name_part();
   6104   if (name_part_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6105     name_part_ = new ::std::string;
   6106   }
   6107   name_part_->assign(value);
   6108   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.NamePart.name_part)
   6109 }
   6110 inline void UninterpretedOption_NamePart::set_name_part(const char* value, size_t size) {
   6111   set_has_name_part();
   6112   if (name_part_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6113     name_part_ = new ::std::string;
   6114   }
   6115   name_part_->assign(reinterpret_cast<const char*>(value), size);
   6116   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.NamePart.name_part)
   6117 }
   6118 inline ::std::string* UninterpretedOption_NamePart::mutable_name_part() {
   6119   set_has_name_part();
   6120   if (name_part_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6121     name_part_ = new ::std::string;
   6122   }
   6123   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.NamePart.name_part)
   6124   return name_part_;
   6125 }
   6126 inline ::std::string* UninterpretedOption_NamePart::release_name_part() {
   6127   clear_has_name_part();
   6128   if (name_part_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6129     return NULL;
   6130   } else {
   6131     ::std::string* temp = name_part_;
   6132     name_part_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6133     return temp;
   6134   }
   6135 }
   6136 inline void UninterpretedOption_NamePart::set_allocated_name_part(::std::string* name_part) {
   6137   if (name_part_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6138     delete name_part_;
   6139   }
   6140   if (name_part) {
   6141     set_has_name_part();
   6142     name_part_ = name_part;
   6143   } else {
   6144     clear_has_name_part();
   6145     name_part_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6146   }
   6147   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.NamePart.name_part)
   6148 }
   6149 
   6150 // required bool is_extension = 2;
   6151 inline bool UninterpretedOption_NamePart::has_is_extension() const {
   6152   return (_has_bits_[0] & 0x00000002u) != 0;
   6153 }
   6154 inline void UninterpretedOption_NamePart::set_has_is_extension() {
   6155   _has_bits_[0] |= 0x00000002u;
   6156 }
   6157 inline void UninterpretedOption_NamePart::clear_has_is_extension() {
   6158   _has_bits_[0] &= ~0x00000002u;
   6159 }
   6160 inline void UninterpretedOption_NamePart::clear_is_extension() {
   6161   is_extension_ = false;
   6162   clear_has_is_extension();
   6163 }
   6164 inline bool UninterpretedOption_NamePart::is_extension() const {
   6165   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.is_extension)
   6166   return is_extension_;
   6167 }
   6168 inline void UninterpretedOption_NamePart::set_is_extension(bool value) {
   6169   set_has_is_extension();
   6170   is_extension_ = value;
   6171   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.is_extension)
   6172 }
   6173 
   6174 // -------------------------------------------------------------------
   6175 
   6176 // UninterpretedOption
   6177 
   6178 // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   6179 inline int UninterpretedOption::name_size() const {
   6180   return name_.size();
   6181 }
   6182 inline void UninterpretedOption::clear_name() {
   6183   name_.Clear();
   6184 }
   6185 inline const ::google::protobuf::UninterpretedOption_NamePart& UninterpretedOption::name(int index) const {
   6186   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.name)
   6187   return name_.Get(index);
   6188 }
   6189 inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::mutable_name(int index) {
   6190   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.name)
   6191   return name_.Mutable(index);
   6192 }
   6193 inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::add_name() {
   6194   // @@protoc_insertion_point(field_add:google.protobuf.UninterpretedOption.name)
   6195   return name_.Add();
   6196 }
   6197 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >&
   6198 UninterpretedOption::name() const {
   6199   // @@protoc_insertion_point(field_list:google.protobuf.UninterpretedOption.name)
   6200   return name_;
   6201 }
   6202 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >*
   6203 UninterpretedOption::mutable_name() {
   6204   // @@protoc_insertion_point(field_mutable_list:google.protobuf.UninterpretedOption.name)
   6205   return &name_;
   6206 }
   6207 
   6208 // optional string identifier_value = 3;
   6209 inline bool UninterpretedOption::has_identifier_value() const {
   6210   return (_has_bits_[0] & 0x00000002u) != 0;
   6211 }
   6212 inline void UninterpretedOption::set_has_identifier_value() {
   6213   _has_bits_[0] |= 0x00000002u;
   6214 }
   6215 inline void UninterpretedOption::clear_has_identifier_value() {
   6216   _has_bits_[0] &= ~0x00000002u;
   6217 }
   6218 inline void UninterpretedOption::clear_identifier_value() {
   6219   if (identifier_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6220     identifier_value_->clear();
   6221   }
   6222   clear_has_identifier_value();
   6223 }
   6224 inline const ::std::string& UninterpretedOption::identifier_value() const {
   6225   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.identifier_value)
   6226   return *identifier_value_;
   6227 }
   6228 inline void UninterpretedOption::set_identifier_value(const ::std::string& value) {
   6229   set_has_identifier_value();
   6230   if (identifier_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6231     identifier_value_ = new ::std::string;
   6232   }
   6233   identifier_value_->assign(value);
   6234   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.identifier_value)
   6235 }
   6236 inline void UninterpretedOption::set_identifier_value(const char* value) {
   6237   set_has_identifier_value();
   6238   if (identifier_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6239     identifier_value_ = new ::std::string;
   6240   }
   6241   identifier_value_->assign(value);
   6242   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.identifier_value)
   6243 }
   6244 inline void UninterpretedOption::set_identifier_value(const char* value, size_t size) {
   6245   set_has_identifier_value();
   6246   if (identifier_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6247     identifier_value_ = new ::std::string;
   6248   }
   6249   identifier_value_->assign(reinterpret_cast<const char*>(value), size);
   6250   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.identifier_value)
   6251 }
   6252 inline ::std::string* UninterpretedOption::mutable_identifier_value() {
   6253   set_has_identifier_value();
   6254   if (identifier_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6255     identifier_value_ = new ::std::string;
   6256   }
   6257   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.identifier_value)
   6258   return identifier_value_;
   6259 }
   6260 inline ::std::string* UninterpretedOption::release_identifier_value() {
   6261   clear_has_identifier_value();
   6262   if (identifier_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6263     return NULL;
   6264   } else {
   6265     ::std::string* temp = identifier_value_;
   6266     identifier_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6267     return temp;
   6268   }
   6269 }
   6270 inline void UninterpretedOption::set_allocated_identifier_value(::std::string* identifier_value) {
   6271   if (identifier_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6272     delete identifier_value_;
   6273   }
   6274   if (identifier_value) {
   6275     set_has_identifier_value();
   6276     identifier_value_ = identifier_value;
   6277   } else {
   6278     clear_has_identifier_value();
   6279     identifier_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6280   }
   6281   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.identifier_value)
   6282 }
   6283 
   6284 // optional uint64 positive_int_value = 4;
   6285 inline bool UninterpretedOption::has_positive_int_value() const {
   6286   return (_has_bits_[0] & 0x00000004u) != 0;
   6287 }
   6288 inline void UninterpretedOption::set_has_positive_int_value() {
   6289   _has_bits_[0] |= 0x00000004u;
   6290 }
   6291 inline void UninterpretedOption::clear_has_positive_int_value() {
   6292   _has_bits_[0] &= ~0x00000004u;
   6293 }
   6294 inline void UninterpretedOption::clear_positive_int_value() {
   6295   positive_int_value_ = GOOGLE_ULONGLONG(0);
   6296   clear_has_positive_int_value();
   6297 }
   6298 inline ::google::protobuf::uint64 UninterpretedOption::positive_int_value() const {
   6299   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.positive_int_value)
   6300   return positive_int_value_;
   6301 }
   6302 inline void UninterpretedOption::set_positive_int_value(::google::protobuf::uint64 value) {
   6303   set_has_positive_int_value();
   6304   positive_int_value_ = value;
   6305   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.positive_int_value)
   6306 }
   6307 
   6308 // optional int64 negative_int_value = 5;
   6309 inline bool UninterpretedOption::has_negative_int_value() const {
   6310   return (_has_bits_[0] & 0x00000008u) != 0;
   6311 }
   6312 inline void UninterpretedOption::set_has_negative_int_value() {
   6313   _has_bits_[0] |= 0x00000008u;
   6314 }
   6315 inline void UninterpretedOption::clear_has_negative_int_value() {
   6316   _has_bits_[0] &= ~0x00000008u;
   6317 }
   6318 inline void UninterpretedOption::clear_negative_int_value() {
   6319   negative_int_value_ = GOOGLE_LONGLONG(0);
   6320   clear_has_negative_int_value();
   6321 }
   6322 inline ::google::protobuf::int64 UninterpretedOption::negative_int_value() const {
   6323   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.negative_int_value)
   6324   return negative_int_value_;
   6325 }
   6326 inline void UninterpretedOption::set_negative_int_value(::google::protobuf::int64 value) {
   6327   set_has_negative_int_value();
   6328   negative_int_value_ = value;
   6329   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.negative_int_value)
   6330 }
   6331 
   6332 // optional double double_value = 6;
   6333 inline bool UninterpretedOption::has_double_value() const {
   6334   return (_has_bits_[0] & 0x00000010u) != 0;
   6335 }
   6336 inline void UninterpretedOption::set_has_double_value() {
   6337   _has_bits_[0] |= 0x00000010u;
   6338 }
   6339 inline void UninterpretedOption::clear_has_double_value() {
   6340   _has_bits_[0] &= ~0x00000010u;
   6341 }
   6342 inline void UninterpretedOption::clear_double_value() {
   6343   double_value_ = 0;
   6344   clear_has_double_value();
   6345 }
   6346 inline double UninterpretedOption::double_value() const {
   6347   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.double_value)
   6348   return double_value_;
   6349 }
   6350 inline void UninterpretedOption::set_double_value(double value) {
   6351   set_has_double_value();
   6352   double_value_ = value;
   6353   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.double_value)
   6354 }
   6355 
   6356 // optional bytes string_value = 7;
   6357 inline bool UninterpretedOption::has_string_value() const {
   6358   return (_has_bits_[0] & 0x00000020u) != 0;
   6359 }
   6360 inline void UninterpretedOption::set_has_string_value() {
   6361   _has_bits_[0] |= 0x00000020u;
   6362 }
   6363 inline void UninterpretedOption::clear_has_string_value() {
   6364   _has_bits_[0] &= ~0x00000020u;
   6365 }
   6366 inline void UninterpretedOption::clear_string_value() {
   6367   if (string_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6368     string_value_->clear();
   6369   }
   6370   clear_has_string_value();
   6371 }
   6372 inline const ::std::string& UninterpretedOption::string_value() const {
   6373   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.string_value)
   6374   return *string_value_;
   6375 }
   6376 inline void UninterpretedOption::set_string_value(const ::std::string& value) {
   6377   set_has_string_value();
   6378   if (string_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6379     string_value_ = new ::std::string;
   6380   }
   6381   string_value_->assign(value);
   6382   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.string_value)
   6383 }
   6384 inline void UninterpretedOption::set_string_value(const char* value) {
   6385   set_has_string_value();
   6386   if (string_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6387     string_value_ = new ::std::string;
   6388   }
   6389   string_value_->assign(value);
   6390   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.string_value)
   6391 }
   6392 inline void UninterpretedOption::set_string_value(const void* value, size_t size) {
   6393   set_has_string_value();
   6394   if (string_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6395     string_value_ = new ::std::string;
   6396   }
   6397   string_value_->assign(reinterpret_cast<const char*>(value), size);
   6398   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.string_value)
   6399 }
   6400 inline ::std::string* UninterpretedOption::mutable_string_value() {
   6401   set_has_string_value();
   6402   if (string_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6403     string_value_ = new ::std::string;
   6404   }
   6405   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.string_value)
   6406   return string_value_;
   6407 }
   6408 inline ::std::string* UninterpretedOption::release_string_value() {
   6409   clear_has_string_value();
   6410   if (string_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6411     return NULL;
   6412   } else {
   6413     ::std::string* temp = string_value_;
   6414     string_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6415     return temp;
   6416   }
   6417 }
   6418 inline void UninterpretedOption::set_allocated_string_value(::std::string* string_value) {
   6419   if (string_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6420     delete string_value_;
   6421   }
   6422   if (string_value) {
   6423     set_has_string_value();
   6424     string_value_ = string_value;
   6425   } else {
   6426     clear_has_string_value();
   6427     string_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6428   }
   6429   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.string_value)
   6430 }
   6431 
   6432 // optional string aggregate_value = 8;
   6433 inline bool UninterpretedOption::has_aggregate_value() const {
   6434   return (_has_bits_[0] & 0x00000040u) != 0;
   6435 }
   6436 inline void UninterpretedOption::set_has_aggregate_value() {
   6437   _has_bits_[0] |= 0x00000040u;
   6438 }
   6439 inline void UninterpretedOption::clear_has_aggregate_value() {
   6440   _has_bits_[0] &= ~0x00000040u;
   6441 }
   6442 inline void UninterpretedOption::clear_aggregate_value() {
   6443   if (aggregate_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6444     aggregate_value_->clear();
   6445   }
   6446   clear_has_aggregate_value();
   6447 }
   6448 inline const ::std::string& UninterpretedOption::aggregate_value() const {
   6449   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.aggregate_value)
   6450   return *aggregate_value_;
   6451 }
   6452 inline void UninterpretedOption::set_aggregate_value(const ::std::string& value) {
   6453   set_has_aggregate_value();
   6454   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6455     aggregate_value_ = new ::std::string;
   6456   }
   6457   aggregate_value_->assign(value);
   6458   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.aggregate_value)
   6459 }
   6460 inline void UninterpretedOption::set_aggregate_value(const char* value) {
   6461   set_has_aggregate_value();
   6462   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6463     aggregate_value_ = new ::std::string;
   6464   }
   6465   aggregate_value_->assign(value);
   6466   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.aggregate_value)
   6467 }
   6468 inline void UninterpretedOption::set_aggregate_value(const char* value, size_t size) {
   6469   set_has_aggregate_value();
   6470   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6471     aggregate_value_ = new ::std::string;
   6472   }
   6473   aggregate_value_->assign(reinterpret_cast<const char*>(value), size);
   6474   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.aggregate_value)
   6475 }
   6476 inline ::std::string* UninterpretedOption::mutable_aggregate_value() {
   6477   set_has_aggregate_value();
   6478   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6479     aggregate_value_ = new ::std::string;
   6480   }
   6481   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.aggregate_value)
   6482   return aggregate_value_;
   6483 }
   6484 inline ::std::string* UninterpretedOption::release_aggregate_value() {
   6485   clear_has_aggregate_value();
   6486   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6487     return NULL;
   6488   } else {
   6489     ::std::string* temp = aggregate_value_;
   6490     aggregate_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6491     return temp;
   6492   }
   6493 }
   6494 inline void UninterpretedOption::set_allocated_aggregate_value(::std::string* aggregate_value) {
   6495   if (aggregate_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6496     delete aggregate_value_;
   6497   }
   6498   if (aggregate_value) {
   6499     set_has_aggregate_value();
   6500     aggregate_value_ = aggregate_value;
   6501   } else {
   6502     clear_has_aggregate_value();
   6503     aggregate_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6504   }
   6505   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.aggregate_value)
   6506 }
   6507 
   6508 // -------------------------------------------------------------------
   6509 
   6510 // SourceCodeInfo_Location
   6511 
   6512 // repeated int32 path = 1 [packed = true];
   6513 inline int SourceCodeInfo_Location::path_size() const {
   6514   return path_.size();
   6515 }
   6516 inline void SourceCodeInfo_Location::clear_path() {
   6517   path_.Clear();
   6518 }
   6519 inline ::google::protobuf::int32 SourceCodeInfo_Location::path(int index) const {
   6520   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.path)
   6521   return path_.Get(index);
   6522 }
   6523 inline void SourceCodeInfo_Location::set_path(int index, ::google::protobuf::int32 value) {
   6524   path_.Set(index, value);
   6525   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.path)
   6526 }
   6527 inline void SourceCodeInfo_Location::add_path(::google::protobuf::int32 value) {
   6528   path_.Add(value);
   6529   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.path)
   6530 }
   6531 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   6532 SourceCodeInfo_Location::path() const {
   6533   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.path)
   6534   return path_;
   6535 }
   6536 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   6537 SourceCodeInfo_Location::mutable_path() {
   6538   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.path)
   6539   return &path_;
   6540 }
   6541 
   6542 // repeated int32 span = 2 [packed = true];
   6543 inline int SourceCodeInfo_Location::span_size() const {
   6544   return span_.size();
   6545 }
   6546 inline void SourceCodeInfo_Location::clear_span() {
   6547   span_.Clear();
   6548 }
   6549 inline ::google::protobuf::int32 SourceCodeInfo_Location::span(int index) const {
   6550   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.span)
   6551   return span_.Get(index);
   6552 }
   6553 inline void SourceCodeInfo_Location::set_span(int index, ::google::protobuf::int32 value) {
   6554   span_.Set(index, value);
   6555   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.span)
   6556 }
   6557 inline void SourceCodeInfo_Location::add_span(::google::protobuf::int32 value) {
   6558   span_.Add(value);
   6559   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.span)
   6560 }
   6561 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   6562 SourceCodeInfo_Location::span() const {
   6563   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.span)
   6564   return span_;
   6565 }
   6566 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   6567 SourceCodeInfo_Location::mutable_span() {
   6568   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.span)
   6569   return &span_;
   6570 }
   6571 
   6572 // optional string leading_comments = 3;
   6573 inline bool SourceCodeInfo_Location::has_leading_comments() const {
   6574   return (_has_bits_[0] & 0x00000004u) != 0;
   6575 }
   6576 inline void SourceCodeInfo_Location::set_has_leading_comments() {
   6577   _has_bits_[0] |= 0x00000004u;
   6578 }
   6579 inline void SourceCodeInfo_Location::clear_has_leading_comments() {
   6580   _has_bits_[0] &= ~0x00000004u;
   6581 }
   6582 inline void SourceCodeInfo_Location::clear_leading_comments() {
   6583   if (leading_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6584     leading_comments_->clear();
   6585   }
   6586   clear_has_leading_comments();
   6587 }
   6588 inline const ::std::string& SourceCodeInfo_Location::leading_comments() const {
   6589   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_comments)
   6590   return *leading_comments_;
   6591 }
   6592 inline void SourceCodeInfo_Location::set_leading_comments(const ::std::string& value) {
   6593   set_has_leading_comments();
   6594   if (leading_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6595     leading_comments_ = new ::std::string;
   6596   }
   6597   leading_comments_->assign(value);
   6598   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_comments)
   6599 }
   6600 inline void SourceCodeInfo_Location::set_leading_comments(const char* value) {
   6601   set_has_leading_comments();
   6602   if (leading_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6603     leading_comments_ = new ::std::string;
   6604   }
   6605   leading_comments_->assign(value);
   6606   // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.leading_comments)
   6607 }
   6608 inline void SourceCodeInfo_Location::set_leading_comments(const char* value, size_t size) {
   6609   set_has_leading_comments();
   6610   if (leading_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6611     leading_comments_ = new ::std::string;
   6612   }
   6613   leading_comments_->assign(reinterpret_cast<const char*>(value), size);
   6614   // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.leading_comments)
   6615 }
   6616 inline ::std::string* SourceCodeInfo_Location::mutable_leading_comments() {
   6617   set_has_leading_comments();
   6618   if (leading_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6619     leading_comments_ = new ::std::string;
   6620   }
   6621   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_comments)
   6622   return leading_comments_;
   6623 }
   6624 inline ::std::string* SourceCodeInfo_Location::release_leading_comments() {
   6625   clear_has_leading_comments();
   6626   if (leading_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6627     return NULL;
   6628   } else {
   6629     ::std::string* temp = leading_comments_;
   6630     leading_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6631     return temp;
   6632   }
   6633 }
   6634 inline void SourceCodeInfo_Location::set_allocated_leading_comments(::std::string* leading_comments) {
   6635   if (leading_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6636     delete leading_comments_;
   6637   }
   6638   if (leading_comments) {
   6639     set_has_leading_comments();
   6640     leading_comments_ = leading_comments;
   6641   } else {
   6642     clear_has_leading_comments();
   6643     leading_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6644   }
   6645   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.leading_comments)
   6646 }
   6647 
   6648 // optional string trailing_comments = 4;
   6649 inline bool SourceCodeInfo_Location::has_trailing_comments() const {
   6650   return (_has_bits_[0] & 0x00000008u) != 0;
   6651 }
   6652 inline void SourceCodeInfo_Location::set_has_trailing_comments() {
   6653   _has_bits_[0] |= 0x00000008u;
   6654 }
   6655 inline void SourceCodeInfo_Location::clear_has_trailing_comments() {
   6656   _has_bits_[0] &= ~0x00000008u;
   6657 }
   6658 inline void SourceCodeInfo_Location::clear_trailing_comments() {
   6659   if (trailing_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6660     trailing_comments_->clear();
   6661   }
   6662   clear_has_trailing_comments();
   6663 }
   6664 inline const ::std::string& SourceCodeInfo_Location::trailing_comments() const {
   6665   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   6666   return *trailing_comments_;
   6667 }
   6668 inline void SourceCodeInfo_Location::set_trailing_comments(const ::std::string& value) {
   6669   set_has_trailing_comments();
   6670   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6671     trailing_comments_ = new ::std::string;
   6672   }
   6673   trailing_comments_->assign(value);
   6674   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   6675 }
   6676 inline void SourceCodeInfo_Location::set_trailing_comments(const char* value) {
   6677   set_has_trailing_comments();
   6678   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6679     trailing_comments_ = new ::std::string;
   6680   }
   6681   trailing_comments_->assign(value);
   6682   // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   6683 }
   6684 inline void SourceCodeInfo_Location::set_trailing_comments(const char* value, size_t size) {
   6685   set_has_trailing_comments();
   6686   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6687     trailing_comments_ = new ::std::string;
   6688   }
   6689   trailing_comments_->assign(reinterpret_cast<const char*>(value), size);
   6690   // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   6691 }
   6692 inline ::std::string* SourceCodeInfo_Location::mutable_trailing_comments() {
   6693   set_has_trailing_comments();
   6694   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6695     trailing_comments_ = new ::std::string;
   6696   }
   6697   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   6698   return trailing_comments_;
   6699 }
   6700 inline ::std::string* SourceCodeInfo_Location::release_trailing_comments() {
   6701   clear_has_trailing_comments();
   6702   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6703     return NULL;
   6704   } else {
   6705     ::std::string* temp = trailing_comments_;
   6706     trailing_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6707     return temp;
   6708   }
   6709 }
   6710 inline void SourceCodeInfo_Location::set_allocated_trailing_comments(::std::string* trailing_comments) {
   6711   if (trailing_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6712     delete trailing_comments_;
   6713   }
   6714   if (trailing_comments) {
   6715     set_has_trailing_comments();
   6716     trailing_comments_ = trailing_comments;
   6717   } else {
   6718     clear_has_trailing_comments();
   6719     trailing_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6720   }
   6721   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   6722 }
   6723 
   6724 // -------------------------------------------------------------------
   6725 
   6726 // SourceCodeInfo
   6727 
   6728 // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   6729 inline int SourceCodeInfo::location_size() const {
   6730   return location_.size();
   6731 }
   6732 inline void SourceCodeInfo::clear_location() {
   6733   location_.Clear();
   6734 }
   6735 inline const ::google::protobuf::SourceCodeInfo_Location& SourceCodeInfo::location(int index) const {
   6736   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.location)
   6737   return location_.Get(index);
   6738 }
   6739 inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::mutable_location(int index) {
   6740   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.location)
   6741   return location_.Mutable(index);
   6742 }
   6743 inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::add_location() {
   6744   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.location)
   6745   return location_.Add();
   6746 }
   6747 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >&
   6748 SourceCodeInfo::location() const {
   6749   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.location)
   6750   return location_;
   6751 }
   6752 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >*
   6753 SourceCodeInfo::mutable_location() {
   6754   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.location)
   6755   return &location_;
   6756 }
   6757 
   6758 
   6759 // @@protoc_insertion_point(namespace_scope)
   6760 
   6761 }  // namespace protobuf
   6762 }  // namespace google
   6763 
   6764 #ifndef SWIG
   6765 namespace google {
   6766 namespace protobuf {
   6767 
   6768 template <> struct is_proto_enum< ::google::protobuf::FieldDescriptorProto_Type> : ::google::protobuf::internal::true_type {};
   6769 template <>
   6770 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldDescriptorProto_Type>() {
   6771   return ::google::protobuf::FieldDescriptorProto_Type_descriptor();
   6772 }
   6773 template <> struct is_proto_enum< ::google::protobuf::FieldDescriptorProto_Label> : ::google::protobuf::internal::true_type {};
   6774 template <>
   6775 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldDescriptorProto_Label>() {
   6776   return ::google::protobuf::FieldDescriptorProto_Label_descriptor();
   6777 }
   6778 template <> struct is_proto_enum< ::google::protobuf::FileOptions_OptimizeMode> : ::google::protobuf::internal::true_type {};
   6779 template <>
   6780 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FileOptions_OptimizeMode>() {
   6781   return ::google::protobuf::FileOptions_OptimizeMode_descriptor();
   6782 }
   6783 template <> struct is_proto_enum< ::google::protobuf::FieldOptions_CType> : ::google::protobuf::internal::true_type {};
   6784 template <>
   6785 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldOptions_CType>() {
   6786   return ::google::protobuf::FieldOptions_CType_descriptor();
   6787 }
   6788 
   6789 }  // namespace google
   6790 }  // namespace protobuf
   6791 #endif  // SWIG
   6792 
   6793 // @@protoc_insertion_point(global_scope)
   6794 
   6795 #endif  // PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED
   6796