1// Generated by the protocol buffer compiler.  DO NOT EDIT!
2// source: google/protobuf/descriptor.proto
3
4#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
5#include "google/protobuf/descriptor.pb.h"
6
7#include <algorithm>
8
9#include <google/protobuf/stubs/common.h>
10#include <google/protobuf/stubs/once.h>
11#include <google/protobuf/io/coded_stream.h>
12#include <google/protobuf/wire_format_lite_inl.h>
13#include <google/protobuf/descriptor.h>
14#include <google/protobuf/generated_message_reflection.h>
15#include <google/protobuf/reflection_ops.h>
16#include <google/protobuf/wire_format.h>
17// @@protoc_insertion_point(includes)
18
19namespace google {
20namespace protobuf {
21
22namespace {
23
24const ::google::protobuf::Descriptor* FileDescriptorSet_descriptor_ = NULL;
25const ::google::protobuf::internal::GeneratedMessageReflection*
26  FileDescriptorSet_reflection_ = NULL;
27const ::google::protobuf::Descriptor* FileDescriptorProto_descriptor_ = NULL;
28const ::google::protobuf::internal::GeneratedMessageReflection*
29  FileDescriptorProto_reflection_ = NULL;
30const ::google::protobuf::Descriptor* DescriptorProto_descriptor_ = NULL;
31const ::google::protobuf::internal::GeneratedMessageReflection*
32  DescriptorProto_reflection_ = NULL;
33const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange_descriptor_ = NULL;
34const ::google::protobuf::internal::GeneratedMessageReflection*
35  DescriptorProto_ExtensionRange_reflection_ = NULL;
36const ::google::protobuf::Descriptor* FieldDescriptorProto_descriptor_ = NULL;
37const ::google::protobuf::internal::GeneratedMessageReflection*
38  FieldDescriptorProto_reflection_ = NULL;
39const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor_ = NULL;
40const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor_ = NULL;
41const ::google::protobuf::Descriptor* EnumDescriptorProto_descriptor_ = NULL;
42const ::google::protobuf::internal::GeneratedMessageReflection*
43  EnumDescriptorProto_reflection_ = NULL;
44const ::google::protobuf::Descriptor* EnumValueDescriptorProto_descriptor_ = NULL;
45const ::google::protobuf::internal::GeneratedMessageReflection*
46  EnumValueDescriptorProto_reflection_ = NULL;
47const ::google::protobuf::Descriptor* ServiceDescriptorProto_descriptor_ = NULL;
48const ::google::protobuf::internal::GeneratedMessageReflection*
49  ServiceDescriptorProto_reflection_ = NULL;
50const ::google::protobuf::Descriptor* MethodDescriptorProto_descriptor_ = NULL;
51const ::google::protobuf::internal::GeneratedMessageReflection*
52  MethodDescriptorProto_reflection_ = NULL;
53const ::google::protobuf::Descriptor* FileOptions_descriptor_ = NULL;
54const ::google::protobuf::internal::GeneratedMessageReflection*
55  FileOptions_reflection_ = NULL;
56const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor_ = NULL;
57const ::google::protobuf::Descriptor* MessageOptions_descriptor_ = NULL;
58const ::google::protobuf::internal::GeneratedMessageReflection*
59  MessageOptions_reflection_ = NULL;
60const ::google::protobuf::Descriptor* FieldOptions_descriptor_ = NULL;
61const ::google::protobuf::internal::GeneratedMessageReflection*
62  FieldOptions_reflection_ = NULL;
63const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor_ = NULL;
64const ::google::protobuf::Descriptor* EnumOptions_descriptor_ = NULL;
65const ::google::protobuf::internal::GeneratedMessageReflection*
66  EnumOptions_reflection_ = NULL;
67const ::google::protobuf::Descriptor* EnumValueOptions_descriptor_ = NULL;
68const ::google::protobuf::internal::GeneratedMessageReflection*
69  EnumValueOptions_reflection_ = NULL;
70const ::google::protobuf::Descriptor* ServiceOptions_descriptor_ = NULL;
71const ::google::protobuf::internal::GeneratedMessageReflection*
72  ServiceOptions_reflection_ = NULL;
73const ::google::protobuf::Descriptor* MethodOptions_descriptor_ = NULL;
74const ::google::protobuf::internal::GeneratedMessageReflection*
75  MethodOptions_reflection_ = NULL;
76const ::google::protobuf::Descriptor* UninterpretedOption_descriptor_ = NULL;
77const ::google::protobuf::internal::GeneratedMessageReflection*
78  UninterpretedOption_reflection_ = NULL;
79const ::google::protobuf::Descriptor* UninterpretedOption_NamePart_descriptor_ = NULL;
80const ::google::protobuf::internal::GeneratedMessageReflection*
81  UninterpretedOption_NamePart_reflection_ = NULL;
82const ::google::protobuf::Descriptor* SourceCodeInfo_descriptor_ = NULL;
83const ::google::protobuf::internal::GeneratedMessageReflection*
84  SourceCodeInfo_reflection_ = NULL;
85const ::google::protobuf::Descriptor* SourceCodeInfo_Location_descriptor_ = NULL;
86const ::google::protobuf::internal::GeneratedMessageReflection*
87  SourceCodeInfo_Location_reflection_ = NULL;
88
89}  // namespace
90
91
92void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto() {
93  protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
94  const ::google::protobuf::FileDescriptor* file =
95    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
96      "google/protobuf/descriptor.proto");
97  GOOGLE_CHECK(file != NULL);
98  FileDescriptorSet_descriptor_ = file->message_type(0);
99  static const int FileDescriptorSet_offsets_[1] = {
100    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_),
101  };
102  FileDescriptorSet_reflection_ =
103    new ::google::protobuf::internal::GeneratedMessageReflection(
104      FileDescriptorSet_descriptor_,
105      FileDescriptorSet::default_instance_,
106      FileDescriptorSet_offsets_,
107      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]),
108      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _unknown_fields_),
109      -1,
110      ::google::protobuf::DescriptorPool::generated_pool(),
111      ::google::protobuf::MessageFactory::generated_factory(),
112      sizeof(FileDescriptorSet));
113  FileDescriptorProto_descriptor_ = file->message_type(1);
114  static const int FileDescriptorProto_offsets_[11] = {
115    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_),
116    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_),
117    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_),
118    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, public_dependency_),
119    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, weak_dependency_),
120    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_),
121    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_),
122    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_),
123    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_),
124    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_),
125    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, source_code_info_),
126  };
127  FileDescriptorProto_reflection_ =
128    new ::google::protobuf::internal::GeneratedMessageReflection(
129      FileDescriptorProto_descriptor_,
130      FileDescriptorProto::default_instance_,
131      FileDescriptorProto_offsets_,
132      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]),
133      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _unknown_fields_),
134      -1,
135      ::google::protobuf::DescriptorPool::generated_pool(),
136      ::google::protobuf::MessageFactory::generated_factory(),
137      sizeof(FileDescriptorProto));
138  DescriptorProto_descriptor_ = file->message_type(2);
139  static const int DescriptorProto_offsets_[7] = {
140    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_),
141    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_),
142    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_),
143    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_),
144    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_),
145    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_),
146    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_),
147  };
148  DescriptorProto_reflection_ =
149    new ::google::protobuf::internal::GeneratedMessageReflection(
150      DescriptorProto_descriptor_,
151      DescriptorProto::default_instance_,
152      DescriptorProto_offsets_,
153      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]),
154      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _unknown_fields_),
155      -1,
156      ::google::protobuf::DescriptorPool::generated_pool(),
157      ::google::protobuf::MessageFactory::generated_factory(),
158      sizeof(DescriptorProto));
159  DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0);
160  static const int DescriptorProto_ExtensionRange_offsets_[2] = {
161    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_),
162    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_),
163  };
164  DescriptorProto_ExtensionRange_reflection_ =
165    new ::google::protobuf::internal::GeneratedMessageReflection(
166      DescriptorProto_ExtensionRange_descriptor_,
167      DescriptorProto_ExtensionRange::default_instance_,
168      DescriptorProto_ExtensionRange_offsets_,
169      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]),
170      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _unknown_fields_),
171      -1,
172      ::google::protobuf::DescriptorPool::generated_pool(),
173      ::google::protobuf::MessageFactory::generated_factory(),
174      sizeof(DescriptorProto_ExtensionRange));
175  FieldDescriptorProto_descriptor_ = file->message_type(3);
176  static const int FieldDescriptorProto_offsets_[8] = {
177    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_),
178    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_),
179    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_),
180    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_),
181    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_),
182    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_),
183    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_),
184    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_),
185  };
186  FieldDescriptorProto_reflection_ =
187    new ::google::protobuf::internal::GeneratedMessageReflection(
188      FieldDescriptorProto_descriptor_,
189      FieldDescriptorProto::default_instance_,
190      FieldDescriptorProto_offsets_,
191      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]),
192      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _unknown_fields_),
193      -1,
194      ::google::protobuf::DescriptorPool::generated_pool(),
195      ::google::protobuf::MessageFactory::generated_factory(),
196      sizeof(FieldDescriptorProto));
197  FieldDescriptorProto_Type_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(0);
198  FieldDescriptorProto_Label_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(1);
199  EnumDescriptorProto_descriptor_ = file->message_type(4);
200  static const int EnumDescriptorProto_offsets_[3] = {
201    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_),
202    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_),
203    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_),
204  };
205  EnumDescriptorProto_reflection_ =
206    new ::google::protobuf::internal::GeneratedMessageReflection(
207      EnumDescriptorProto_descriptor_,
208      EnumDescriptorProto::default_instance_,
209      EnumDescriptorProto_offsets_,
210      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]),
211      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _unknown_fields_),
212      -1,
213      ::google::protobuf::DescriptorPool::generated_pool(),
214      ::google::protobuf::MessageFactory::generated_factory(),
215      sizeof(EnumDescriptorProto));
216  EnumValueDescriptorProto_descriptor_ = file->message_type(5);
217  static const int EnumValueDescriptorProto_offsets_[3] = {
218    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_),
219    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_),
220    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_),
221  };
222  EnumValueDescriptorProto_reflection_ =
223    new ::google::protobuf::internal::GeneratedMessageReflection(
224      EnumValueDescriptorProto_descriptor_,
225      EnumValueDescriptorProto::default_instance_,
226      EnumValueDescriptorProto_offsets_,
227      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]),
228      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _unknown_fields_),
229      -1,
230      ::google::protobuf::DescriptorPool::generated_pool(),
231      ::google::protobuf::MessageFactory::generated_factory(),
232      sizeof(EnumValueDescriptorProto));
233  ServiceDescriptorProto_descriptor_ = file->message_type(6);
234  static const int ServiceDescriptorProto_offsets_[3] = {
235    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_),
236    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_),
237    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_),
238  };
239  ServiceDescriptorProto_reflection_ =
240    new ::google::protobuf::internal::GeneratedMessageReflection(
241      ServiceDescriptorProto_descriptor_,
242      ServiceDescriptorProto::default_instance_,
243      ServiceDescriptorProto_offsets_,
244      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]),
245      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _unknown_fields_),
246      -1,
247      ::google::protobuf::DescriptorPool::generated_pool(),
248      ::google::protobuf::MessageFactory::generated_factory(),
249      sizeof(ServiceDescriptorProto));
250  MethodDescriptorProto_descriptor_ = file->message_type(7);
251  static const int MethodDescriptorProto_offsets_[4] = {
252    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_),
253    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_),
254    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_),
255    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_),
256  };
257  MethodDescriptorProto_reflection_ =
258    new ::google::protobuf::internal::GeneratedMessageReflection(
259      MethodDescriptorProto_descriptor_,
260      MethodDescriptorProto::default_instance_,
261      MethodDescriptorProto_offsets_,
262      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]),
263      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _unknown_fields_),
264      -1,
265      ::google::protobuf::DescriptorPool::generated_pool(),
266      ::google::protobuf::MessageFactory::generated_factory(),
267      sizeof(MethodDescriptorProto));
268  FileOptions_descriptor_ = file->message_type(8);
269  static const int FileOptions_offsets_[11] = {
270    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_),
271    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_),
272    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_),
273    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, retain_unknown_fields_),
274    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generate_equals_and_hash_),
275    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_),
276    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, go_package_),
277    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_generic_services_),
278    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generic_services_),
279    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, py_generic_services_),
280    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_),
281  };
282  FileOptions_reflection_ =
283    new ::google::protobuf::internal::GeneratedMessageReflection(
284      FileOptions_descriptor_,
285      FileOptions::default_instance_,
286      FileOptions_offsets_,
287      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]),
288      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _unknown_fields_),
289      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_),
290      ::google::protobuf::DescriptorPool::generated_pool(),
291      ::google::protobuf::MessageFactory::generated_factory(),
292      sizeof(FileOptions));
293  FileOptions_OptimizeMode_descriptor_ = FileOptions_descriptor_->enum_type(0);
294  MessageOptions_descriptor_ = file->message_type(9);
295  static const int MessageOptions_offsets_[3] = {
296    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_),
297    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, no_standard_descriptor_accessor_),
298    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_),
299  };
300  MessageOptions_reflection_ =
301    new ::google::protobuf::internal::GeneratedMessageReflection(
302      MessageOptions_descriptor_,
303      MessageOptions::default_instance_,
304      MessageOptions_offsets_,
305      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]),
306      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _unknown_fields_),
307      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_),
308      ::google::protobuf::DescriptorPool::generated_pool(),
309      ::google::protobuf::MessageFactory::generated_factory(),
310      sizeof(MessageOptions));
311  FieldOptions_descriptor_ = file->message_type(10);
312  static const int FieldOptions_offsets_[7] = {
313    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_),
314    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, packed_),
315    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, lazy_),
316    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, deprecated_),
317    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_),
318    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, weak_),
319    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_),
320  };
321  FieldOptions_reflection_ =
322    new ::google::protobuf::internal::GeneratedMessageReflection(
323      FieldOptions_descriptor_,
324      FieldOptions::default_instance_,
325      FieldOptions_offsets_,
326      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]),
327      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _unknown_fields_),
328      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_),
329      ::google::protobuf::DescriptorPool::generated_pool(),
330      ::google::protobuf::MessageFactory::generated_factory(),
331      sizeof(FieldOptions));
332  FieldOptions_CType_descriptor_ = FieldOptions_descriptor_->enum_type(0);
333  EnumOptions_descriptor_ = file->message_type(11);
334  static const int EnumOptions_offsets_[2] = {
335    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, allow_alias_),
336    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_),
337  };
338  EnumOptions_reflection_ =
339    new ::google::protobuf::internal::GeneratedMessageReflection(
340      EnumOptions_descriptor_,
341      EnumOptions::default_instance_,
342      EnumOptions_offsets_,
343      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]),
344      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _unknown_fields_),
345      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_),
346      ::google::protobuf::DescriptorPool::generated_pool(),
347      ::google::protobuf::MessageFactory::generated_factory(),
348      sizeof(EnumOptions));
349  EnumValueOptions_descriptor_ = file->message_type(12);
350  static const int EnumValueOptions_offsets_[1] = {
351    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_),
352  };
353  EnumValueOptions_reflection_ =
354    new ::google::protobuf::internal::GeneratedMessageReflection(
355      EnumValueOptions_descriptor_,
356      EnumValueOptions::default_instance_,
357      EnumValueOptions_offsets_,
358      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]),
359      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _unknown_fields_),
360      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_),
361      ::google::protobuf::DescriptorPool::generated_pool(),
362      ::google::protobuf::MessageFactory::generated_factory(),
363      sizeof(EnumValueOptions));
364  ServiceOptions_descriptor_ = file->message_type(13);
365  static const int ServiceOptions_offsets_[1] = {
366    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_),
367  };
368  ServiceOptions_reflection_ =
369    new ::google::protobuf::internal::GeneratedMessageReflection(
370      ServiceOptions_descriptor_,
371      ServiceOptions::default_instance_,
372      ServiceOptions_offsets_,
373      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]),
374      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _unknown_fields_),
375      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_),
376      ::google::protobuf::DescriptorPool::generated_pool(),
377      ::google::protobuf::MessageFactory::generated_factory(),
378      sizeof(ServiceOptions));
379  MethodOptions_descriptor_ = file->message_type(14);
380  static const int MethodOptions_offsets_[1] = {
381    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_),
382  };
383  MethodOptions_reflection_ =
384    new ::google::protobuf::internal::GeneratedMessageReflection(
385      MethodOptions_descriptor_,
386      MethodOptions::default_instance_,
387      MethodOptions_offsets_,
388      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]),
389      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _unknown_fields_),
390      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_),
391      ::google::protobuf::DescriptorPool::generated_pool(),
392      ::google::protobuf::MessageFactory::generated_factory(),
393      sizeof(MethodOptions));
394  UninterpretedOption_descriptor_ = file->message_type(15);
395  static const int UninterpretedOption_offsets_[7] = {
396    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_),
397    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_),
398    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_),
399    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_),
400    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_),
401    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_),
402    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, aggregate_value_),
403  };
404  UninterpretedOption_reflection_ =
405    new ::google::protobuf::internal::GeneratedMessageReflection(
406      UninterpretedOption_descriptor_,
407      UninterpretedOption::default_instance_,
408      UninterpretedOption_offsets_,
409      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]),
410      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _unknown_fields_),
411      -1,
412      ::google::protobuf::DescriptorPool::generated_pool(),
413      ::google::protobuf::MessageFactory::generated_factory(),
414      sizeof(UninterpretedOption));
415  UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0);
416  static const int UninterpretedOption_NamePart_offsets_[2] = {
417    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_),
418    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_),
419  };
420  UninterpretedOption_NamePart_reflection_ =
421    new ::google::protobuf::internal::GeneratedMessageReflection(
422      UninterpretedOption_NamePart_descriptor_,
423      UninterpretedOption_NamePart::default_instance_,
424      UninterpretedOption_NamePart_offsets_,
425      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]),
426      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _unknown_fields_),
427      -1,
428      ::google::protobuf::DescriptorPool::generated_pool(),
429      ::google::protobuf::MessageFactory::generated_factory(),
430      sizeof(UninterpretedOption_NamePart));
431  SourceCodeInfo_descriptor_ = file->message_type(16);
432  static const int SourceCodeInfo_offsets_[1] = {
433    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, location_),
434  };
435  SourceCodeInfo_reflection_ =
436    new ::google::protobuf::internal::GeneratedMessageReflection(
437      SourceCodeInfo_descriptor_,
438      SourceCodeInfo::default_instance_,
439      SourceCodeInfo_offsets_,
440      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _has_bits_[0]),
441      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _unknown_fields_),
442      -1,
443      ::google::protobuf::DescriptorPool::generated_pool(),
444      ::google::protobuf::MessageFactory::generated_factory(),
445      sizeof(SourceCodeInfo));
446  SourceCodeInfo_Location_descriptor_ = SourceCodeInfo_descriptor_->nested_type(0);
447  static const int SourceCodeInfo_Location_offsets_[4] = {
448    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, path_),
449    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, span_),
450    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, leading_comments_),
451    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, trailing_comments_),
452  };
453  SourceCodeInfo_Location_reflection_ =
454    new ::google::protobuf::internal::GeneratedMessageReflection(
455      SourceCodeInfo_Location_descriptor_,
456      SourceCodeInfo_Location::default_instance_,
457      SourceCodeInfo_Location_offsets_,
458      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _has_bits_[0]),
459      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _unknown_fields_),
460      -1,
461      ::google::protobuf::DescriptorPool::generated_pool(),
462      ::google::protobuf::MessageFactory::generated_factory(),
463      sizeof(SourceCodeInfo_Location));
464}
465
466namespace {
467
468GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
469inline void protobuf_AssignDescriptorsOnce() {
470  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
471                 &protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto);
472}
473
474void protobuf_RegisterTypes(const ::std::string&) {
475  protobuf_AssignDescriptorsOnce();
476  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
477    FileDescriptorSet_descriptor_, &FileDescriptorSet::default_instance());
478  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
479    FileDescriptorProto_descriptor_, &FileDescriptorProto::default_instance());
480  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
481    DescriptorProto_descriptor_, &DescriptorProto::default_instance());
482  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
483    DescriptorProto_ExtensionRange_descriptor_, &DescriptorProto_ExtensionRange::default_instance());
484  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
485    FieldDescriptorProto_descriptor_, &FieldDescriptorProto::default_instance());
486  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
487    EnumDescriptorProto_descriptor_, &EnumDescriptorProto::default_instance());
488  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
489    EnumValueDescriptorProto_descriptor_, &EnumValueDescriptorProto::default_instance());
490  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
491    ServiceDescriptorProto_descriptor_, &ServiceDescriptorProto::default_instance());
492  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
493    MethodDescriptorProto_descriptor_, &MethodDescriptorProto::default_instance());
494  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
495    FileOptions_descriptor_, &FileOptions::default_instance());
496  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
497    MessageOptions_descriptor_, &MessageOptions::default_instance());
498  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
499    FieldOptions_descriptor_, &FieldOptions::default_instance());
500  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
501    EnumOptions_descriptor_, &EnumOptions::default_instance());
502  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
503    EnumValueOptions_descriptor_, &EnumValueOptions::default_instance());
504  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
505    ServiceOptions_descriptor_, &ServiceOptions::default_instance());
506  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
507    MethodOptions_descriptor_, &MethodOptions::default_instance());
508  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
509    UninterpretedOption_descriptor_, &UninterpretedOption::default_instance());
510  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
511    UninterpretedOption_NamePart_descriptor_, &UninterpretedOption_NamePart::default_instance());
512  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
513    SourceCodeInfo_descriptor_, &SourceCodeInfo::default_instance());
514  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
515    SourceCodeInfo_Location_descriptor_, &SourceCodeInfo_Location::default_instance());
516}
517
518}  // namespace
519
520void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto() {
521  delete FileDescriptorSet::default_instance_;
522  delete FileDescriptorSet_reflection_;
523  delete FileDescriptorProto::default_instance_;
524  delete FileDescriptorProto_reflection_;
525  delete DescriptorProto::default_instance_;
526  delete DescriptorProto_reflection_;
527  delete DescriptorProto_ExtensionRange::default_instance_;
528  delete DescriptorProto_ExtensionRange_reflection_;
529  delete FieldDescriptorProto::default_instance_;
530  delete FieldDescriptorProto_reflection_;
531  delete EnumDescriptorProto::default_instance_;
532  delete EnumDescriptorProto_reflection_;
533  delete EnumValueDescriptorProto::default_instance_;
534  delete EnumValueDescriptorProto_reflection_;
535  delete ServiceDescriptorProto::default_instance_;
536  delete ServiceDescriptorProto_reflection_;
537  delete MethodDescriptorProto::default_instance_;
538  delete MethodDescriptorProto_reflection_;
539  delete FileOptions::default_instance_;
540  delete FileOptions_reflection_;
541  delete MessageOptions::default_instance_;
542  delete MessageOptions_reflection_;
543  delete FieldOptions::default_instance_;
544  delete FieldOptions_reflection_;
545  delete EnumOptions::default_instance_;
546  delete EnumOptions_reflection_;
547  delete EnumValueOptions::default_instance_;
548  delete EnumValueOptions_reflection_;
549  delete ServiceOptions::default_instance_;
550  delete ServiceOptions_reflection_;
551  delete MethodOptions::default_instance_;
552  delete MethodOptions_reflection_;
553  delete UninterpretedOption::default_instance_;
554  delete UninterpretedOption_reflection_;
555  delete UninterpretedOption_NamePart::default_instance_;
556  delete UninterpretedOption_NamePart_reflection_;
557  delete SourceCodeInfo::default_instance_;
558  delete SourceCodeInfo_reflection_;
559  delete SourceCodeInfo_Location::default_instance_;
560  delete SourceCodeInfo_Location_reflection_;
561}
562
563void protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() {
564  static bool already_here = false;
565  if (already_here) return;
566  already_here = true;
567  GOOGLE_PROTOBUF_VERIFY_VERSION;
568
569  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
570    "\n google/protobuf/descriptor.proto\022\017goog"
571    "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file"
572    "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
573    "roto\"\313\003\n\023FileDescriptorProto\022\014\n\004name\030\001 \001"
574    "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022"
575    "\031\n\021public_dependency\030\n \003(\005\022\027\n\017weak_depen"
576    "dency\030\013 \003(\005\0226\n\014message_type\030\004 \003(\0132 .goog"
577    "le.protobuf.DescriptorProto\0227\n\tenum_type"
578    "\030\005 \003(\0132$.google.protobuf.EnumDescriptorP"
579    "roto\0228\n\007service\030\006 \003(\0132\'.google.protobuf."
580    "ServiceDescriptorProto\0228\n\textension\030\007 \003("
581    "\0132%.google.protobuf.FieldDescriptorProto"
582    "\022-\n\007options\030\010 \001(\0132\034.google.protobuf.File"
583    "Options\0229\n\020source_code_info\030\t \001(\0132\037.goog"
584    "le.protobuf.SourceCodeInfo\"\251\003\n\017Descripto"
585    "rProto\022\014\n\004name\030\001 \001(\t\0224\n\005field\030\002 \003(\0132%.go"
586    "ogle.protobuf.FieldDescriptorProto\0228\n\tex"
587    "tension\030\006 \003(\0132%.google.protobuf.FieldDes"
588    "criptorProto\0225\n\013nested_type\030\003 \003(\0132 .goog"
589    "le.protobuf.DescriptorProto\0227\n\tenum_type"
590    "\030\004 \003(\0132$.google.protobuf.EnumDescriptorP"
591    "roto\022H\n\017extension_range\030\005 \003(\0132/.google.p"
592    "rotobuf.DescriptorProto.ExtensionRange\0220"
593    "\n\007options\030\007 \001(\0132\037.google.protobuf.Messag"
594    "eOptions\032,\n\016ExtensionRange\022\r\n\005start\030\001 \001("
595    "\005\022\013\n\003end\030\002 \001(\005\"\224\005\n\024FieldDescriptorProto\022"
596    "\014\n\004name\030\001 \001(\t\022\016\n\006number\030\003 \001(\005\022:\n\005label\030\004"
597    " \001(\0162+.google.protobuf.FieldDescriptorPr"
598    "oto.Label\0228\n\004type\030\005 \001(\0162*.google.protobu"
599    "f.FieldDescriptorProto.Type\022\021\n\ttype_name"
600    "\030\006 \001(\t\022\020\n\010extendee\030\002 \001(\t\022\025\n\rdefault_valu"
601    "e\030\007 \001(\t\022.\n\007options\030\010 \001(\0132\035.google.protob"
602    "uf.FieldOptions\"\266\002\n\004Type\022\017\n\013TYPE_DOUBLE\020"
603    "\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64\020\003\022\017\n\013TYP"
604    "E_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014TYPE_FIXED"
605    "64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_BOOL\020\010\022\017\n"
606    "\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022\020\n\014TYPE_M"
607    "ESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYPE_UINT32\020"
608    "\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED32\020\017\022\021\n\rT"
609    "YPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021\022\017\n\013TYPE_"
610    "SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTIONAL\020\001\022\022\n"
611    "\016LABEL_REQUIRED\020\002\022\022\n\016LABEL_REPEATED\020\003\"\214\001"
612    "\n\023EnumDescriptorProto\022\014\n\004name\030\001 \001(\t\0228\n\005v"
613    "alue\030\002 \003(\0132).google.protobuf.EnumValueDe"
614    "scriptorProto\022-\n\007options\030\003 \001(\0132\034.google."
615    "protobuf.EnumOptions\"l\n\030EnumValueDescrip"
616    "torProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\002 \001(\005\0222"
617    "\n\007options\030\003 \001(\0132!.google.protobuf.EnumVa"
618    "lueOptions\"\220\001\n\026ServiceDescriptorProto\022\014\n"
619    "\004name\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.google.pro"
620    "tobuf.MethodDescriptorProto\0220\n\007options\030\003"
621    " \001(\0132\037.google.protobuf.ServiceOptions\"\177\n"
622    "\025MethodDescriptorProto\022\014\n\004name\030\001 \001(\t\022\022\n\n"
623    "input_type\030\002 \001(\t\022\023\n\013output_type\030\003 \001(\t\022/\n"
624    "\007options\030\004 \001(\0132\036.google.protobuf.MethodO"
625    "ptions\"\217\004\n\013FileOptions\022\024\n\014java_package\030\001"
626    " \001(\t\022\034\n\024java_outer_classname\030\010 \001(\t\022\"\n\023ja"
627    "va_multiple_files\030\n \001(\010:\005false\022$\n\025retain"
628    "_unknown_fields\030\014 \001(\010:\005false\022,\n\035java_gen"
629    "erate_equals_and_hash\030\024 \001(\010:\005false\022F\n\014op"
630    "timize_for\030\t \001(\0162).google.protobuf.FileO"
631    "ptions.OptimizeMode:\005SPEED\022\022\n\ngo_package"
632    "\030\013 \001(\t\022\"\n\023cc_generic_services\030\020 \001(\010:\005fal"
633    "se\022$\n\025java_generic_services\030\021 \001(\010:\005false"
634    "\022\"\n\023py_generic_services\030\022 \001(\010:\005false\022C\n\024"
635    "uninterpreted_option\030\347\007 \003(\0132$.google.pro"
636    "tobuf.UninterpretedOption\":\n\014OptimizeMod"
637    "e\022\t\n\005SPEED\020\001\022\r\n\tCODE_SIZE\020\002\022\020\n\014LITE_RUNT"
638    "IME\020\003*\t\010\350\007\020\200\200\200\200\002\"\270\001\n\016MessageOptions\022&\n\027m"
639    "essage_set_wire_format\030\001 \001(\010:\005false\022.\n\037n"
640    "o_standard_descriptor_accessor\030\002 \001(\010:\005fa"
641    "lse\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.goo"
642    "gle.protobuf.UninterpretedOption*\t\010\350\007\020\200\200"
643    "\200\200\002\"\276\002\n\014FieldOptions\022:\n\005ctype\030\001 \001(\0162#.go"
644    "ogle.protobuf.FieldOptions.CType:\006STRING"
645    "\022\016\n\006packed\030\002 \001(\010\022\023\n\004lazy\030\005 \001(\010:\005false\022\031\n"
646    "\ndeprecated\030\003 \001(\010:\005false\022\034\n\024experimental"
647    "_map_key\030\t \001(\t\022\023\n\004weak\030\n \001(\010:\005false\022C\n\024u"
648    "ninterpreted_option\030\347\007 \003(\0132$.google.prot"
649    "obuf.UninterpretedOption\"/\n\005CType\022\n\n\006STR"
650    "ING\020\000\022\010\n\004CORD\020\001\022\020\n\014STRING_PIECE\020\002*\t\010\350\007\020\200"
651    "\200\200\200\002\"x\n\013EnumOptions\022\031\n\013allow_alias\030\002 \001(\010"
652    ":\004true\022C\n\024uninterpreted_option\030\347\007 \003(\0132$."
653    "google.protobuf.UninterpretedOption*\t\010\350\007"
654    "\020\200\200\200\200\002\"b\n\020EnumValueOptions\022C\n\024uninterpre"
655    "ted_option\030\347\007 \003(\0132$.google.protobuf.Unin"
656    "terpretedOption*\t\010\350\007\020\200\200\200\200\002\"`\n\016ServiceOpt"
657    "ions\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.go"
658    "ogle.protobuf.UninterpretedOption*\t\010\350\007\020\200"
659    "\200\200\200\002\"_\n\rMethodOptions\022C\n\024uninterpreted_o"
660    "ption\030\347\007 \003(\0132$.google.protobuf.Uninterpr"
661    "etedOption*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023UninterpretedO"
662    "ption\022;\n\004name\030\002 \003(\0132-.google.protobuf.Un"
663    "interpretedOption.NamePart\022\030\n\020identifier"
664    "_value\030\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004"
665    "\022\032\n\022negative_int_value\030\005 \001(\003\022\024\n\014double_v"
666    "alue\030\006 \001(\001\022\024\n\014string_value\030\007 \001(\014\022\027\n\017aggr"
667    "egate_value\030\010 \001(\t\0323\n\010NamePart\022\021\n\tname_pa"
668    "rt\030\001 \002(\t\022\024\n\014is_extension\030\002 \002(\010\"\261\001\n\016Sourc"
669    "eCodeInfo\022:\n\010location\030\001 \003(\0132(.google.pro"
670    "tobuf.SourceCodeInfo.Location\032c\n\010Locatio"
671    "n\022\020\n\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003(\005B\002\020\001\022\030\n"
672    "\020leading_comments\030\003 \001(\t\022\031\n\021trailing_comm"
673    "ents\030\004 \001(\tB)\n\023com.google.protobufB\020Descr"
674    "iptorProtosH\001", 4173);
675  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
676    "google/protobuf/descriptor.proto", &protobuf_RegisterTypes);
677  FileDescriptorSet::default_instance_ = new FileDescriptorSet();
678  FileDescriptorProto::default_instance_ = new FileDescriptorProto();
679  DescriptorProto::default_instance_ = new DescriptorProto();
680  DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange();
681  FieldDescriptorProto::default_instance_ = new FieldDescriptorProto();
682  EnumDescriptorProto::default_instance_ = new EnumDescriptorProto();
683  EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto();
684  ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto();
685  MethodDescriptorProto::default_instance_ = new MethodDescriptorProto();
686  FileOptions::default_instance_ = new FileOptions();
687  MessageOptions::default_instance_ = new MessageOptions();
688  FieldOptions::default_instance_ = new FieldOptions();
689  EnumOptions::default_instance_ = new EnumOptions();
690  EnumValueOptions::default_instance_ = new EnumValueOptions();
691  ServiceOptions::default_instance_ = new ServiceOptions();
692  MethodOptions::default_instance_ = new MethodOptions();
693  UninterpretedOption::default_instance_ = new UninterpretedOption();
694  UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart();
695  SourceCodeInfo::default_instance_ = new SourceCodeInfo();
696  SourceCodeInfo_Location::default_instance_ = new SourceCodeInfo_Location();
697  FileDescriptorSet::default_instance_->InitAsDefaultInstance();
698  FileDescriptorProto::default_instance_->InitAsDefaultInstance();
699  DescriptorProto::default_instance_->InitAsDefaultInstance();
700  DescriptorProto_ExtensionRange::default_instance_->InitAsDefaultInstance();
701  FieldDescriptorProto::default_instance_->InitAsDefaultInstance();
702  EnumDescriptorProto::default_instance_->InitAsDefaultInstance();
703  EnumValueDescriptorProto::default_instance_->InitAsDefaultInstance();
704  ServiceDescriptorProto::default_instance_->InitAsDefaultInstance();
705  MethodDescriptorProto::default_instance_->InitAsDefaultInstance();
706  FileOptions::default_instance_->InitAsDefaultInstance();
707  MessageOptions::default_instance_->InitAsDefaultInstance();
708  FieldOptions::default_instance_->InitAsDefaultInstance();
709  EnumOptions::default_instance_->InitAsDefaultInstance();
710  EnumValueOptions::default_instance_->InitAsDefaultInstance();
711  ServiceOptions::default_instance_->InitAsDefaultInstance();
712  MethodOptions::default_instance_->InitAsDefaultInstance();
713  UninterpretedOption::default_instance_->InitAsDefaultInstance();
714  UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
715  SourceCodeInfo::default_instance_->InitAsDefaultInstance();
716  SourceCodeInfo_Location::default_instance_->InitAsDefaultInstance();
717  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto);
718}
719
720// Force AddDescriptors() to be called at static initialization time.
721struct StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto {
722  StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
723    protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
724  }
725} static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;
726
727// ===================================================================
728
729#ifndef _MSC_VER
730const int FileDescriptorSet::kFileFieldNumber;
731#endif  // !_MSC_VER
732
733FileDescriptorSet::FileDescriptorSet()
734  : ::google::protobuf::Message() {
735  SharedCtor();
736}
737
738void FileDescriptorSet::InitAsDefaultInstance() {
739}
740
741FileDescriptorSet::FileDescriptorSet(const FileDescriptorSet& from)
742  : ::google::protobuf::Message() {
743  SharedCtor();
744  MergeFrom(from);
745}
746
747void FileDescriptorSet::SharedCtor() {
748  _cached_size_ = 0;
749  ::memset(_has_bits_, 0, sizeof(_has_bits_));
750}
751
752FileDescriptorSet::~FileDescriptorSet() {
753  SharedDtor();
754}
755
756void FileDescriptorSet::SharedDtor() {
757  if (this != default_instance_) {
758  }
759}
760
761void FileDescriptorSet::SetCachedSize(int size) const {
762  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
763  _cached_size_ = size;
764  GOOGLE_SAFE_CONCURRENT_WRITES_END();
765}
766const ::google::protobuf::Descriptor* FileDescriptorSet::descriptor() {
767  protobuf_AssignDescriptorsOnce();
768  return FileDescriptorSet_descriptor_;
769}
770
771const FileDescriptorSet& FileDescriptorSet::default_instance() {
772  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
773  return *default_instance_;
774}
775
776FileDescriptorSet* FileDescriptorSet::default_instance_ = NULL;
777
778FileDescriptorSet* FileDescriptorSet::New() const {
779  return new FileDescriptorSet;
780}
781
782void FileDescriptorSet::Clear() {
783  file_.Clear();
784  ::memset(_has_bits_, 0, sizeof(_has_bits_));
785  mutable_unknown_fields()->Clear();
786}
787
788bool FileDescriptorSet::MergePartialFromCodedStream(
789    ::google::protobuf::io::CodedInputStream* input) {
790#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
791  ::google::protobuf::uint32 tag;
792  while ((tag = input->ReadTag()) != 0) {
793    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
794      // repeated .google.protobuf.FileDescriptorProto file = 1;
795      case 1: {
796        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
797            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
798         parse_file:
799          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
800                input, add_file()));
801        } else {
802          goto handle_uninterpreted;
803        }
804        if (input->ExpectTag(10)) goto parse_file;
805        if (input->ExpectAtEnd()) return true;
806        break;
807      }
808
809      default: {
810      handle_uninterpreted:
811        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
812            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
813          return true;
814        }
815        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
816              input, tag, mutable_unknown_fields()));
817        break;
818      }
819    }
820  }
821  return true;
822#undef DO_
823}
824
825void FileDescriptorSet::SerializeWithCachedSizes(
826    ::google::protobuf::io::CodedOutputStream* output) const {
827  // repeated .google.protobuf.FileDescriptorProto file = 1;
828  for (int i = 0; i < this->file_size(); i++) {
829    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
830      1, this->file(i), output);
831  }
832
833  if (!unknown_fields().empty()) {
834    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
835        unknown_fields(), output);
836  }
837}
838
839::google::protobuf::uint8* FileDescriptorSet::SerializeWithCachedSizesToArray(
840    ::google::protobuf::uint8* target) const {
841  // repeated .google.protobuf.FileDescriptorProto file = 1;
842  for (int i = 0; i < this->file_size(); i++) {
843    target = ::google::protobuf::internal::WireFormatLite::
844      WriteMessageNoVirtualToArray(
845        1, this->file(i), target);
846  }
847
848  if (!unknown_fields().empty()) {
849    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
850        unknown_fields(), target);
851  }
852  return target;
853}
854
855int FileDescriptorSet::ByteSize() const {
856  int total_size = 0;
857
858  // repeated .google.protobuf.FileDescriptorProto file = 1;
859  total_size += 1 * this->file_size();
860  for (int i = 0; i < this->file_size(); i++) {
861    total_size +=
862      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
863        this->file(i));
864  }
865
866  if (!unknown_fields().empty()) {
867    total_size +=
868      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
869        unknown_fields());
870  }
871  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
872  _cached_size_ = total_size;
873  GOOGLE_SAFE_CONCURRENT_WRITES_END();
874  return total_size;
875}
876
877void FileDescriptorSet::MergeFrom(const ::google::protobuf::Message& from) {
878  GOOGLE_CHECK_NE(&from, this);
879  const FileDescriptorSet* source =
880    ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorSet*>(
881      &from);
882  if (source == NULL) {
883    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
884  } else {
885    MergeFrom(*source);
886  }
887}
888
889void FileDescriptorSet::MergeFrom(const FileDescriptorSet& from) {
890  GOOGLE_CHECK_NE(&from, this);
891  file_.MergeFrom(from.file_);
892  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
893}
894
895void FileDescriptorSet::CopyFrom(const ::google::protobuf::Message& from) {
896  if (&from == this) return;
897  Clear();
898  MergeFrom(from);
899}
900
901void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
902  if (&from == this) return;
903  Clear();
904  MergeFrom(from);
905}
906
907bool FileDescriptorSet::IsInitialized() const {
908
909  for (int i = 0; i < file_size(); i++) {
910    if (!this->file(i).IsInitialized()) return false;
911  }
912  return true;
913}
914
915void FileDescriptorSet::Swap(FileDescriptorSet* other) {
916  if (other != this) {
917    file_.Swap(&other->file_);
918    std::swap(_has_bits_[0], other->_has_bits_[0]);
919    _unknown_fields_.Swap(&other->_unknown_fields_);
920    std::swap(_cached_size_, other->_cached_size_);
921  }
922}
923
924::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
925  protobuf_AssignDescriptorsOnce();
926  ::google::protobuf::Metadata metadata;
927  metadata.descriptor = FileDescriptorSet_descriptor_;
928  metadata.reflection = FileDescriptorSet_reflection_;
929  return metadata;
930}
931
932
933// ===================================================================
934
935#ifndef _MSC_VER
936const int FileDescriptorProto::kNameFieldNumber;
937const int FileDescriptorProto::kPackageFieldNumber;
938const int FileDescriptorProto::kDependencyFieldNumber;
939const int FileDescriptorProto::kPublicDependencyFieldNumber;
940const int FileDescriptorProto::kWeakDependencyFieldNumber;
941const int FileDescriptorProto::kMessageTypeFieldNumber;
942const int FileDescriptorProto::kEnumTypeFieldNumber;
943const int FileDescriptorProto::kServiceFieldNumber;
944const int FileDescriptorProto::kExtensionFieldNumber;
945const int FileDescriptorProto::kOptionsFieldNumber;
946const int FileDescriptorProto::kSourceCodeInfoFieldNumber;
947#endif  // !_MSC_VER
948
949FileDescriptorProto::FileDescriptorProto()
950  : ::google::protobuf::Message() {
951  SharedCtor();
952}
953
954void FileDescriptorProto::InitAsDefaultInstance() {
955  options_ = const_cast< ::google::protobuf::FileOptions*>(&::google::protobuf::FileOptions::default_instance());
956  source_code_info_ = const_cast< ::google::protobuf::SourceCodeInfo*>(&::google::protobuf::SourceCodeInfo::default_instance());
957}
958
959FileDescriptorProto::FileDescriptorProto(const FileDescriptorProto& from)
960  : ::google::protobuf::Message() {
961  SharedCtor();
962  MergeFrom(from);
963}
964
965void FileDescriptorProto::SharedCtor() {
966  _cached_size_ = 0;
967  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
968  package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
969  options_ = NULL;
970  source_code_info_ = NULL;
971  ::memset(_has_bits_, 0, sizeof(_has_bits_));
972}
973
974FileDescriptorProto::~FileDescriptorProto() {
975  SharedDtor();
976}
977
978void FileDescriptorProto::SharedDtor() {
979  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
980    delete name_;
981  }
982  if (package_ != &::google::protobuf::internal::GetEmptyString()) {
983    delete package_;
984  }
985  if (this != default_instance_) {
986    delete options_;
987    delete source_code_info_;
988  }
989}
990
991void FileDescriptorProto::SetCachedSize(int size) const {
992  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
993  _cached_size_ = size;
994  GOOGLE_SAFE_CONCURRENT_WRITES_END();
995}
996const ::google::protobuf::Descriptor* FileDescriptorProto::descriptor() {
997  protobuf_AssignDescriptorsOnce();
998  return FileDescriptorProto_descriptor_;
999}
1000
1001const FileDescriptorProto& FileDescriptorProto::default_instance() {
1002  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
1003  return *default_instance_;
1004}
1005
1006FileDescriptorProto* FileDescriptorProto::default_instance_ = NULL;
1007
1008FileDescriptorProto* FileDescriptorProto::New() const {
1009  return new FileDescriptorProto;
1010}
1011
1012void FileDescriptorProto::Clear() {
1013  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1014    if (has_name()) {
1015      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
1016        name_->clear();
1017      }
1018    }
1019    if (has_package()) {
1020      if (package_ != &::google::protobuf::internal::GetEmptyString()) {
1021        package_->clear();
1022      }
1023    }
1024  }
1025  if (_has_bits_[9 / 32] & (0xffu << (9 % 32))) {
1026    if (has_options()) {
1027      if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
1028    }
1029    if (has_source_code_info()) {
1030      if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
1031    }
1032  }
1033  dependency_.Clear();
1034  public_dependency_.Clear();
1035  weak_dependency_.Clear();
1036  message_type_.Clear();
1037  enum_type_.Clear();
1038  service_.Clear();
1039  extension_.Clear();
1040  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1041  mutable_unknown_fields()->Clear();
1042}
1043
1044bool FileDescriptorProto::MergePartialFromCodedStream(
1045    ::google::protobuf::io::CodedInputStream* input) {
1046#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
1047  ::google::protobuf::uint32 tag;
1048  while ((tag = input->ReadTag()) != 0) {
1049    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
1050      // optional string name = 1;
1051      case 1: {
1052        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1053            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1054          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
1055                input, this->mutable_name()));
1056          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1057            this->name().data(), this->name().length(),
1058            ::google::protobuf::internal::WireFormat::PARSE);
1059        } else {
1060          goto handle_uninterpreted;
1061        }
1062        if (input->ExpectTag(18)) goto parse_package;
1063        break;
1064      }
1065
1066      // optional string package = 2;
1067      case 2: {
1068        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1069            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1070         parse_package:
1071          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
1072                input, this->mutable_package()));
1073          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1074            this->package().data(), this->package().length(),
1075            ::google::protobuf::internal::WireFormat::PARSE);
1076        } else {
1077          goto handle_uninterpreted;
1078        }
1079        if (input->ExpectTag(26)) goto parse_dependency;
1080        break;
1081      }
1082
1083      // repeated string dependency = 3;
1084      case 3: {
1085        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1086            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1087         parse_dependency:
1088          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
1089                input, this->add_dependency()));
1090          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1091            this->dependency(this->dependency_size() - 1).data(),
1092            this->dependency(this->dependency_size() - 1).length(),
1093            ::google::protobuf::internal::WireFormat::PARSE);
1094        } else {
1095          goto handle_uninterpreted;
1096        }
1097        if (input->ExpectTag(26)) goto parse_dependency;
1098        if (input->ExpectTag(34)) goto parse_message_type;
1099        break;
1100      }
1101
1102      // repeated .google.protobuf.DescriptorProto message_type = 4;
1103      case 4: {
1104        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1105            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1106         parse_message_type:
1107          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1108                input, add_message_type()));
1109        } else {
1110          goto handle_uninterpreted;
1111        }
1112        if (input->ExpectTag(34)) goto parse_message_type;
1113        if (input->ExpectTag(42)) goto parse_enum_type;
1114        break;
1115      }
1116
1117      // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1118      case 5: {
1119        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1120            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1121         parse_enum_type:
1122          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1123                input, add_enum_type()));
1124        } else {
1125          goto handle_uninterpreted;
1126        }
1127        if (input->ExpectTag(42)) goto parse_enum_type;
1128        if (input->ExpectTag(50)) goto parse_service;
1129        break;
1130      }
1131
1132      // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1133      case 6: {
1134        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1135            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1136         parse_service:
1137          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1138                input, add_service()));
1139        } else {
1140          goto handle_uninterpreted;
1141        }
1142        if (input->ExpectTag(50)) goto parse_service;
1143        if (input->ExpectTag(58)) goto parse_extension;
1144        break;
1145      }
1146
1147      // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1148      case 7: {
1149        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1150            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1151         parse_extension:
1152          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1153                input, add_extension()));
1154        } else {
1155          goto handle_uninterpreted;
1156        }
1157        if (input->ExpectTag(58)) goto parse_extension;
1158        if (input->ExpectTag(66)) goto parse_options;
1159        break;
1160      }
1161
1162      // optional .google.protobuf.FileOptions options = 8;
1163      case 8: {
1164        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1165            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1166         parse_options:
1167          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1168               input, mutable_options()));
1169        } else {
1170          goto handle_uninterpreted;
1171        }
1172        if (input->ExpectTag(74)) goto parse_source_code_info;
1173        break;
1174      }
1175
1176      // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
1177      case 9: {
1178        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1179            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1180         parse_source_code_info:
1181          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1182               input, mutable_source_code_info()));
1183        } else {
1184          goto handle_uninterpreted;
1185        }
1186        if (input->ExpectTag(80)) goto parse_public_dependency;
1187        break;
1188      }
1189
1190      // repeated int32 public_dependency = 10;
1191      case 10: {
1192        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1193            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
1194         parse_public_dependency:
1195          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
1196                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1197                 1, 80, input, this->mutable_public_dependency())));
1198        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
1199                   == ::google::protobuf::internal::WireFormatLite::
1200                      WIRETYPE_LENGTH_DELIMITED) {
1201          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
1202                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1203                 input, this->mutable_public_dependency())));
1204        } else {
1205          goto handle_uninterpreted;
1206        }
1207        if (input->ExpectTag(80)) goto parse_public_dependency;
1208        if (input->ExpectTag(88)) goto parse_weak_dependency;
1209        break;
1210      }
1211
1212      // repeated int32 weak_dependency = 11;
1213      case 11: {
1214        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1215            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
1216         parse_weak_dependency:
1217          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
1218                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1219                 1, 88, input, this->mutable_weak_dependency())));
1220        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
1221                   == ::google::protobuf::internal::WireFormatLite::
1222                      WIRETYPE_LENGTH_DELIMITED) {
1223          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
1224                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1225                 input, this->mutable_weak_dependency())));
1226        } else {
1227          goto handle_uninterpreted;
1228        }
1229        if (input->ExpectTag(88)) goto parse_weak_dependency;
1230        if (input->ExpectAtEnd()) return true;
1231        break;
1232      }
1233
1234      default: {
1235      handle_uninterpreted:
1236        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1237            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
1238          return true;
1239        }
1240        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
1241              input, tag, mutable_unknown_fields()));
1242        break;
1243      }
1244    }
1245  }
1246  return true;
1247#undef DO_
1248}
1249
1250void FileDescriptorProto::SerializeWithCachedSizes(
1251    ::google::protobuf::io::CodedOutputStream* output) const {
1252  // optional string name = 1;
1253  if (has_name()) {
1254    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1255      this->name().data(), this->name().length(),
1256      ::google::protobuf::internal::WireFormat::SERIALIZE);
1257    ::google::protobuf::internal::WireFormatLite::WriteString(
1258      1, this->name(), output);
1259  }
1260
1261  // optional string package = 2;
1262  if (has_package()) {
1263    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1264      this->package().data(), this->package().length(),
1265      ::google::protobuf::internal::WireFormat::SERIALIZE);
1266    ::google::protobuf::internal::WireFormatLite::WriteString(
1267      2, this->package(), output);
1268  }
1269
1270  // repeated string dependency = 3;
1271  for (int i = 0; i < this->dependency_size(); i++) {
1272  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1273    this->dependency(i).data(), this->dependency(i).length(),
1274    ::google::protobuf::internal::WireFormat::SERIALIZE);
1275    ::google::protobuf::internal::WireFormatLite::WriteString(
1276      3, this->dependency(i), output);
1277  }
1278
1279  // repeated .google.protobuf.DescriptorProto message_type = 4;
1280  for (int i = 0; i < this->message_type_size(); i++) {
1281    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1282      4, this->message_type(i), output);
1283  }
1284
1285  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1286  for (int i = 0; i < this->enum_type_size(); i++) {
1287    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1288      5, this->enum_type(i), output);
1289  }
1290
1291  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1292  for (int i = 0; i < this->service_size(); i++) {
1293    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1294      6, this->service(i), output);
1295  }
1296
1297  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1298  for (int i = 0; i < this->extension_size(); i++) {
1299    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1300      7, this->extension(i), output);
1301  }
1302
1303  // optional .google.protobuf.FileOptions options = 8;
1304  if (has_options()) {
1305    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1306      8, this->options(), output);
1307  }
1308
1309  // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
1310  if (has_source_code_info()) {
1311    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1312      9, this->source_code_info(), output);
1313  }
1314
1315  // repeated int32 public_dependency = 10;
1316  for (int i = 0; i < this->public_dependency_size(); i++) {
1317    ::google::protobuf::internal::WireFormatLite::WriteInt32(
1318      10, this->public_dependency(i), output);
1319  }
1320
1321  // repeated int32 weak_dependency = 11;
1322  for (int i = 0; i < this->weak_dependency_size(); i++) {
1323    ::google::protobuf::internal::WireFormatLite::WriteInt32(
1324      11, this->weak_dependency(i), output);
1325  }
1326
1327  if (!unknown_fields().empty()) {
1328    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
1329        unknown_fields(), output);
1330  }
1331}
1332
1333::google::protobuf::uint8* FileDescriptorProto::SerializeWithCachedSizesToArray(
1334    ::google::protobuf::uint8* target) const {
1335  // optional string name = 1;
1336  if (has_name()) {
1337    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1338      this->name().data(), this->name().length(),
1339      ::google::protobuf::internal::WireFormat::SERIALIZE);
1340    target =
1341      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
1342        1, this->name(), target);
1343  }
1344
1345  // optional string package = 2;
1346  if (has_package()) {
1347    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1348      this->package().data(), this->package().length(),
1349      ::google::protobuf::internal::WireFormat::SERIALIZE);
1350    target =
1351      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
1352        2, this->package(), target);
1353  }
1354
1355  // repeated string dependency = 3;
1356  for (int i = 0; i < this->dependency_size(); i++) {
1357    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1358      this->dependency(i).data(), this->dependency(i).length(),
1359      ::google::protobuf::internal::WireFormat::SERIALIZE);
1360    target = ::google::protobuf::internal::WireFormatLite::
1361      WriteStringToArray(3, this->dependency(i), target);
1362  }
1363
1364  // repeated .google.protobuf.DescriptorProto message_type = 4;
1365  for (int i = 0; i < this->message_type_size(); i++) {
1366    target = ::google::protobuf::internal::WireFormatLite::
1367      WriteMessageNoVirtualToArray(
1368        4, this->message_type(i), target);
1369  }
1370
1371  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1372  for (int i = 0; i < this->enum_type_size(); i++) {
1373    target = ::google::protobuf::internal::WireFormatLite::
1374      WriteMessageNoVirtualToArray(
1375        5, this->enum_type(i), target);
1376  }
1377
1378  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1379  for (int i = 0; i < this->service_size(); i++) {
1380    target = ::google::protobuf::internal::WireFormatLite::
1381      WriteMessageNoVirtualToArray(
1382        6, this->service(i), target);
1383  }
1384
1385  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1386  for (int i = 0; i < this->extension_size(); i++) {
1387    target = ::google::protobuf::internal::WireFormatLite::
1388      WriteMessageNoVirtualToArray(
1389        7, this->extension(i), target);
1390  }
1391
1392  // optional .google.protobuf.FileOptions options = 8;
1393  if (has_options()) {
1394    target = ::google::protobuf::internal::WireFormatLite::
1395      WriteMessageNoVirtualToArray(
1396        8, this->options(), target);
1397  }
1398
1399  // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
1400  if (has_source_code_info()) {
1401    target = ::google::protobuf::internal::WireFormatLite::
1402      WriteMessageNoVirtualToArray(
1403        9, this->source_code_info(), target);
1404  }
1405
1406  // repeated int32 public_dependency = 10;
1407  for (int i = 0; i < this->public_dependency_size(); i++) {
1408    target = ::google::protobuf::internal::WireFormatLite::
1409      WriteInt32ToArray(10, this->public_dependency(i), target);
1410  }
1411
1412  // repeated int32 weak_dependency = 11;
1413  for (int i = 0; i < this->weak_dependency_size(); i++) {
1414    target = ::google::protobuf::internal::WireFormatLite::
1415      WriteInt32ToArray(11, this->weak_dependency(i), target);
1416  }
1417
1418  if (!unknown_fields().empty()) {
1419    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
1420        unknown_fields(), target);
1421  }
1422  return target;
1423}
1424
1425int FileDescriptorProto::ByteSize() const {
1426  int total_size = 0;
1427
1428  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1429    // optional string name = 1;
1430    if (has_name()) {
1431      total_size += 1 +
1432        ::google::protobuf::internal::WireFormatLite::StringSize(
1433          this->name());
1434    }
1435
1436    // optional string package = 2;
1437    if (has_package()) {
1438      total_size += 1 +
1439        ::google::protobuf::internal::WireFormatLite::StringSize(
1440          this->package());
1441    }
1442
1443  }
1444  if (_has_bits_[9 / 32] & (0xffu << (9 % 32))) {
1445    // optional .google.protobuf.FileOptions options = 8;
1446    if (has_options()) {
1447      total_size += 1 +
1448        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1449          this->options());
1450    }
1451
1452    // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
1453    if (has_source_code_info()) {
1454      total_size += 1 +
1455        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1456          this->source_code_info());
1457    }
1458
1459  }
1460  // repeated string dependency = 3;
1461  total_size += 1 * this->dependency_size();
1462  for (int i = 0; i < this->dependency_size(); i++) {
1463    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
1464      this->dependency(i));
1465  }
1466
1467  // repeated int32 public_dependency = 10;
1468  {
1469    int data_size = 0;
1470    for (int i = 0; i < this->public_dependency_size(); i++) {
1471      data_size += ::google::protobuf::internal::WireFormatLite::
1472        Int32Size(this->public_dependency(i));
1473    }
1474    total_size += 1 * this->public_dependency_size() + data_size;
1475  }
1476
1477  // repeated int32 weak_dependency = 11;
1478  {
1479    int data_size = 0;
1480    for (int i = 0; i < this->weak_dependency_size(); i++) {
1481      data_size += ::google::protobuf::internal::WireFormatLite::
1482        Int32Size(this->weak_dependency(i));
1483    }
1484    total_size += 1 * this->weak_dependency_size() + data_size;
1485  }
1486
1487  // repeated .google.protobuf.DescriptorProto message_type = 4;
1488  total_size += 1 * this->message_type_size();
1489  for (int i = 0; i < this->message_type_size(); i++) {
1490    total_size +=
1491      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1492        this->message_type(i));
1493  }
1494
1495  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1496  total_size += 1 * this->enum_type_size();
1497  for (int i = 0; i < this->enum_type_size(); i++) {
1498    total_size +=
1499      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1500        this->enum_type(i));
1501  }
1502
1503  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1504  total_size += 1 * this->service_size();
1505  for (int i = 0; i < this->service_size(); i++) {
1506    total_size +=
1507      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1508        this->service(i));
1509  }
1510
1511  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1512  total_size += 1 * this->extension_size();
1513  for (int i = 0; i < this->extension_size(); i++) {
1514    total_size +=
1515      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1516        this->extension(i));
1517  }
1518
1519  if (!unknown_fields().empty()) {
1520    total_size +=
1521      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
1522        unknown_fields());
1523  }
1524  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1525  _cached_size_ = total_size;
1526  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1527  return total_size;
1528}
1529
1530void FileDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
1531  GOOGLE_CHECK_NE(&from, this);
1532  const FileDescriptorProto* source =
1533    ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorProto*>(
1534      &from);
1535  if (source == NULL) {
1536    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
1537  } else {
1538    MergeFrom(*source);
1539  }
1540}
1541
1542void FileDescriptorProto::MergeFrom(const FileDescriptorProto& from) {
1543  GOOGLE_CHECK_NE(&from, this);
1544  dependency_.MergeFrom(from.dependency_);
1545  public_dependency_.MergeFrom(from.public_dependency_);
1546  weak_dependency_.MergeFrom(from.weak_dependency_);
1547  message_type_.MergeFrom(from.message_type_);
1548  enum_type_.MergeFrom(from.enum_type_);
1549  service_.MergeFrom(from.service_);
1550  extension_.MergeFrom(from.extension_);
1551  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1552    if (from.has_name()) {
1553      set_name(from.name());
1554    }
1555    if (from.has_package()) {
1556      set_package(from.package());
1557    }
1558  }
1559  if (from._has_bits_[9 / 32] & (0xffu << (9 % 32))) {
1560    if (from.has_options()) {
1561      mutable_options()->::google::protobuf::FileOptions::MergeFrom(from.options());
1562    }
1563    if (from.has_source_code_info()) {
1564      mutable_source_code_info()->::google::protobuf::SourceCodeInfo::MergeFrom(from.source_code_info());
1565    }
1566  }
1567  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
1568}
1569
1570void FileDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
1571  if (&from == this) return;
1572  Clear();
1573  MergeFrom(from);
1574}
1575
1576void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
1577  if (&from == this) return;
1578  Clear();
1579  MergeFrom(from);
1580}
1581
1582bool FileDescriptorProto::IsInitialized() const {
1583
1584  for (int i = 0; i < message_type_size(); i++) {
1585    if (!this->message_type(i).IsInitialized()) return false;
1586  }
1587  for (int i = 0; i < enum_type_size(); i++) {
1588    if (!this->enum_type(i).IsInitialized()) return false;
1589  }
1590  for (int i = 0; i < service_size(); i++) {
1591    if (!this->service(i).IsInitialized()) return false;
1592  }
1593  for (int i = 0; i < extension_size(); i++) {
1594    if (!this->extension(i).IsInitialized()) return false;
1595  }
1596  if (has_options()) {
1597    if (!this->options().IsInitialized()) return false;
1598  }
1599  return true;
1600}
1601
1602void FileDescriptorProto::Swap(FileDescriptorProto* other) {
1603  if (other != this) {
1604    std::swap(name_, other->name_);
1605    std::swap(package_, other->package_);
1606    dependency_.Swap(&other->dependency_);
1607    public_dependency_.Swap(&other->public_dependency_);
1608    weak_dependency_.Swap(&other->weak_dependency_);
1609    message_type_.Swap(&other->message_type_);
1610    enum_type_.Swap(&other->enum_type_);
1611    service_.Swap(&other->service_);
1612    extension_.Swap(&other->extension_);
1613    std::swap(options_, other->options_);
1614    std::swap(source_code_info_, other->source_code_info_);
1615    std::swap(_has_bits_[0], other->_has_bits_[0]);
1616    _unknown_fields_.Swap(&other->_unknown_fields_);
1617    std::swap(_cached_size_, other->_cached_size_);
1618  }
1619}
1620
1621::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
1622  protobuf_AssignDescriptorsOnce();
1623  ::google::protobuf::Metadata metadata;
1624  metadata.descriptor = FileDescriptorProto_descriptor_;
1625  metadata.reflection = FileDescriptorProto_reflection_;
1626  return metadata;
1627}
1628
1629
1630// ===================================================================
1631
1632#ifndef _MSC_VER
1633const int DescriptorProto_ExtensionRange::kStartFieldNumber;
1634const int DescriptorProto_ExtensionRange::kEndFieldNumber;
1635#endif  // !_MSC_VER
1636
1637DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange()
1638  : ::google::protobuf::Message() {
1639  SharedCtor();
1640}
1641
1642void DescriptorProto_ExtensionRange::InitAsDefaultInstance() {
1643}
1644
1645DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from)
1646  : ::google::protobuf::Message() {
1647  SharedCtor();
1648  MergeFrom(from);
1649}
1650
1651void DescriptorProto_ExtensionRange::SharedCtor() {
1652  _cached_size_ = 0;
1653  start_ = 0;
1654  end_ = 0;
1655  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1656}
1657
1658DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
1659  SharedDtor();
1660}
1661
1662void DescriptorProto_ExtensionRange::SharedDtor() {
1663  if (this != default_instance_) {
1664  }
1665}
1666
1667void DescriptorProto_ExtensionRange::SetCachedSize(int size) const {
1668  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1669  _cached_size_ = size;
1670  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1671}
1672const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange::descriptor() {
1673  protobuf_AssignDescriptorsOnce();
1674  return DescriptorProto_ExtensionRange_descriptor_;
1675}
1676
1677const DescriptorProto_ExtensionRange& DescriptorProto_ExtensionRange::default_instance() {
1678  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
1679  return *default_instance_;
1680}
1681
1682DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::default_instance_ = NULL;
1683
1684DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::New() const {
1685  return new DescriptorProto_ExtensionRange;
1686}
1687
1688void DescriptorProto_ExtensionRange::Clear() {
1689  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1690    start_ = 0;
1691    end_ = 0;
1692  }
1693  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1694  mutable_unknown_fields()->Clear();
1695}
1696
1697bool DescriptorProto_ExtensionRange::MergePartialFromCodedStream(
1698    ::google::protobuf::io::CodedInputStream* input) {
1699#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
1700  ::google::protobuf::uint32 tag;
1701  while ((tag = input->ReadTag()) != 0) {
1702    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
1703      // optional int32 start = 1;
1704      case 1: {
1705        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1706            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
1707          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
1708                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1709                 input, &start_)));
1710          set_has_start();
1711        } else {
1712          goto handle_uninterpreted;
1713        }
1714        if (input->ExpectTag(16)) goto parse_end;
1715        break;
1716      }
1717
1718      // optional int32 end = 2;
1719      case 2: {
1720        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1721            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
1722         parse_end:
1723          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
1724                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1725                 input, &end_)));
1726          set_has_end();
1727        } else {
1728          goto handle_uninterpreted;
1729        }
1730        if (input->ExpectAtEnd()) return true;
1731        break;
1732      }
1733
1734      default: {
1735      handle_uninterpreted:
1736        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1737            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
1738          return true;
1739        }
1740        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
1741              input, tag, mutable_unknown_fields()));
1742        break;
1743      }
1744    }
1745  }
1746  return true;
1747#undef DO_
1748}
1749
1750void DescriptorProto_ExtensionRange::SerializeWithCachedSizes(
1751    ::google::protobuf::io::CodedOutputStream* output) const {
1752  // optional int32 start = 1;
1753  if (has_start()) {
1754    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
1755  }
1756
1757  // optional int32 end = 2;
1758  if (has_end()) {
1759    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
1760  }
1761
1762  if (!unknown_fields().empty()) {
1763    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
1764        unknown_fields(), output);
1765  }
1766}
1767
1768::google::protobuf::uint8* DescriptorProto_ExtensionRange::SerializeWithCachedSizesToArray(
1769    ::google::protobuf::uint8* target) const {
1770  // optional int32 start = 1;
1771  if (has_start()) {
1772    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
1773  }
1774
1775  // optional int32 end = 2;
1776  if (has_end()) {
1777    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
1778  }
1779
1780  if (!unknown_fields().empty()) {
1781    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
1782        unknown_fields(), target);
1783  }
1784  return target;
1785}
1786
1787int DescriptorProto_ExtensionRange::ByteSize() const {
1788  int total_size = 0;
1789
1790  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1791    // optional int32 start = 1;
1792    if (has_start()) {
1793      total_size += 1 +
1794        ::google::protobuf::internal::WireFormatLite::Int32Size(
1795          this->start());
1796    }
1797
1798    // optional int32 end = 2;
1799    if (has_end()) {
1800      total_size += 1 +
1801        ::google::protobuf::internal::WireFormatLite::Int32Size(
1802          this->end());
1803    }
1804
1805  }
1806  if (!unknown_fields().empty()) {
1807    total_size +=
1808      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
1809        unknown_fields());
1810  }
1811  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1812  _cached_size_ = total_size;
1813  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1814  return total_size;
1815}
1816
1817void DescriptorProto_ExtensionRange::MergeFrom(const ::google::protobuf::Message& from) {
1818  GOOGLE_CHECK_NE(&from, this);
1819  const DescriptorProto_ExtensionRange* source =
1820    ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto_ExtensionRange*>(
1821      &from);
1822  if (source == NULL) {
1823    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
1824  } else {
1825    MergeFrom(*source);
1826  }
1827}
1828
1829void DescriptorProto_ExtensionRange::MergeFrom(const DescriptorProto_ExtensionRange& from) {
1830  GOOGLE_CHECK_NE(&from, this);
1831  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1832    if (from.has_start()) {
1833      set_start(from.start());
1834    }
1835    if (from.has_end()) {
1836      set_end(from.end());
1837    }
1838  }
1839  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
1840}
1841
1842void DescriptorProto_ExtensionRange::CopyFrom(const ::google::protobuf::Message& from) {
1843  if (&from == this) return;
1844  Clear();
1845  MergeFrom(from);
1846}
1847
1848void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
1849  if (&from == this) return;
1850  Clear();
1851  MergeFrom(from);
1852}
1853
1854bool DescriptorProto_ExtensionRange::IsInitialized() const {
1855
1856  return true;
1857}
1858
1859void DescriptorProto_ExtensionRange::Swap(DescriptorProto_ExtensionRange* other) {
1860  if (other != this) {
1861    std::swap(start_, other->start_);
1862    std::swap(end_, other->end_);
1863    std::swap(_has_bits_[0], other->_has_bits_[0]);
1864    _unknown_fields_.Swap(&other->_unknown_fields_);
1865    std::swap(_cached_size_, other->_cached_size_);
1866  }
1867}
1868
1869::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
1870  protobuf_AssignDescriptorsOnce();
1871  ::google::protobuf::Metadata metadata;
1872  metadata.descriptor = DescriptorProto_ExtensionRange_descriptor_;
1873  metadata.reflection = DescriptorProto_ExtensionRange_reflection_;
1874  return metadata;
1875}
1876
1877
1878// -------------------------------------------------------------------
1879
1880#ifndef _MSC_VER
1881const int DescriptorProto::kNameFieldNumber;
1882const int DescriptorProto::kFieldFieldNumber;
1883const int DescriptorProto::kExtensionFieldNumber;
1884const int DescriptorProto::kNestedTypeFieldNumber;
1885const int DescriptorProto::kEnumTypeFieldNumber;
1886const int DescriptorProto::kExtensionRangeFieldNumber;
1887const int DescriptorProto::kOptionsFieldNumber;
1888#endif  // !_MSC_VER
1889
1890DescriptorProto::DescriptorProto()
1891  : ::google::protobuf::Message() {
1892  SharedCtor();
1893}
1894
1895void DescriptorProto::InitAsDefaultInstance() {
1896  options_ = const_cast< ::google::protobuf::MessageOptions*>(&::google::protobuf::MessageOptions::default_instance());
1897}
1898
1899DescriptorProto::DescriptorProto(const DescriptorProto& from)
1900  : ::google::protobuf::Message() {
1901  SharedCtor();
1902  MergeFrom(from);
1903}
1904
1905void DescriptorProto::SharedCtor() {
1906  _cached_size_ = 0;
1907  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
1908  options_ = NULL;
1909  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1910}
1911
1912DescriptorProto::~DescriptorProto() {
1913  SharedDtor();
1914}
1915
1916void DescriptorProto::SharedDtor() {
1917  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
1918    delete name_;
1919  }
1920  if (this != default_instance_) {
1921    delete options_;
1922  }
1923}
1924
1925void DescriptorProto::SetCachedSize(int size) const {
1926  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1927  _cached_size_ = size;
1928  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1929}
1930const ::google::protobuf::Descriptor* DescriptorProto::descriptor() {
1931  protobuf_AssignDescriptorsOnce();
1932  return DescriptorProto_descriptor_;
1933}
1934
1935const DescriptorProto& DescriptorProto::default_instance() {
1936  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
1937  return *default_instance_;
1938}
1939
1940DescriptorProto* DescriptorProto::default_instance_ = NULL;
1941
1942DescriptorProto* DescriptorProto::New() const {
1943  return new DescriptorProto;
1944}
1945
1946void DescriptorProto::Clear() {
1947  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1948    if (has_name()) {
1949      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
1950        name_->clear();
1951      }
1952    }
1953    if (has_options()) {
1954      if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
1955    }
1956  }
1957  field_.Clear();
1958  extension_.Clear();
1959  nested_type_.Clear();
1960  enum_type_.Clear();
1961  extension_range_.Clear();
1962  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1963  mutable_unknown_fields()->Clear();
1964}
1965
1966bool DescriptorProto::MergePartialFromCodedStream(
1967    ::google::protobuf::io::CodedInputStream* input) {
1968#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
1969  ::google::protobuf::uint32 tag;
1970  while ((tag = input->ReadTag()) != 0) {
1971    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
1972      // optional string name = 1;
1973      case 1: {
1974        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1975            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1976          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
1977                input, this->mutable_name()));
1978          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1979            this->name().data(), this->name().length(),
1980            ::google::protobuf::internal::WireFormat::PARSE);
1981        } else {
1982          goto handle_uninterpreted;
1983        }
1984        if (input->ExpectTag(18)) goto parse_field;
1985        break;
1986      }
1987
1988      // repeated .google.protobuf.FieldDescriptorProto field = 2;
1989      case 2: {
1990        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1991            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1992         parse_field:
1993          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1994                input, add_field()));
1995        } else {
1996          goto handle_uninterpreted;
1997        }
1998        if (input->ExpectTag(18)) goto parse_field;
1999        if (input->ExpectTag(26)) goto parse_nested_type;
2000        break;
2001      }
2002
2003      // repeated .google.protobuf.DescriptorProto nested_type = 3;
2004      case 3: {
2005        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2006            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2007         parse_nested_type:
2008          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2009                input, add_nested_type()));
2010        } else {
2011          goto handle_uninterpreted;
2012        }
2013        if (input->ExpectTag(26)) goto parse_nested_type;
2014        if (input->ExpectTag(34)) goto parse_enum_type;
2015        break;
2016      }
2017
2018      // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
2019      case 4: {
2020        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2021            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2022         parse_enum_type:
2023          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2024                input, add_enum_type()));
2025        } else {
2026          goto handle_uninterpreted;
2027        }
2028        if (input->ExpectTag(34)) goto parse_enum_type;
2029        if (input->ExpectTag(42)) goto parse_extension_range;
2030        break;
2031      }
2032
2033      // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
2034      case 5: {
2035        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2036            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2037         parse_extension_range:
2038          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2039                input, add_extension_range()));
2040        } else {
2041          goto handle_uninterpreted;
2042        }
2043        if (input->ExpectTag(42)) goto parse_extension_range;
2044        if (input->ExpectTag(50)) goto parse_extension;
2045        break;
2046      }
2047
2048      // repeated .google.protobuf.FieldDescriptorProto extension = 6;
2049      case 6: {
2050        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2051            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2052         parse_extension:
2053          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2054                input, add_extension()));
2055        } else {
2056          goto handle_uninterpreted;
2057        }
2058        if (input->ExpectTag(50)) goto parse_extension;
2059        if (input->ExpectTag(58)) goto parse_options;
2060        break;
2061      }
2062
2063      // optional .google.protobuf.MessageOptions options = 7;
2064      case 7: {
2065        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2066            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2067         parse_options:
2068          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2069               input, mutable_options()));
2070        } else {
2071          goto handle_uninterpreted;
2072        }
2073        if (input->ExpectAtEnd()) return true;
2074        break;
2075      }
2076
2077      default: {
2078      handle_uninterpreted:
2079        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2080            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
2081          return true;
2082        }
2083        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
2084              input, tag, mutable_unknown_fields()));
2085        break;
2086      }
2087    }
2088  }
2089  return true;
2090#undef DO_
2091}
2092
2093void DescriptorProto::SerializeWithCachedSizes(
2094    ::google::protobuf::io::CodedOutputStream* output) const {
2095  // optional string name = 1;
2096  if (has_name()) {
2097    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2098      this->name().data(), this->name().length(),
2099      ::google::protobuf::internal::WireFormat::SERIALIZE);
2100    ::google::protobuf::internal::WireFormatLite::WriteString(
2101      1, this->name(), output);
2102  }
2103
2104  // repeated .google.protobuf.FieldDescriptorProto field = 2;
2105  for (int i = 0; i < this->field_size(); i++) {
2106    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2107      2, this->field(i), output);
2108  }
2109
2110  // repeated .google.protobuf.DescriptorProto nested_type = 3;
2111  for (int i = 0; i < this->nested_type_size(); i++) {
2112    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2113      3, this->nested_type(i), output);
2114  }
2115
2116  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
2117  for (int i = 0; i < this->enum_type_size(); i++) {
2118    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2119      4, this->enum_type(i), output);
2120  }
2121
2122  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
2123  for (int i = 0; i < this->extension_range_size(); i++) {
2124    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2125      5, this->extension_range(i), output);
2126  }
2127
2128  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
2129  for (int i = 0; i < this->extension_size(); i++) {
2130    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2131      6, this->extension(i), output);
2132  }
2133
2134  // optional .google.protobuf.MessageOptions options = 7;
2135  if (has_options()) {
2136    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2137      7, this->options(), output);
2138  }
2139
2140  if (!unknown_fields().empty()) {
2141    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
2142        unknown_fields(), output);
2143  }
2144}
2145
2146::google::protobuf::uint8* DescriptorProto::SerializeWithCachedSizesToArray(
2147    ::google::protobuf::uint8* target) const {
2148  // optional string name = 1;
2149  if (has_name()) {
2150    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2151      this->name().data(), this->name().length(),
2152      ::google::protobuf::internal::WireFormat::SERIALIZE);
2153    target =
2154      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2155        1, this->name(), target);
2156  }
2157
2158  // repeated .google.protobuf.FieldDescriptorProto field = 2;
2159  for (int i = 0; i < this->field_size(); i++) {
2160    target = ::google::protobuf::internal::WireFormatLite::
2161      WriteMessageNoVirtualToArray(
2162        2, this->field(i), target);
2163  }
2164
2165  // repeated .google.protobuf.DescriptorProto nested_type = 3;
2166  for (int i = 0; i < this->nested_type_size(); i++) {
2167    target = ::google::protobuf::internal::WireFormatLite::
2168      WriteMessageNoVirtualToArray(
2169        3, this->nested_type(i), target);
2170  }
2171
2172  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
2173  for (int i = 0; i < this->enum_type_size(); i++) {
2174    target = ::google::protobuf::internal::WireFormatLite::
2175      WriteMessageNoVirtualToArray(
2176        4, this->enum_type(i), target);
2177  }
2178
2179  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
2180  for (int i = 0; i < this->extension_range_size(); i++) {
2181    target = ::google::protobuf::internal::WireFormatLite::
2182      WriteMessageNoVirtualToArray(
2183        5, this->extension_range(i), target);
2184  }
2185
2186  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
2187  for (int i = 0; i < this->extension_size(); i++) {
2188    target = ::google::protobuf::internal::WireFormatLite::
2189      WriteMessageNoVirtualToArray(
2190        6, this->extension(i), target);
2191  }
2192
2193  // optional .google.protobuf.MessageOptions options = 7;
2194  if (has_options()) {
2195    target = ::google::protobuf::internal::WireFormatLite::
2196      WriteMessageNoVirtualToArray(
2197        7, this->options(), target);
2198  }
2199
2200  if (!unknown_fields().empty()) {
2201    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
2202        unknown_fields(), target);
2203  }
2204  return target;
2205}
2206
2207int DescriptorProto::ByteSize() const {
2208  int total_size = 0;
2209
2210  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2211    // optional string name = 1;
2212    if (has_name()) {
2213      total_size += 1 +
2214        ::google::protobuf::internal::WireFormatLite::StringSize(
2215          this->name());
2216    }
2217
2218    // optional .google.protobuf.MessageOptions options = 7;
2219    if (has_options()) {
2220      total_size += 1 +
2221        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2222          this->options());
2223    }
2224
2225  }
2226  // repeated .google.protobuf.FieldDescriptorProto field = 2;
2227  total_size += 1 * this->field_size();
2228  for (int i = 0; i < this->field_size(); i++) {
2229    total_size +=
2230      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2231        this->field(i));
2232  }
2233
2234  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
2235  total_size += 1 * this->extension_size();
2236  for (int i = 0; i < this->extension_size(); i++) {
2237    total_size +=
2238      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2239        this->extension(i));
2240  }
2241
2242  // repeated .google.protobuf.DescriptorProto nested_type = 3;
2243  total_size += 1 * this->nested_type_size();
2244  for (int i = 0; i < this->nested_type_size(); i++) {
2245    total_size +=
2246      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2247        this->nested_type(i));
2248  }
2249
2250  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
2251  total_size += 1 * this->enum_type_size();
2252  for (int i = 0; i < this->enum_type_size(); i++) {
2253    total_size +=
2254      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2255        this->enum_type(i));
2256  }
2257
2258  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
2259  total_size += 1 * this->extension_range_size();
2260  for (int i = 0; i < this->extension_range_size(); i++) {
2261    total_size +=
2262      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2263        this->extension_range(i));
2264  }
2265
2266  if (!unknown_fields().empty()) {
2267    total_size +=
2268      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
2269        unknown_fields());
2270  }
2271  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2272  _cached_size_ = total_size;
2273  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2274  return total_size;
2275}
2276
2277void DescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
2278  GOOGLE_CHECK_NE(&from, this);
2279  const DescriptorProto* source =
2280    ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto*>(
2281      &from);
2282  if (source == NULL) {
2283    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
2284  } else {
2285    MergeFrom(*source);
2286  }
2287}
2288
2289void DescriptorProto::MergeFrom(const DescriptorProto& from) {
2290  GOOGLE_CHECK_NE(&from, this);
2291  field_.MergeFrom(from.field_);
2292  extension_.MergeFrom(from.extension_);
2293  nested_type_.MergeFrom(from.nested_type_);
2294  enum_type_.MergeFrom(from.enum_type_);
2295  extension_range_.MergeFrom(from.extension_range_);
2296  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2297    if (from.has_name()) {
2298      set_name(from.name());
2299    }
2300    if (from.has_options()) {
2301      mutable_options()->::google::protobuf::MessageOptions::MergeFrom(from.options());
2302    }
2303  }
2304  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
2305}
2306
2307void DescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
2308  if (&from == this) return;
2309  Clear();
2310  MergeFrom(from);
2311}
2312
2313void DescriptorProto::CopyFrom(const DescriptorProto& from) {
2314  if (&from == this) return;
2315  Clear();
2316  MergeFrom(from);
2317}
2318
2319bool DescriptorProto::IsInitialized() const {
2320
2321  for (int i = 0; i < field_size(); i++) {
2322    if (!this->field(i).IsInitialized()) return false;
2323  }
2324  for (int i = 0; i < extension_size(); i++) {
2325    if (!this->extension(i).IsInitialized()) return false;
2326  }
2327  for (int i = 0; i < nested_type_size(); i++) {
2328    if (!this->nested_type(i).IsInitialized()) return false;
2329  }
2330  for (int i = 0; i < enum_type_size(); i++) {
2331    if (!this->enum_type(i).IsInitialized()) return false;
2332  }
2333  if (has_options()) {
2334    if (!this->options().IsInitialized()) return false;
2335  }
2336  return true;
2337}
2338
2339void DescriptorProto::Swap(DescriptorProto* other) {
2340  if (other != this) {
2341    std::swap(name_, other->name_);
2342    field_.Swap(&other->field_);
2343    extension_.Swap(&other->extension_);
2344    nested_type_.Swap(&other->nested_type_);
2345    enum_type_.Swap(&other->enum_type_);
2346    extension_range_.Swap(&other->extension_range_);
2347    std::swap(options_, other->options_);
2348    std::swap(_has_bits_[0], other->_has_bits_[0]);
2349    _unknown_fields_.Swap(&other->_unknown_fields_);
2350    std::swap(_cached_size_, other->_cached_size_);
2351  }
2352}
2353
2354::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
2355  protobuf_AssignDescriptorsOnce();
2356  ::google::protobuf::Metadata metadata;
2357  metadata.descriptor = DescriptorProto_descriptor_;
2358  metadata.reflection = DescriptorProto_reflection_;
2359  return metadata;
2360}
2361
2362
2363// ===================================================================
2364
2365const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
2366  protobuf_AssignDescriptorsOnce();
2367  return FieldDescriptorProto_Type_descriptor_;
2368}
2369bool FieldDescriptorProto_Type_IsValid(int value) {
2370  switch(value) {
2371    case 1:
2372    case 2:
2373    case 3:
2374    case 4:
2375    case 5:
2376    case 6:
2377    case 7:
2378    case 8:
2379    case 9:
2380    case 10:
2381    case 11:
2382    case 12:
2383    case 13:
2384    case 14:
2385    case 15:
2386    case 16:
2387    case 17:
2388    case 18:
2389      return true;
2390    default:
2391      return false;
2392  }
2393}
2394
2395#ifndef _MSC_VER
2396const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
2397const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
2398const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
2399const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
2400const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
2401const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
2402const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
2403const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
2404const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
2405const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
2406const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
2407const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
2408const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
2409const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
2410const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
2411const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
2412const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
2413const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
2414const FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
2415const FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
2416const int FieldDescriptorProto::Type_ARRAYSIZE;
2417#endif  // _MSC_VER
2418const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
2419  protobuf_AssignDescriptorsOnce();
2420  return FieldDescriptorProto_Label_descriptor_;
2421}
2422bool FieldDescriptorProto_Label_IsValid(int value) {
2423  switch(value) {
2424    case 1:
2425    case 2:
2426    case 3:
2427      return true;
2428    default:
2429      return false;
2430  }
2431}
2432
2433#ifndef _MSC_VER
2434const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
2435const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
2436const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
2437const FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
2438const FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
2439const int FieldDescriptorProto::Label_ARRAYSIZE;
2440#endif  // _MSC_VER
2441#ifndef _MSC_VER
2442const int FieldDescriptorProto::kNameFieldNumber;
2443const int FieldDescriptorProto::kNumberFieldNumber;
2444const int FieldDescriptorProto::kLabelFieldNumber;
2445const int FieldDescriptorProto::kTypeFieldNumber;
2446const int FieldDescriptorProto::kTypeNameFieldNumber;
2447const int FieldDescriptorProto::kExtendeeFieldNumber;
2448const int FieldDescriptorProto::kDefaultValueFieldNumber;
2449const int FieldDescriptorProto::kOptionsFieldNumber;
2450#endif  // !_MSC_VER
2451
2452FieldDescriptorProto::FieldDescriptorProto()
2453  : ::google::protobuf::Message() {
2454  SharedCtor();
2455}
2456
2457void FieldDescriptorProto::InitAsDefaultInstance() {
2458  options_ = const_cast< ::google::protobuf::FieldOptions*>(&::google::protobuf::FieldOptions::default_instance());
2459}
2460
2461FieldDescriptorProto::FieldDescriptorProto(const FieldDescriptorProto& from)
2462  : ::google::protobuf::Message() {
2463  SharedCtor();
2464  MergeFrom(from);
2465}
2466
2467void FieldDescriptorProto::SharedCtor() {
2468  _cached_size_ = 0;
2469  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
2470  number_ = 0;
2471  label_ = 1;
2472  type_ = 1;
2473  type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
2474  extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
2475  default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
2476  options_ = NULL;
2477  ::memset(_has_bits_, 0, sizeof(_has_bits_));
2478}
2479
2480FieldDescriptorProto::~FieldDescriptorProto() {
2481  SharedDtor();
2482}
2483
2484void FieldDescriptorProto::SharedDtor() {
2485  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
2486    delete name_;
2487  }
2488  if (type_name_ != &::google::protobuf::internal::GetEmptyString()) {
2489    delete type_name_;
2490  }
2491  if (extendee_ != &::google::protobuf::internal::GetEmptyString()) {
2492    delete extendee_;
2493  }
2494  if (default_value_ != &::google::protobuf::internal::GetEmptyString()) {
2495    delete default_value_;
2496  }
2497  if (this != default_instance_) {
2498    delete options_;
2499  }
2500}
2501
2502void FieldDescriptorProto::SetCachedSize(int size) const {
2503  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2504  _cached_size_ = size;
2505  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2506}
2507const ::google::protobuf::Descriptor* FieldDescriptorProto::descriptor() {
2508  protobuf_AssignDescriptorsOnce();
2509  return FieldDescriptorProto_descriptor_;
2510}
2511
2512const FieldDescriptorProto& FieldDescriptorProto::default_instance() {
2513  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
2514  return *default_instance_;
2515}
2516
2517FieldDescriptorProto* FieldDescriptorProto::default_instance_ = NULL;
2518
2519FieldDescriptorProto* FieldDescriptorProto::New() const {
2520  return new FieldDescriptorProto;
2521}
2522
2523void FieldDescriptorProto::Clear() {
2524  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2525    if (has_name()) {
2526      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
2527        name_->clear();
2528      }
2529    }
2530    number_ = 0;
2531    label_ = 1;
2532    type_ = 1;
2533    if (has_type_name()) {
2534      if (type_name_ != &::google::protobuf::internal::GetEmptyString()) {
2535        type_name_->clear();
2536      }
2537    }
2538    if (has_extendee()) {
2539      if (extendee_ != &::google::protobuf::internal::GetEmptyString()) {
2540        extendee_->clear();
2541      }
2542    }
2543    if (has_default_value()) {
2544      if (default_value_ != &::google::protobuf::internal::GetEmptyString()) {
2545        default_value_->clear();
2546      }
2547    }
2548    if (has_options()) {
2549      if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
2550    }
2551  }
2552  ::memset(_has_bits_, 0, sizeof(_has_bits_));
2553  mutable_unknown_fields()->Clear();
2554}
2555
2556bool FieldDescriptorProto::MergePartialFromCodedStream(
2557    ::google::protobuf::io::CodedInputStream* input) {
2558#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
2559  ::google::protobuf::uint32 tag;
2560  while ((tag = input->ReadTag()) != 0) {
2561    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
2562      // optional string name = 1;
2563      case 1: {
2564        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2565            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2566          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2567                input, this->mutable_name()));
2568          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2569            this->name().data(), this->name().length(),
2570            ::google::protobuf::internal::WireFormat::PARSE);
2571        } else {
2572          goto handle_uninterpreted;
2573        }
2574        if (input->ExpectTag(18)) goto parse_extendee;
2575        break;
2576      }
2577
2578      // optional string extendee = 2;
2579      case 2: {
2580        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2581            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2582         parse_extendee:
2583          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2584                input, this->mutable_extendee()));
2585          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2586            this->extendee().data(), this->extendee().length(),
2587            ::google::protobuf::internal::WireFormat::PARSE);
2588        } else {
2589          goto handle_uninterpreted;
2590        }
2591        if (input->ExpectTag(24)) goto parse_number;
2592        break;
2593      }
2594
2595      // optional int32 number = 3;
2596      case 3: {
2597        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2598            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
2599         parse_number:
2600          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
2601                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
2602                 input, &number_)));
2603          set_has_number();
2604        } else {
2605          goto handle_uninterpreted;
2606        }
2607        if (input->ExpectTag(32)) goto parse_label;
2608        break;
2609      }
2610
2611      // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2612      case 4: {
2613        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2614            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
2615         parse_label:
2616          int value;
2617          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
2618                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
2619                 input, &value)));
2620          if (::google::protobuf::FieldDescriptorProto_Label_IsValid(value)) {
2621            set_label(static_cast< ::google::protobuf::FieldDescriptorProto_Label >(value));
2622          } else {
2623            mutable_unknown_fields()->AddVarint(4, value);
2624          }
2625        } else {
2626          goto handle_uninterpreted;
2627        }
2628        if (input->ExpectTag(40)) goto parse_type;
2629        break;
2630      }
2631
2632      // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2633      case 5: {
2634        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2635            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
2636         parse_type:
2637          int value;
2638          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
2639                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
2640                 input, &value)));
2641          if (::google::protobuf::FieldDescriptorProto_Type_IsValid(value)) {
2642            set_type(static_cast< ::google::protobuf::FieldDescriptorProto_Type >(value));
2643          } else {
2644            mutable_unknown_fields()->AddVarint(5, value);
2645          }
2646        } else {
2647          goto handle_uninterpreted;
2648        }
2649        if (input->ExpectTag(50)) goto parse_type_name;
2650        break;
2651      }
2652
2653      // optional string type_name = 6;
2654      case 6: {
2655        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2656            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2657         parse_type_name:
2658          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2659                input, this->mutable_type_name()));
2660          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2661            this->type_name().data(), this->type_name().length(),
2662            ::google::protobuf::internal::WireFormat::PARSE);
2663        } else {
2664          goto handle_uninterpreted;
2665        }
2666        if (input->ExpectTag(58)) goto parse_default_value;
2667        break;
2668      }
2669
2670      // optional string default_value = 7;
2671      case 7: {
2672        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2673            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2674         parse_default_value:
2675          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2676                input, this->mutable_default_value()));
2677          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2678            this->default_value().data(), this->default_value().length(),
2679            ::google::protobuf::internal::WireFormat::PARSE);
2680        } else {
2681          goto handle_uninterpreted;
2682        }
2683        if (input->ExpectTag(66)) goto parse_options;
2684        break;
2685      }
2686
2687      // optional .google.protobuf.FieldOptions options = 8;
2688      case 8: {
2689        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2690            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2691         parse_options:
2692          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2693               input, mutable_options()));
2694        } else {
2695          goto handle_uninterpreted;
2696        }
2697        if (input->ExpectAtEnd()) return true;
2698        break;
2699      }
2700
2701      default: {
2702      handle_uninterpreted:
2703        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2704            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
2705          return true;
2706        }
2707        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
2708              input, tag, mutable_unknown_fields()));
2709        break;
2710      }
2711    }
2712  }
2713  return true;
2714#undef DO_
2715}
2716
2717void FieldDescriptorProto::SerializeWithCachedSizes(
2718    ::google::protobuf::io::CodedOutputStream* output) const {
2719  // optional string name = 1;
2720  if (has_name()) {
2721    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2722      this->name().data(), this->name().length(),
2723      ::google::protobuf::internal::WireFormat::SERIALIZE);
2724    ::google::protobuf::internal::WireFormatLite::WriteString(
2725      1, this->name(), output);
2726  }
2727
2728  // optional string extendee = 2;
2729  if (has_extendee()) {
2730    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2731      this->extendee().data(), this->extendee().length(),
2732      ::google::protobuf::internal::WireFormat::SERIALIZE);
2733    ::google::protobuf::internal::WireFormatLite::WriteString(
2734      2, this->extendee(), output);
2735  }
2736
2737  // optional int32 number = 3;
2738  if (has_number()) {
2739    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->number(), output);
2740  }
2741
2742  // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2743  if (has_label()) {
2744    ::google::protobuf::internal::WireFormatLite::WriteEnum(
2745      4, this->label(), output);
2746  }
2747
2748  // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2749  if (has_type()) {
2750    ::google::protobuf::internal::WireFormatLite::WriteEnum(
2751      5, this->type(), output);
2752  }
2753
2754  // optional string type_name = 6;
2755  if (has_type_name()) {
2756    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2757      this->type_name().data(), this->type_name().length(),
2758      ::google::protobuf::internal::WireFormat::SERIALIZE);
2759    ::google::protobuf::internal::WireFormatLite::WriteString(
2760      6, this->type_name(), output);
2761  }
2762
2763  // optional string default_value = 7;
2764  if (has_default_value()) {
2765    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2766      this->default_value().data(), this->default_value().length(),
2767      ::google::protobuf::internal::WireFormat::SERIALIZE);
2768    ::google::protobuf::internal::WireFormatLite::WriteString(
2769      7, this->default_value(), output);
2770  }
2771
2772  // optional .google.protobuf.FieldOptions options = 8;
2773  if (has_options()) {
2774    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2775      8, this->options(), output);
2776  }
2777
2778  if (!unknown_fields().empty()) {
2779    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
2780        unknown_fields(), output);
2781  }
2782}
2783
2784::google::protobuf::uint8* FieldDescriptorProto::SerializeWithCachedSizesToArray(
2785    ::google::protobuf::uint8* target) const {
2786  // optional string name = 1;
2787  if (has_name()) {
2788    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2789      this->name().data(), this->name().length(),
2790      ::google::protobuf::internal::WireFormat::SERIALIZE);
2791    target =
2792      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2793        1, this->name(), target);
2794  }
2795
2796  // optional string extendee = 2;
2797  if (has_extendee()) {
2798    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2799      this->extendee().data(), this->extendee().length(),
2800      ::google::protobuf::internal::WireFormat::SERIALIZE);
2801    target =
2802      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2803        2, this->extendee(), target);
2804  }
2805
2806  // optional int32 number = 3;
2807  if (has_number()) {
2808    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->number(), target);
2809  }
2810
2811  // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2812  if (has_label()) {
2813    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
2814      4, this->label(), target);
2815  }
2816
2817  // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2818  if (has_type()) {
2819    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
2820      5, this->type(), target);
2821  }
2822
2823  // optional string type_name = 6;
2824  if (has_type_name()) {
2825    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2826      this->type_name().data(), this->type_name().length(),
2827      ::google::protobuf::internal::WireFormat::SERIALIZE);
2828    target =
2829      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2830        6, this->type_name(), target);
2831  }
2832
2833  // optional string default_value = 7;
2834  if (has_default_value()) {
2835    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2836      this->default_value().data(), this->default_value().length(),
2837      ::google::protobuf::internal::WireFormat::SERIALIZE);
2838    target =
2839      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2840        7, this->default_value(), target);
2841  }
2842
2843  // optional .google.protobuf.FieldOptions options = 8;
2844  if (has_options()) {
2845    target = ::google::protobuf::internal::WireFormatLite::
2846      WriteMessageNoVirtualToArray(
2847        8, this->options(), target);
2848  }
2849
2850  if (!unknown_fields().empty()) {
2851    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
2852        unknown_fields(), target);
2853  }
2854  return target;
2855}
2856
2857int FieldDescriptorProto::ByteSize() const {
2858  int total_size = 0;
2859
2860  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2861    // optional string name = 1;
2862    if (has_name()) {
2863      total_size += 1 +
2864        ::google::protobuf::internal::WireFormatLite::StringSize(
2865          this->name());
2866    }
2867
2868    // optional int32 number = 3;
2869    if (has_number()) {
2870      total_size += 1 +
2871        ::google::protobuf::internal::WireFormatLite::Int32Size(
2872          this->number());
2873    }
2874
2875    // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2876    if (has_label()) {
2877      total_size += 1 +
2878        ::google::protobuf::internal::WireFormatLite::EnumSize(this->label());
2879    }
2880
2881    // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2882    if (has_type()) {
2883      total_size += 1 +
2884        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
2885    }
2886
2887    // optional string type_name = 6;
2888    if (has_type_name()) {
2889      total_size += 1 +
2890        ::google::protobuf::internal::WireFormatLite::StringSize(
2891          this->type_name());
2892    }
2893
2894    // optional string extendee = 2;
2895    if (has_extendee()) {
2896      total_size += 1 +
2897        ::google::protobuf::internal::WireFormatLite::StringSize(
2898          this->extendee());
2899    }
2900
2901    // optional string default_value = 7;
2902    if (has_default_value()) {
2903      total_size += 1 +
2904        ::google::protobuf::internal::WireFormatLite::StringSize(
2905          this->default_value());
2906    }
2907
2908    // optional .google.protobuf.FieldOptions options = 8;
2909    if (has_options()) {
2910      total_size += 1 +
2911        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2912          this->options());
2913    }
2914
2915  }
2916  if (!unknown_fields().empty()) {
2917    total_size +=
2918      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
2919        unknown_fields());
2920  }
2921  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2922  _cached_size_ = total_size;
2923  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2924  return total_size;
2925}
2926
2927void FieldDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
2928  GOOGLE_CHECK_NE(&from, this);
2929  const FieldDescriptorProto* source =
2930    ::google::protobuf::internal::dynamic_cast_if_available<const FieldDescriptorProto*>(
2931      &from);
2932  if (source == NULL) {
2933    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
2934  } else {
2935    MergeFrom(*source);
2936  }
2937}
2938
2939void FieldDescriptorProto::MergeFrom(const FieldDescriptorProto& from) {
2940  GOOGLE_CHECK_NE(&from, this);
2941  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2942    if (from.has_name()) {
2943      set_name(from.name());
2944    }
2945    if (from.has_number()) {
2946      set_number(from.number());
2947    }
2948    if (from.has_label()) {
2949      set_label(from.label());
2950    }
2951    if (from.has_type()) {
2952      set_type(from.type());
2953    }
2954    if (from.has_type_name()) {
2955      set_type_name(from.type_name());
2956    }
2957    if (from.has_extendee()) {
2958      set_extendee(from.extendee());
2959    }
2960    if (from.has_default_value()) {
2961      set_default_value(from.default_value());
2962    }
2963    if (from.has_options()) {
2964      mutable_options()->::google::protobuf::FieldOptions::MergeFrom(from.options());
2965    }
2966  }
2967  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
2968}
2969
2970void FieldDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
2971  if (&from == this) return;
2972  Clear();
2973  MergeFrom(from);
2974}
2975
2976void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
2977  if (&from == this) return;
2978  Clear();
2979  MergeFrom(from);
2980}
2981
2982bool FieldDescriptorProto::IsInitialized() const {
2983
2984  if (has_options()) {
2985    if (!this->options().IsInitialized()) return false;
2986  }
2987  return true;
2988}
2989
2990void FieldDescriptorProto::Swap(FieldDescriptorProto* other) {
2991  if (other != this) {
2992    std::swap(name_, other->name_);
2993    std::swap(number_, other->number_);
2994    std::swap(label_, other->label_);
2995    std::swap(type_, other->type_);
2996    std::swap(type_name_, other->type_name_);
2997    std::swap(extendee_, other->extendee_);
2998    std::swap(default_value_, other->default_value_);
2999    std::swap(options_, other->options_);
3000    std::swap(_has_bits_[0], other->_has_bits_[0]);
3001    _unknown_fields_.Swap(&other->_unknown_fields_);
3002    std::swap(_cached_size_, other->_cached_size_);
3003  }
3004}
3005
3006::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
3007  protobuf_AssignDescriptorsOnce();
3008  ::google::protobuf::Metadata metadata;
3009  metadata.descriptor = FieldDescriptorProto_descriptor_;
3010  metadata.reflection = FieldDescriptorProto_reflection_;
3011  return metadata;
3012}
3013
3014
3015// ===================================================================
3016
3017#ifndef _MSC_VER
3018const int EnumDescriptorProto::kNameFieldNumber;
3019const int EnumDescriptorProto::kValueFieldNumber;
3020const int EnumDescriptorProto::kOptionsFieldNumber;
3021#endif  // !_MSC_VER
3022
3023EnumDescriptorProto::EnumDescriptorProto()
3024  : ::google::protobuf::Message() {
3025  SharedCtor();
3026}
3027
3028void EnumDescriptorProto::InitAsDefaultInstance() {
3029  options_ = const_cast< ::google::protobuf::EnumOptions*>(&::google::protobuf::EnumOptions::default_instance());
3030}
3031
3032EnumDescriptorProto::EnumDescriptorProto(const EnumDescriptorProto& from)
3033  : ::google::protobuf::Message() {
3034  SharedCtor();
3035  MergeFrom(from);
3036}
3037
3038void EnumDescriptorProto::SharedCtor() {
3039  _cached_size_ = 0;
3040  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
3041  options_ = NULL;
3042  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3043}
3044
3045EnumDescriptorProto::~EnumDescriptorProto() {
3046  SharedDtor();
3047}
3048
3049void EnumDescriptorProto::SharedDtor() {
3050  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3051    delete name_;
3052  }
3053  if (this != default_instance_) {
3054    delete options_;
3055  }
3056}
3057
3058void EnumDescriptorProto::SetCachedSize(int size) const {
3059  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3060  _cached_size_ = size;
3061  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3062}
3063const ::google::protobuf::Descriptor* EnumDescriptorProto::descriptor() {
3064  protobuf_AssignDescriptorsOnce();
3065  return EnumDescriptorProto_descriptor_;
3066}
3067
3068const EnumDescriptorProto& EnumDescriptorProto::default_instance() {
3069  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
3070  return *default_instance_;
3071}
3072
3073EnumDescriptorProto* EnumDescriptorProto::default_instance_ = NULL;
3074
3075EnumDescriptorProto* EnumDescriptorProto::New() const {
3076  return new EnumDescriptorProto;
3077}
3078
3079void EnumDescriptorProto::Clear() {
3080  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3081    if (has_name()) {
3082      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3083        name_->clear();
3084      }
3085    }
3086    if (has_options()) {
3087      if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
3088    }
3089  }
3090  value_.Clear();
3091  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3092  mutable_unknown_fields()->Clear();
3093}
3094
3095bool EnumDescriptorProto::MergePartialFromCodedStream(
3096    ::google::protobuf::io::CodedInputStream* input) {
3097#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
3098  ::google::protobuf::uint32 tag;
3099  while ((tag = input->ReadTag()) != 0) {
3100    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3101      // optional string name = 1;
3102      case 1: {
3103        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3104            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3105          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3106                input, this->mutable_name()));
3107          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3108            this->name().data(), this->name().length(),
3109            ::google::protobuf::internal::WireFormat::PARSE);
3110        } else {
3111          goto handle_uninterpreted;
3112        }
3113        if (input->ExpectTag(18)) goto parse_value;
3114        break;
3115      }
3116
3117      // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
3118      case 2: {
3119        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3120            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3121         parse_value:
3122          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3123                input, add_value()));
3124        } else {
3125          goto handle_uninterpreted;
3126        }
3127        if (input->ExpectTag(18)) goto parse_value;
3128        if (input->ExpectTag(26)) goto parse_options;
3129        break;
3130      }
3131
3132      // optional .google.protobuf.EnumOptions options = 3;
3133      case 3: {
3134        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3135            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3136         parse_options:
3137          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3138               input, mutable_options()));
3139        } else {
3140          goto handle_uninterpreted;
3141        }
3142        if (input->ExpectAtEnd()) return true;
3143        break;
3144      }
3145
3146      default: {
3147      handle_uninterpreted:
3148        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3149            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3150          return true;
3151        }
3152        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
3153              input, tag, mutable_unknown_fields()));
3154        break;
3155      }
3156    }
3157  }
3158  return true;
3159#undef DO_
3160}
3161
3162void EnumDescriptorProto::SerializeWithCachedSizes(
3163    ::google::protobuf::io::CodedOutputStream* output) const {
3164  // optional string name = 1;
3165  if (has_name()) {
3166    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3167      this->name().data(), this->name().length(),
3168      ::google::protobuf::internal::WireFormat::SERIALIZE);
3169    ::google::protobuf::internal::WireFormatLite::WriteString(
3170      1, this->name(), output);
3171  }
3172
3173  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
3174  for (int i = 0; i < this->value_size(); i++) {
3175    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3176      2, this->value(i), output);
3177  }
3178
3179  // optional .google.protobuf.EnumOptions options = 3;
3180  if (has_options()) {
3181    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3182      3, this->options(), output);
3183  }
3184
3185  if (!unknown_fields().empty()) {
3186    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
3187        unknown_fields(), output);
3188  }
3189}
3190
3191::google::protobuf::uint8* EnumDescriptorProto::SerializeWithCachedSizesToArray(
3192    ::google::protobuf::uint8* target) const {
3193  // optional string name = 1;
3194  if (has_name()) {
3195    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3196      this->name().data(), this->name().length(),
3197      ::google::protobuf::internal::WireFormat::SERIALIZE);
3198    target =
3199      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3200        1, this->name(), target);
3201  }
3202
3203  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
3204  for (int i = 0; i < this->value_size(); i++) {
3205    target = ::google::protobuf::internal::WireFormatLite::
3206      WriteMessageNoVirtualToArray(
3207        2, this->value(i), target);
3208  }
3209
3210  // optional .google.protobuf.EnumOptions options = 3;
3211  if (has_options()) {
3212    target = ::google::protobuf::internal::WireFormatLite::
3213      WriteMessageNoVirtualToArray(
3214        3, this->options(), target);
3215  }
3216
3217  if (!unknown_fields().empty()) {
3218    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
3219        unknown_fields(), target);
3220  }
3221  return target;
3222}
3223
3224int EnumDescriptorProto::ByteSize() const {
3225  int total_size = 0;
3226
3227  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3228    // optional string name = 1;
3229    if (has_name()) {
3230      total_size += 1 +
3231        ::google::protobuf::internal::WireFormatLite::StringSize(
3232          this->name());
3233    }
3234
3235    // optional .google.protobuf.EnumOptions options = 3;
3236    if (has_options()) {
3237      total_size += 1 +
3238        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3239          this->options());
3240    }
3241
3242  }
3243  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
3244  total_size += 1 * this->value_size();
3245  for (int i = 0; i < this->value_size(); i++) {
3246    total_size +=
3247      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3248        this->value(i));
3249  }
3250
3251  if (!unknown_fields().empty()) {
3252    total_size +=
3253      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
3254        unknown_fields());
3255  }
3256  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3257  _cached_size_ = total_size;
3258  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3259  return total_size;
3260}
3261
3262void EnumDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
3263  GOOGLE_CHECK_NE(&from, this);
3264  const EnumDescriptorProto* source =
3265    ::google::protobuf::internal::dynamic_cast_if_available<const EnumDescriptorProto*>(
3266      &from);
3267  if (source == NULL) {
3268    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3269  } else {
3270    MergeFrom(*source);
3271  }
3272}
3273
3274void EnumDescriptorProto::MergeFrom(const EnumDescriptorProto& from) {
3275  GOOGLE_CHECK_NE(&from, this);
3276  value_.MergeFrom(from.value_);
3277  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3278    if (from.has_name()) {
3279      set_name(from.name());
3280    }
3281    if (from.has_options()) {
3282      mutable_options()->::google::protobuf::EnumOptions::MergeFrom(from.options());
3283    }
3284  }
3285  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
3286}
3287
3288void EnumDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
3289  if (&from == this) return;
3290  Clear();
3291  MergeFrom(from);
3292}
3293
3294void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
3295  if (&from == this) return;
3296  Clear();
3297  MergeFrom(from);
3298}
3299
3300bool EnumDescriptorProto::IsInitialized() const {
3301
3302  for (int i = 0; i < value_size(); i++) {
3303    if (!this->value(i).IsInitialized()) return false;
3304  }
3305  if (has_options()) {
3306    if (!this->options().IsInitialized()) return false;
3307  }
3308  return true;
3309}
3310
3311void EnumDescriptorProto::Swap(EnumDescriptorProto* other) {
3312  if (other != this) {
3313    std::swap(name_, other->name_);
3314    value_.Swap(&other->value_);
3315    std::swap(options_, other->options_);
3316    std::swap(_has_bits_[0], other->_has_bits_[0]);
3317    _unknown_fields_.Swap(&other->_unknown_fields_);
3318    std::swap(_cached_size_, other->_cached_size_);
3319  }
3320}
3321
3322::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
3323  protobuf_AssignDescriptorsOnce();
3324  ::google::protobuf::Metadata metadata;
3325  metadata.descriptor = EnumDescriptorProto_descriptor_;
3326  metadata.reflection = EnumDescriptorProto_reflection_;
3327  return metadata;
3328}
3329
3330
3331// ===================================================================
3332
3333#ifndef _MSC_VER
3334const int EnumValueDescriptorProto::kNameFieldNumber;
3335const int EnumValueDescriptorProto::kNumberFieldNumber;
3336const int EnumValueDescriptorProto::kOptionsFieldNumber;
3337#endif  // !_MSC_VER
3338
3339EnumValueDescriptorProto::EnumValueDescriptorProto()
3340  : ::google::protobuf::Message() {
3341  SharedCtor();
3342}
3343
3344void EnumValueDescriptorProto::InitAsDefaultInstance() {
3345  options_ = const_cast< ::google::protobuf::EnumValueOptions*>(&::google::protobuf::EnumValueOptions::default_instance());
3346}
3347
3348EnumValueDescriptorProto::EnumValueDescriptorProto(const EnumValueDescriptorProto& from)
3349  : ::google::protobuf::Message() {
3350  SharedCtor();
3351  MergeFrom(from);
3352}
3353
3354void EnumValueDescriptorProto::SharedCtor() {
3355  _cached_size_ = 0;
3356  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
3357  number_ = 0;
3358  options_ = NULL;
3359  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3360}
3361
3362EnumValueDescriptorProto::~EnumValueDescriptorProto() {
3363  SharedDtor();
3364}
3365
3366void EnumValueDescriptorProto::SharedDtor() {
3367  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3368    delete name_;
3369  }
3370  if (this != default_instance_) {
3371    delete options_;
3372  }
3373}
3374
3375void EnumValueDescriptorProto::SetCachedSize(int size) const {
3376  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3377  _cached_size_ = size;
3378  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3379}
3380const ::google::protobuf::Descriptor* EnumValueDescriptorProto::descriptor() {
3381  protobuf_AssignDescriptorsOnce();
3382  return EnumValueDescriptorProto_descriptor_;
3383}
3384
3385const EnumValueDescriptorProto& EnumValueDescriptorProto::default_instance() {
3386  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
3387  return *default_instance_;
3388}
3389
3390EnumValueDescriptorProto* EnumValueDescriptorProto::default_instance_ = NULL;
3391
3392EnumValueDescriptorProto* EnumValueDescriptorProto::New() const {
3393  return new EnumValueDescriptorProto;
3394}
3395
3396void EnumValueDescriptorProto::Clear() {
3397  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3398    if (has_name()) {
3399      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3400        name_->clear();
3401      }
3402    }
3403    number_ = 0;
3404    if (has_options()) {
3405      if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
3406    }
3407  }
3408  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3409  mutable_unknown_fields()->Clear();
3410}
3411
3412bool EnumValueDescriptorProto::MergePartialFromCodedStream(
3413    ::google::protobuf::io::CodedInputStream* input) {
3414#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
3415  ::google::protobuf::uint32 tag;
3416  while ((tag = input->ReadTag()) != 0) {
3417    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3418      // optional string name = 1;
3419      case 1: {
3420        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3421            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3422          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3423                input, this->mutable_name()));
3424          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3425            this->name().data(), this->name().length(),
3426            ::google::protobuf::internal::WireFormat::PARSE);
3427        } else {
3428          goto handle_uninterpreted;
3429        }
3430        if (input->ExpectTag(16)) goto parse_number;
3431        break;
3432      }
3433
3434      // optional int32 number = 2;
3435      case 2: {
3436        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3437            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
3438         parse_number:
3439          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3440                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3441                 input, &number_)));
3442          set_has_number();
3443        } else {
3444          goto handle_uninterpreted;
3445        }
3446        if (input->ExpectTag(26)) goto parse_options;
3447        break;
3448      }
3449
3450      // optional .google.protobuf.EnumValueOptions options = 3;
3451      case 3: {
3452        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3453            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3454         parse_options:
3455          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3456               input, mutable_options()));
3457        } else {
3458          goto handle_uninterpreted;
3459        }
3460        if (input->ExpectAtEnd()) return true;
3461        break;
3462      }
3463
3464      default: {
3465      handle_uninterpreted:
3466        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3467            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3468          return true;
3469        }
3470        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
3471              input, tag, mutable_unknown_fields()));
3472        break;
3473      }
3474    }
3475  }
3476  return true;
3477#undef DO_
3478}
3479
3480void EnumValueDescriptorProto::SerializeWithCachedSizes(
3481    ::google::protobuf::io::CodedOutputStream* output) const {
3482  // optional string name = 1;
3483  if (has_name()) {
3484    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3485      this->name().data(), this->name().length(),
3486      ::google::protobuf::internal::WireFormat::SERIALIZE);
3487    ::google::protobuf::internal::WireFormatLite::WriteString(
3488      1, this->name(), output);
3489  }
3490
3491  // optional int32 number = 2;
3492  if (has_number()) {
3493    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->number(), output);
3494  }
3495
3496  // optional .google.protobuf.EnumValueOptions options = 3;
3497  if (has_options()) {
3498    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3499      3, this->options(), output);
3500  }
3501
3502  if (!unknown_fields().empty()) {
3503    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
3504        unknown_fields(), output);
3505  }
3506}
3507
3508::google::protobuf::uint8* EnumValueDescriptorProto::SerializeWithCachedSizesToArray(
3509    ::google::protobuf::uint8* target) const {
3510  // optional string name = 1;
3511  if (has_name()) {
3512    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3513      this->name().data(), this->name().length(),
3514      ::google::protobuf::internal::WireFormat::SERIALIZE);
3515    target =
3516      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3517        1, this->name(), target);
3518  }
3519
3520  // optional int32 number = 2;
3521  if (has_number()) {
3522    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->number(), target);
3523  }
3524
3525  // optional .google.protobuf.EnumValueOptions options = 3;
3526  if (has_options()) {
3527    target = ::google::protobuf::internal::WireFormatLite::
3528      WriteMessageNoVirtualToArray(
3529        3, this->options(), target);
3530  }
3531
3532  if (!unknown_fields().empty()) {
3533    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
3534        unknown_fields(), target);
3535  }
3536  return target;
3537}
3538
3539int EnumValueDescriptorProto::ByteSize() const {
3540  int total_size = 0;
3541
3542  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3543    // optional string name = 1;
3544    if (has_name()) {
3545      total_size += 1 +
3546        ::google::protobuf::internal::WireFormatLite::StringSize(
3547          this->name());
3548    }
3549
3550    // optional int32 number = 2;
3551    if (has_number()) {
3552      total_size += 1 +
3553        ::google::protobuf::internal::WireFormatLite::Int32Size(
3554          this->number());
3555    }
3556
3557    // optional .google.protobuf.EnumValueOptions options = 3;
3558    if (has_options()) {
3559      total_size += 1 +
3560        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3561          this->options());
3562    }
3563
3564  }
3565  if (!unknown_fields().empty()) {
3566    total_size +=
3567      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
3568        unknown_fields());
3569  }
3570  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3571  _cached_size_ = total_size;
3572  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3573  return total_size;
3574}
3575
3576void EnumValueDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
3577  GOOGLE_CHECK_NE(&from, this);
3578  const EnumValueDescriptorProto* source =
3579    ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueDescriptorProto*>(
3580      &from);
3581  if (source == NULL) {
3582    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3583  } else {
3584    MergeFrom(*source);
3585  }
3586}
3587
3588void EnumValueDescriptorProto::MergeFrom(const EnumValueDescriptorProto& from) {
3589  GOOGLE_CHECK_NE(&from, this);
3590  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3591    if (from.has_name()) {
3592      set_name(from.name());
3593    }
3594    if (from.has_number()) {
3595      set_number(from.number());
3596    }
3597    if (from.has_options()) {
3598      mutable_options()->::google::protobuf::EnumValueOptions::MergeFrom(from.options());
3599    }
3600  }
3601  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
3602}
3603
3604void EnumValueDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
3605  if (&from == this) return;
3606  Clear();
3607  MergeFrom(from);
3608}
3609
3610void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
3611  if (&from == this) return;
3612  Clear();
3613  MergeFrom(from);
3614}
3615
3616bool EnumValueDescriptorProto::IsInitialized() const {
3617
3618  if (has_options()) {
3619    if (!this->options().IsInitialized()) return false;
3620  }
3621  return true;
3622}
3623
3624void EnumValueDescriptorProto::Swap(EnumValueDescriptorProto* other) {
3625  if (other != this) {
3626    std::swap(name_, other->name_);
3627    std::swap(number_, other->number_);
3628    std::swap(options_, other->options_);
3629    std::swap(_has_bits_[0], other->_has_bits_[0]);
3630    _unknown_fields_.Swap(&other->_unknown_fields_);
3631    std::swap(_cached_size_, other->_cached_size_);
3632  }
3633}
3634
3635::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
3636  protobuf_AssignDescriptorsOnce();
3637  ::google::protobuf::Metadata metadata;
3638  metadata.descriptor = EnumValueDescriptorProto_descriptor_;
3639  metadata.reflection = EnumValueDescriptorProto_reflection_;
3640  return metadata;
3641}
3642
3643
3644// ===================================================================
3645
3646#ifndef _MSC_VER
3647const int ServiceDescriptorProto::kNameFieldNumber;
3648const int ServiceDescriptorProto::kMethodFieldNumber;
3649const int ServiceDescriptorProto::kOptionsFieldNumber;
3650#endif  // !_MSC_VER
3651
3652ServiceDescriptorProto::ServiceDescriptorProto()
3653  : ::google::protobuf::Message() {
3654  SharedCtor();
3655}
3656
3657void ServiceDescriptorProto::InitAsDefaultInstance() {
3658  options_ = const_cast< ::google::protobuf::ServiceOptions*>(&::google::protobuf::ServiceOptions::default_instance());
3659}
3660
3661ServiceDescriptorProto::ServiceDescriptorProto(const ServiceDescriptorProto& from)
3662  : ::google::protobuf::Message() {
3663  SharedCtor();
3664  MergeFrom(from);
3665}
3666
3667void ServiceDescriptorProto::SharedCtor() {
3668  _cached_size_ = 0;
3669  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
3670  options_ = NULL;
3671  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3672}
3673
3674ServiceDescriptorProto::~ServiceDescriptorProto() {
3675  SharedDtor();
3676}
3677
3678void ServiceDescriptorProto::SharedDtor() {
3679  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3680    delete name_;
3681  }
3682  if (this != default_instance_) {
3683    delete options_;
3684  }
3685}
3686
3687void ServiceDescriptorProto::SetCachedSize(int size) const {
3688  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3689  _cached_size_ = size;
3690  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3691}
3692const ::google::protobuf::Descriptor* ServiceDescriptorProto::descriptor() {
3693  protobuf_AssignDescriptorsOnce();
3694  return ServiceDescriptorProto_descriptor_;
3695}
3696
3697const ServiceDescriptorProto& ServiceDescriptorProto::default_instance() {
3698  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
3699  return *default_instance_;
3700}
3701
3702ServiceDescriptorProto* ServiceDescriptorProto::default_instance_ = NULL;
3703
3704ServiceDescriptorProto* ServiceDescriptorProto::New() const {
3705  return new ServiceDescriptorProto;
3706}
3707
3708void ServiceDescriptorProto::Clear() {
3709  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3710    if (has_name()) {
3711      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3712        name_->clear();
3713      }
3714    }
3715    if (has_options()) {
3716      if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
3717    }
3718  }
3719  method_.Clear();
3720  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3721  mutable_unknown_fields()->Clear();
3722}
3723
3724bool ServiceDescriptorProto::MergePartialFromCodedStream(
3725    ::google::protobuf::io::CodedInputStream* input) {
3726#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
3727  ::google::protobuf::uint32 tag;
3728  while ((tag = input->ReadTag()) != 0) {
3729    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3730      // optional string name = 1;
3731      case 1: {
3732        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3733            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3734          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3735                input, this->mutable_name()));
3736          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3737            this->name().data(), this->name().length(),
3738            ::google::protobuf::internal::WireFormat::PARSE);
3739        } else {
3740          goto handle_uninterpreted;
3741        }
3742        if (input->ExpectTag(18)) goto parse_method;
3743        break;
3744      }
3745
3746      // repeated .google.protobuf.MethodDescriptorProto method = 2;
3747      case 2: {
3748        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3749            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3750         parse_method:
3751          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3752                input, add_method()));
3753        } else {
3754          goto handle_uninterpreted;
3755        }
3756        if (input->ExpectTag(18)) goto parse_method;
3757        if (input->ExpectTag(26)) goto parse_options;
3758        break;
3759      }
3760
3761      // optional .google.protobuf.ServiceOptions options = 3;
3762      case 3: {
3763        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3764            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3765         parse_options:
3766          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3767               input, mutable_options()));
3768        } else {
3769          goto handle_uninterpreted;
3770        }
3771        if (input->ExpectAtEnd()) return true;
3772        break;
3773      }
3774
3775      default: {
3776      handle_uninterpreted:
3777        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3778            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3779          return true;
3780        }
3781        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
3782              input, tag, mutable_unknown_fields()));
3783        break;
3784      }
3785    }
3786  }
3787  return true;
3788#undef DO_
3789}
3790
3791void ServiceDescriptorProto::SerializeWithCachedSizes(
3792    ::google::protobuf::io::CodedOutputStream* output) const {
3793  // optional string name = 1;
3794  if (has_name()) {
3795    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3796      this->name().data(), this->name().length(),
3797      ::google::protobuf::internal::WireFormat::SERIALIZE);
3798    ::google::protobuf::internal::WireFormatLite::WriteString(
3799      1, this->name(), output);
3800  }
3801
3802  // repeated .google.protobuf.MethodDescriptorProto method = 2;
3803  for (int i = 0; i < this->method_size(); i++) {
3804    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3805      2, this->method(i), output);
3806  }
3807
3808  // optional .google.protobuf.ServiceOptions options = 3;
3809  if (has_options()) {
3810    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3811      3, this->options(), output);
3812  }
3813
3814  if (!unknown_fields().empty()) {
3815    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
3816        unknown_fields(), output);
3817  }
3818}
3819
3820::google::protobuf::uint8* ServiceDescriptorProto::SerializeWithCachedSizesToArray(
3821    ::google::protobuf::uint8* target) const {
3822  // optional string name = 1;
3823  if (has_name()) {
3824    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3825      this->name().data(), this->name().length(),
3826      ::google::protobuf::internal::WireFormat::SERIALIZE);
3827    target =
3828      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3829        1, this->name(), target);
3830  }
3831
3832  // repeated .google.protobuf.MethodDescriptorProto method = 2;
3833  for (int i = 0; i < this->method_size(); i++) {
3834    target = ::google::protobuf::internal::WireFormatLite::
3835      WriteMessageNoVirtualToArray(
3836        2, this->method(i), target);
3837  }
3838
3839  // optional .google.protobuf.ServiceOptions options = 3;
3840  if (has_options()) {
3841    target = ::google::protobuf::internal::WireFormatLite::
3842      WriteMessageNoVirtualToArray(
3843        3, this->options(), target);
3844  }
3845
3846  if (!unknown_fields().empty()) {
3847    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
3848        unknown_fields(), target);
3849  }
3850  return target;
3851}
3852
3853int ServiceDescriptorProto::ByteSize() const {
3854  int total_size = 0;
3855
3856  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3857    // optional string name = 1;
3858    if (has_name()) {
3859      total_size += 1 +
3860        ::google::protobuf::internal::WireFormatLite::StringSize(
3861          this->name());
3862    }
3863
3864    // optional .google.protobuf.ServiceOptions options = 3;
3865    if (has_options()) {
3866      total_size += 1 +
3867        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3868          this->options());
3869    }
3870
3871  }
3872  // repeated .google.protobuf.MethodDescriptorProto method = 2;
3873  total_size += 1 * this->method_size();
3874  for (int i = 0; i < this->method_size(); i++) {
3875    total_size +=
3876      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3877        this->method(i));
3878  }
3879
3880  if (!unknown_fields().empty()) {
3881    total_size +=
3882      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
3883        unknown_fields());
3884  }
3885  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3886  _cached_size_ = total_size;
3887  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3888  return total_size;
3889}
3890
3891void ServiceDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
3892  GOOGLE_CHECK_NE(&from, this);
3893  const ServiceDescriptorProto* source =
3894    ::google::protobuf::internal::dynamic_cast_if_available<const ServiceDescriptorProto*>(
3895      &from);
3896  if (source == NULL) {
3897    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3898  } else {
3899    MergeFrom(*source);
3900  }
3901}
3902
3903void ServiceDescriptorProto::MergeFrom(const ServiceDescriptorProto& from) {
3904  GOOGLE_CHECK_NE(&from, this);
3905  method_.MergeFrom(from.method_);
3906  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3907    if (from.has_name()) {
3908      set_name(from.name());
3909    }
3910    if (from.has_options()) {
3911      mutable_options()->::google::protobuf::ServiceOptions::MergeFrom(from.options());
3912    }
3913  }
3914  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
3915}
3916
3917void ServiceDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
3918  if (&from == this) return;
3919  Clear();
3920  MergeFrom(from);
3921}
3922
3923void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
3924  if (&from == this) return;
3925  Clear();
3926  MergeFrom(from);
3927}
3928
3929bool ServiceDescriptorProto::IsInitialized() const {
3930
3931  for (int i = 0; i < method_size(); i++) {
3932    if (!this->method(i).IsInitialized()) return false;
3933  }
3934  if (has_options()) {
3935    if (!this->options().IsInitialized()) return false;
3936  }
3937  return true;
3938}
3939
3940void ServiceDescriptorProto::Swap(ServiceDescriptorProto* other) {
3941  if (other != this) {
3942    std::swap(name_, other->name_);
3943    method_.Swap(&other->method_);
3944    std::swap(options_, other->options_);
3945    std::swap(_has_bits_[0], other->_has_bits_[0]);
3946    _unknown_fields_.Swap(&other->_unknown_fields_);
3947    std::swap(_cached_size_, other->_cached_size_);
3948  }
3949}
3950
3951::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
3952  protobuf_AssignDescriptorsOnce();
3953  ::google::protobuf::Metadata metadata;
3954  metadata.descriptor = ServiceDescriptorProto_descriptor_;
3955  metadata.reflection = ServiceDescriptorProto_reflection_;
3956  return metadata;
3957}
3958
3959
3960// ===================================================================
3961
3962#ifndef _MSC_VER
3963const int MethodDescriptorProto::kNameFieldNumber;
3964const int MethodDescriptorProto::kInputTypeFieldNumber;
3965const int MethodDescriptorProto::kOutputTypeFieldNumber;
3966const int MethodDescriptorProto::kOptionsFieldNumber;
3967#endif  // !_MSC_VER
3968
3969MethodDescriptorProto::MethodDescriptorProto()
3970  : ::google::protobuf::Message() {
3971  SharedCtor();
3972}
3973
3974void MethodDescriptorProto::InitAsDefaultInstance() {
3975  options_ = const_cast< ::google::protobuf::MethodOptions*>(&::google::protobuf::MethodOptions::default_instance());
3976}
3977
3978MethodDescriptorProto::MethodDescriptorProto(const MethodDescriptorProto& from)
3979  : ::google::protobuf::Message() {
3980  SharedCtor();
3981  MergeFrom(from);
3982}
3983
3984void MethodDescriptorProto::SharedCtor() {
3985  _cached_size_ = 0;
3986  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
3987  input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
3988  output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
3989  options_ = NULL;
3990  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3991}
3992
3993MethodDescriptorProto::~MethodDescriptorProto() {
3994  SharedDtor();
3995}
3996
3997void MethodDescriptorProto::SharedDtor() {
3998  if (name_ != &::google::protobuf::internal::GetEmptyString()) {
3999    delete name_;
4000  }
4001  if (input_type_ != &::google::protobuf::internal::GetEmptyString()) {
4002    delete input_type_;
4003  }
4004  if (output_type_ != &::google::protobuf::internal::GetEmptyString()) {
4005    delete output_type_;
4006  }
4007  if (this != default_instance_) {
4008    delete options_;
4009  }
4010}
4011
4012void MethodDescriptorProto::SetCachedSize(int size) const {
4013  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4014  _cached_size_ = size;
4015  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4016}
4017const ::google::protobuf::Descriptor* MethodDescriptorProto::descriptor() {
4018  protobuf_AssignDescriptorsOnce();
4019  return MethodDescriptorProto_descriptor_;
4020}
4021
4022const MethodDescriptorProto& MethodDescriptorProto::default_instance() {
4023  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
4024  return *default_instance_;
4025}
4026
4027MethodDescriptorProto* MethodDescriptorProto::default_instance_ = NULL;
4028
4029MethodDescriptorProto* MethodDescriptorProto::New() const {
4030  return new MethodDescriptorProto;
4031}
4032
4033void MethodDescriptorProto::Clear() {
4034  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4035    if (has_name()) {
4036      if (name_ != &::google::protobuf::internal::GetEmptyString()) {
4037        name_->clear();
4038      }
4039    }
4040    if (has_input_type()) {
4041      if (input_type_ != &::google::protobuf::internal::GetEmptyString()) {
4042        input_type_->clear();
4043      }
4044    }
4045    if (has_output_type()) {
4046      if (output_type_ != &::google::protobuf::internal::GetEmptyString()) {
4047        output_type_->clear();
4048      }
4049    }
4050    if (has_options()) {
4051      if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
4052    }
4053  }
4054  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4055  mutable_unknown_fields()->Clear();
4056}
4057
4058bool MethodDescriptorProto::MergePartialFromCodedStream(
4059    ::google::protobuf::io::CodedInputStream* input) {
4060#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
4061  ::google::protobuf::uint32 tag;
4062  while ((tag = input->ReadTag()) != 0) {
4063    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4064      // optional string name = 1;
4065      case 1: {
4066        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4067            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4068          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4069                input, this->mutable_name()));
4070          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4071            this->name().data(), this->name().length(),
4072            ::google::protobuf::internal::WireFormat::PARSE);
4073        } else {
4074          goto handle_uninterpreted;
4075        }
4076        if (input->ExpectTag(18)) goto parse_input_type;
4077        break;
4078      }
4079
4080      // optional string input_type = 2;
4081      case 2: {
4082        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4083            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4084         parse_input_type:
4085          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4086                input, this->mutable_input_type()));
4087          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4088            this->input_type().data(), this->input_type().length(),
4089            ::google::protobuf::internal::WireFormat::PARSE);
4090        } else {
4091          goto handle_uninterpreted;
4092        }
4093        if (input->ExpectTag(26)) goto parse_output_type;
4094        break;
4095      }
4096
4097      // optional string output_type = 3;
4098      case 3: {
4099        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4100            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4101         parse_output_type:
4102          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4103                input, this->mutable_output_type()));
4104          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4105            this->output_type().data(), this->output_type().length(),
4106            ::google::protobuf::internal::WireFormat::PARSE);
4107        } else {
4108          goto handle_uninterpreted;
4109        }
4110        if (input->ExpectTag(34)) goto parse_options;
4111        break;
4112      }
4113
4114      // optional .google.protobuf.MethodOptions options = 4;
4115      case 4: {
4116        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4117            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4118         parse_options:
4119          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
4120               input, mutable_options()));
4121        } else {
4122          goto handle_uninterpreted;
4123        }
4124        if (input->ExpectAtEnd()) return true;
4125        break;
4126      }
4127
4128      default: {
4129      handle_uninterpreted:
4130        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4131            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4132          return true;
4133        }
4134        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
4135              input, tag, mutable_unknown_fields()));
4136        break;
4137      }
4138    }
4139  }
4140  return true;
4141#undef DO_
4142}
4143
4144void MethodDescriptorProto::SerializeWithCachedSizes(
4145    ::google::protobuf::io::CodedOutputStream* output) const {
4146  // optional string name = 1;
4147  if (has_name()) {
4148    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4149      this->name().data(), this->name().length(),
4150      ::google::protobuf::internal::WireFormat::SERIALIZE);
4151    ::google::protobuf::internal::WireFormatLite::WriteString(
4152      1, this->name(), output);
4153  }
4154
4155  // optional string input_type = 2;
4156  if (has_input_type()) {
4157    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4158      this->input_type().data(), this->input_type().length(),
4159      ::google::protobuf::internal::WireFormat::SERIALIZE);
4160    ::google::protobuf::internal::WireFormatLite::WriteString(
4161      2, this->input_type(), output);
4162  }
4163
4164  // optional string output_type = 3;
4165  if (has_output_type()) {
4166    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4167      this->output_type().data(), this->output_type().length(),
4168      ::google::protobuf::internal::WireFormat::SERIALIZE);
4169    ::google::protobuf::internal::WireFormatLite::WriteString(
4170      3, this->output_type(), output);
4171  }
4172
4173  // optional .google.protobuf.MethodOptions options = 4;
4174  if (has_options()) {
4175    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4176      4, this->options(), output);
4177  }
4178
4179  if (!unknown_fields().empty()) {
4180    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
4181        unknown_fields(), output);
4182  }
4183}
4184
4185::google::protobuf::uint8* MethodDescriptorProto::SerializeWithCachedSizesToArray(
4186    ::google::protobuf::uint8* target) const {
4187  // optional string name = 1;
4188  if (has_name()) {
4189    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4190      this->name().data(), this->name().length(),
4191      ::google::protobuf::internal::WireFormat::SERIALIZE);
4192    target =
4193      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4194        1, this->name(), target);
4195  }
4196
4197  // optional string input_type = 2;
4198  if (has_input_type()) {
4199    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4200      this->input_type().data(), this->input_type().length(),
4201      ::google::protobuf::internal::WireFormat::SERIALIZE);
4202    target =
4203      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4204        2, this->input_type(), target);
4205  }
4206
4207  // optional string output_type = 3;
4208  if (has_output_type()) {
4209    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4210      this->output_type().data(), this->output_type().length(),
4211      ::google::protobuf::internal::WireFormat::SERIALIZE);
4212    target =
4213      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4214        3, this->output_type(), target);
4215  }
4216
4217  // optional .google.protobuf.MethodOptions options = 4;
4218  if (has_options()) {
4219    target = ::google::protobuf::internal::WireFormatLite::
4220      WriteMessageNoVirtualToArray(
4221        4, this->options(), target);
4222  }
4223
4224  if (!unknown_fields().empty()) {
4225    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
4226        unknown_fields(), target);
4227  }
4228  return target;
4229}
4230
4231int MethodDescriptorProto::ByteSize() const {
4232  int total_size = 0;
4233
4234  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4235    // optional string name = 1;
4236    if (has_name()) {
4237      total_size += 1 +
4238        ::google::protobuf::internal::WireFormatLite::StringSize(
4239          this->name());
4240    }
4241
4242    // optional string input_type = 2;
4243    if (has_input_type()) {
4244      total_size += 1 +
4245        ::google::protobuf::internal::WireFormatLite::StringSize(
4246          this->input_type());
4247    }
4248
4249    // optional string output_type = 3;
4250    if (has_output_type()) {
4251      total_size += 1 +
4252        ::google::protobuf::internal::WireFormatLite::StringSize(
4253          this->output_type());
4254    }
4255
4256    // optional .google.protobuf.MethodOptions options = 4;
4257    if (has_options()) {
4258      total_size += 1 +
4259        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4260          this->options());
4261    }
4262
4263  }
4264  if (!unknown_fields().empty()) {
4265    total_size +=
4266      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
4267        unknown_fields());
4268  }
4269  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4270  _cached_size_ = total_size;
4271  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4272  return total_size;
4273}
4274
4275void MethodDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
4276  GOOGLE_CHECK_NE(&from, this);
4277  const MethodDescriptorProto* source =
4278    ::google::protobuf::internal::dynamic_cast_if_available<const MethodDescriptorProto*>(
4279      &from);
4280  if (source == NULL) {
4281    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4282  } else {
4283    MergeFrom(*source);
4284  }
4285}
4286
4287void MethodDescriptorProto::MergeFrom(const MethodDescriptorProto& from) {
4288  GOOGLE_CHECK_NE(&from, this);
4289  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4290    if (from.has_name()) {
4291      set_name(from.name());
4292    }
4293    if (from.has_input_type()) {
4294      set_input_type(from.input_type());
4295    }
4296    if (from.has_output_type()) {
4297      set_output_type(from.output_type());
4298    }
4299    if (from.has_options()) {
4300      mutable_options()->::google::protobuf::MethodOptions::MergeFrom(from.options());
4301    }
4302  }
4303  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
4304}
4305
4306void MethodDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
4307  if (&from == this) return;
4308  Clear();
4309  MergeFrom(from);
4310}
4311
4312void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
4313  if (&from == this) return;
4314  Clear();
4315  MergeFrom(from);
4316}
4317
4318bool MethodDescriptorProto::IsInitialized() const {
4319
4320  if (has_options()) {
4321    if (!this->options().IsInitialized()) return false;
4322  }
4323  return true;
4324}
4325
4326void MethodDescriptorProto::Swap(MethodDescriptorProto* other) {
4327  if (other != this) {
4328    std::swap(name_, other->name_);
4329    std::swap(input_type_, other->input_type_);
4330    std::swap(output_type_, other->output_type_);
4331    std::swap(options_, other->options_);
4332    std::swap(_has_bits_[0], other->_has_bits_[0]);
4333    _unknown_fields_.Swap(&other->_unknown_fields_);
4334    std::swap(_cached_size_, other->_cached_size_);
4335  }
4336}
4337
4338::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
4339  protobuf_AssignDescriptorsOnce();
4340  ::google::protobuf::Metadata metadata;
4341  metadata.descriptor = MethodDescriptorProto_descriptor_;
4342  metadata.reflection = MethodDescriptorProto_reflection_;
4343  return metadata;
4344}
4345
4346
4347// ===================================================================
4348
4349const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
4350  protobuf_AssignDescriptorsOnce();
4351  return FileOptions_OptimizeMode_descriptor_;
4352}
4353bool FileOptions_OptimizeMode_IsValid(int value) {
4354  switch(value) {
4355    case 1:
4356    case 2:
4357    case 3:
4358      return true;
4359    default:
4360      return false;
4361  }
4362}
4363
4364#ifndef _MSC_VER
4365const FileOptions_OptimizeMode FileOptions::SPEED;
4366const FileOptions_OptimizeMode FileOptions::CODE_SIZE;
4367const FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
4368const FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
4369const FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
4370const int FileOptions::OptimizeMode_ARRAYSIZE;
4371#endif  // _MSC_VER
4372#ifndef _MSC_VER
4373const int FileOptions::kJavaPackageFieldNumber;
4374const int FileOptions::kJavaOuterClassnameFieldNumber;
4375const int FileOptions::kJavaMultipleFilesFieldNumber;
4376const int FileOptions::kRetainUnknownFieldsFieldNumber;
4377const int FileOptions::kJavaGenerateEqualsAndHashFieldNumber;
4378const int FileOptions::kOptimizeForFieldNumber;
4379const int FileOptions::kGoPackageFieldNumber;
4380const int FileOptions::kCcGenericServicesFieldNumber;
4381const int FileOptions::kJavaGenericServicesFieldNumber;
4382const int FileOptions::kPyGenericServicesFieldNumber;
4383const int FileOptions::kUninterpretedOptionFieldNumber;
4384#endif  // !_MSC_VER
4385
4386FileOptions::FileOptions()
4387  : ::google::protobuf::Message() {
4388  SharedCtor();
4389}
4390
4391void FileOptions::InitAsDefaultInstance() {
4392}
4393
4394FileOptions::FileOptions(const FileOptions& from)
4395  : ::google::protobuf::Message() {
4396  SharedCtor();
4397  MergeFrom(from);
4398}
4399
4400void FileOptions::SharedCtor() {
4401  _cached_size_ = 0;
4402  java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
4403  java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
4404  java_multiple_files_ = false;
4405  retain_unknown_fields_ = false;
4406  java_generate_equals_and_hash_ = false;
4407  optimize_for_ = 1;
4408  go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
4409  cc_generic_services_ = false;
4410  java_generic_services_ = false;
4411  py_generic_services_ = false;
4412  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4413}
4414
4415FileOptions::~FileOptions() {
4416  SharedDtor();
4417}
4418
4419void FileOptions::SharedDtor() {
4420  if (java_package_ != &::google::protobuf::internal::GetEmptyString()) {
4421    delete java_package_;
4422  }
4423  if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyString()) {
4424    delete java_outer_classname_;
4425  }
4426  if (go_package_ != &::google::protobuf::internal::GetEmptyString()) {
4427    delete go_package_;
4428  }
4429  if (this != default_instance_) {
4430  }
4431}
4432
4433void FileOptions::SetCachedSize(int size) const {
4434  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4435  _cached_size_ = size;
4436  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4437}
4438const ::google::protobuf::Descriptor* FileOptions::descriptor() {
4439  protobuf_AssignDescriptorsOnce();
4440  return FileOptions_descriptor_;
4441}
4442
4443const FileOptions& FileOptions::default_instance() {
4444  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
4445  return *default_instance_;
4446}
4447
4448FileOptions* FileOptions::default_instance_ = NULL;
4449
4450FileOptions* FileOptions::New() const {
4451  return new FileOptions;
4452}
4453
4454void FileOptions::Clear() {
4455  _extensions_.Clear();
4456  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4457    if (has_java_package()) {
4458      if (java_package_ != &::google::protobuf::internal::GetEmptyString()) {
4459        java_package_->clear();
4460      }
4461    }
4462    if (has_java_outer_classname()) {
4463      if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyString()) {
4464        java_outer_classname_->clear();
4465      }
4466    }
4467    java_multiple_files_ = false;
4468    retain_unknown_fields_ = false;
4469    java_generate_equals_and_hash_ = false;
4470    optimize_for_ = 1;
4471    if (has_go_package()) {
4472      if (go_package_ != &::google::protobuf::internal::GetEmptyString()) {
4473        go_package_->clear();
4474      }
4475    }
4476    cc_generic_services_ = false;
4477  }
4478  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
4479    java_generic_services_ = false;
4480    py_generic_services_ = false;
4481  }
4482  uninterpreted_option_.Clear();
4483  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4484  mutable_unknown_fields()->Clear();
4485}
4486
4487bool FileOptions::MergePartialFromCodedStream(
4488    ::google::protobuf::io::CodedInputStream* input) {
4489#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
4490  ::google::protobuf::uint32 tag;
4491  while ((tag = input->ReadTag()) != 0) {
4492    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4493      // optional string java_package = 1;
4494      case 1: {
4495        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4496            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4497          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4498                input, this->mutable_java_package()));
4499          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4500            this->java_package().data(), this->java_package().length(),
4501            ::google::protobuf::internal::WireFormat::PARSE);
4502        } else {
4503          goto handle_uninterpreted;
4504        }
4505        if (input->ExpectTag(66)) goto parse_java_outer_classname;
4506        break;
4507      }
4508
4509      // optional string java_outer_classname = 8;
4510      case 8: {
4511        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4512            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4513         parse_java_outer_classname:
4514          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4515                input, this->mutable_java_outer_classname()));
4516          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4517            this->java_outer_classname().data(), this->java_outer_classname().length(),
4518            ::google::protobuf::internal::WireFormat::PARSE);
4519        } else {
4520          goto handle_uninterpreted;
4521        }
4522        if (input->ExpectTag(72)) goto parse_optimize_for;
4523        break;
4524      }
4525
4526      // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4527      case 9: {
4528        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4529            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4530         parse_optimize_for:
4531          int value;
4532          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4533                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
4534                 input, &value)));
4535          if (::google::protobuf::FileOptions_OptimizeMode_IsValid(value)) {
4536            set_optimize_for(static_cast< ::google::protobuf::FileOptions_OptimizeMode >(value));
4537          } else {
4538            mutable_unknown_fields()->AddVarint(9, value);
4539          }
4540        } else {
4541          goto handle_uninterpreted;
4542        }
4543        if (input->ExpectTag(80)) goto parse_java_multiple_files;
4544        break;
4545      }
4546
4547      // optional bool java_multiple_files = 10 [default = false];
4548      case 10: {
4549        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4550            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4551         parse_java_multiple_files:
4552          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4553                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4554                 input, &java_multiple_files_)));
4555          set_has_java_multiple_files();
4556        } else {
4557          goto handle_uninterpreted;
4558        }
4559        if (input->ExpectTag(90)) goto parse_go_package;
4560        break;
4561      }
4562
4563      // optional string go_package = 11;
4564      case 11: {
4565        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4566            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4567         parse_go_package:
4568          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4569                input, this->mutable_go_package()));
4570          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4571            this->go_package().data(), this->go_package().length(),
4572            ::google::protobuf::internal::WireFormat::PARSE);
4573        } else {
4574          goto handle_uninterpreted;
4575        }
4576        if (input->ExpectTag(96)) goto parse_retain_unknown_fields;
4577        break;
4578      }
4579
4580      // optional bool retain_unknown_fields = 12 [default = false];
4581      case 12: {
4582        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4583            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4584         parse_retain_unknown_fields:
4585          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4586                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4587                 input, &retain_unknown_fields_)));
4588          set_has_retain_unknown_fields();
4589        } else {
4590          goto handle_uninterpreted;
4591        }
4592        if (input->ExpectTag(128)) goto parse_cc_generic_services;
4593        break;
4594      }
4595
4596      // optional bool cc_generic_services = 16 [default = false];
4597      case 16: {
4598        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4599            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4600         parse_cc_generic_services:
4601          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4602                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4603                 input, &cc_generic_services_)));
4604          set_has_cc_generic_services();
4605        } else {
4606          goto handle_uninterpreted;
4607        }
4608        if (input->ExpectTag(136)) goto parse_java_generic_services;
4609        break;
4610      }
4611
4612      // optional bool java_generic_services = 17 [default = false];
4613      case 17: {
4614        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4615            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4616         parse_java_generic_services:
4617          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4618                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4619                 input, &java_generic_services_)));
4620          set_has_java_generic_services();
4621        } else {
4622          goto handle_uninterpreted;
4623        }
4624        if (input->ExpectTag(144)) goto parse_py_generic_services;
4625        break;
4626      }
4627
4628      // optional bool py_generic_services = 18 [default = false];
4629      case 18: {
4630        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4631            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4632         parse_py_generic_services:
4633          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4634                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4635                 input, &py_generic_services_)));
4636          set_has_py_generic_services();
4637        } else {
4638          goto handle_uninterpreted;
4639        }
4640        if (input->ExpectTag(160)) goto parse_java_generate_equals_and_hash;
4641        break;
4642      }
4643
4644      // optional bool java_generate_equals_and_hash = 20 [default = false];
4645      case 20: {
4646        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4647            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4648         parse_java_generate_equals_and_hash:
4649          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4650                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4651                 input, &java_generate_equals_and_hash_)));
4652          set_has_java_generate_equals_and_hash();
4653        } else {
4654          goto handle_uninterpreted;
4655        }
4656        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
4657        break;
4658      }
4659
4660      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4661      case 999: {
4662        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4663            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4664         parse_uninterpreted_option:
4665          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
4666                input, add_uninterpreted_option()));
4667        } else {
4668          goto handle_uninterpreted;
4669        }
4670        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
4671        if (input->ExpectAtEnd()) return true;
4672        break;
4673      }
4674
4675      default: {
4676      handle_uninterpreted:
4677        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4678            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4679          return true;
4680        }
4681        if ((8000u <= tag)) {
4682          DO_(_extensions_.ParseField(tag, input, default_instance_,
4683                                      mutable_unknown_fields()));
4684          continue;
4685        }
4686        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
4687              input, tag, mutable_unknown_fields()));
4688        break;
4689      }
4690    }
4691  }
4692  return true;
4693#undef DO_
4694}
4695
4696void FileOptions::SerializeWithCachedSizes(
4697    ::google::protobuf::io::CodedOutputStream* output) const {
4698  // optional string java_package = 1;
4699  if (has_java_package()) {
4700    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4701      this->java_package().data(), this->java_package().length(),
4702      ::google::protobuf::internal::WireFormat::SERIALIZE);
4703    ::google::protobuf::internal::WireFormatLite::WriteString(
4704      1, this->java_package(), output);
4705  }
4706
4707  // optional string java_outer_classname = 8;
4708  if (has_java_outer_classname()) {
4709    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4710      this->java_outer_classname().data(), this->java_outer_classname().length(),
4711      ::google::protobuf::internal::WireFormat::SERIALIZE);
4712    ::google::protobuf::internal::WireFormatLite::WriteString(
4713      8, this->java_outer_classname(), output);
4714  }
4715
4716  // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4717  if (has_optimize_for()) {
4718    ::google::protobuf::internal::WireFormatLite::WriteEnum(
4719      9, this->optimize_for(), output);
4720  }
4721
4722  // optional bool java_multiple_files = 10 [default = false];
4723  if (has_java_multiple_files()) {
4724    ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->java_multiple_files(), output);
4725  }
4726
4727  // optional string go_package = 11;
4728  if (has_go_package()) {
4729    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4730      this->go_package().data(), this->go_package().length(),
4731      ::google::protobuf::internal::WireFormat::SERIALIZE);
4732    ::google::protobuf::internal::WireFormatLite::WriteString(
4733      11, this->go_package(), output);
4734  }
4735
4736  // optional bool retain_unknown_fields = 12 [default = false];
4737  if (has_retain_unknown_fields()) {
4738    ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->retain_unknown_fields(), output);
4739  }
4740
4741  // optional bool cc_generic_services = 16 [default = false];
4742  if (has_cc_generic_services()) {
4743    ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->cc_generic_services(), output);
4744  }
4745
4746  // optional bool java_generic_services = 17 [default = false];
4747  if (has_java_generic_services()) {
4748    ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->java_generic_services(), output);
4749  }
4750
4751  // optional bool py_generic_services = 18 [default = false];
4752  if (has_py_generic_services()) {
4753    ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->py_generic_services(), output);
4754  }
4755
4756  // optional bool java_generate_equals_and_hash = 20 [default = false];
4757  if (has_java_generate_equals_and_hash()) {
4758    ::google::protobuf::internal::WireFormatLite::WriteBool(20, this->java_generate_equals_and_hash(), output);
4759  }
4760
4761  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4762  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4763    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4764      999, this->uninterpreted_option(i), output);
4765  }
4766
4767  // Extension range [1000, 536870912)
4768  _extensions_.SerializeWithCachedSizes(
4769      1000, 536870912, output);
4770
4771  if (!unknown_fields().empty()) {
4772    ::google::protobuf::internal::WireFormatLite::SerializeUnknownFields(
4773        unknown_fields(), output);
4774  }
4775}
4776
4777::google::protobuf::uint8* FileOptions::SerializeWithCachedSizesToArray(
4778    ::google::protobuf::uint8* target) const {
4779  // optional string java_package = 1;
4780  if (has_java_package()) {
4781    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4782      this->java_package().data(), this->java_package().length(),
4783      ::google::protobuf::internal::WireFormat::SERIALIZE);
4784    target =
4785      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4786        1, this->java_package(), target);
4787  }
4788
4789  // optional string java_outer_classname = 8;
4790  if (has_java_outer_classname()) {
4791    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4792      this->java_outer_classname().data(), this->java_outer_classname().length(),
4793      ::google::protobuf::internal::WireFormat::SERIALIZE);
4794    target =
4795      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4796        8, this->java_outer_classname(), target);
4797  }
4798
4799  // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4800  if (has_optimize_for()) {
4801    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
4802      9, this->optimize_for(), target);
4803  }
4804
4805  // optional bool java_multiple_files = 10 [default = false];
4806  if (has_java_multiple_files()) {
4807    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->java_multiple_files(), target);
4808  }
4809
4810  // optional string go_package = 11;
4811  if (has_go_package()) {
4812    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4813      this->go_package().data(), this->go_package().length(),
4814      ::google::protobuf::internal::WireFormat::SERIALIZE);
4815    target =
4816      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4817        11, this->go_package(), target);
4818  }
4819
4820  // optional bool retain_unknown_fields = 12 [default = false];
4821  if (has_retain_unknown_fields()) {
4822    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(12, this->retain_unknown_fields(), target);
4823  }
4824
4825  // optional bool cc_generic_services = 16 [default = false];
4826  if (has_cc_generic_services()) {
4827    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->cc_generic_services(), target);
4828  }
4829
4830  // optional bool java_generic_services = 17 [default = false];
4831  if (has_java_generic_services()) {
4832    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->java_generic_services(), target);
4833  }
4834
4835  // optional bool py_generic_services = 18 [default = false];
4836  if (has_py_generic_services()) {
4837    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(18, this->py_generic_services(), target);
4838  }
4839
4840  // optional bool java_generate_equals_and_hash = 20 [default = false];
4841  if (has_java_generate_equals_and_hash()) {
4842    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(20, this->java_generate_equals_and_hash(), target);
4843  }
4844
4845  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4846  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4847    target = ::google::protobuf::internal::WireFormatLite::
4848      WriteMessageNoVirtualToArray(
4849        999, this->uninterpreted_option(i), target);
4850  }
4851
4852  // Extension range [1000, 536870912)
4853  target = _extensions_.SerializeWithCachedSizesToArray(
4854      1000, 536870912, target);
4855
4856  if (!unknown_fields().empty()) {
4857    target = ::google::protobuf::internal::WireFormatLite::SerializeUnknownFieldsToArray(
4858        unknown_fields(), target);
4859  }
4860  return target;
4861}
4862
4863int FileOptions::ByteSize() const {
4864  int total_size = 0;
4865
4866  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4867    // optional string java_package = 1;
4868    if (has_java_package()) {
4869      total_size += 1 +
4870        ::google::protobuf::internal::WireFormatLite::StringSize(
4871          this->java_package());
4872    }
4873
4874    // optional string java_outer_classname = 8;
4875    if (has_java_outer_classname()) {
4876      total_size += 1 +
4877        ::google::protobuf::internal::WireFormatLite::StringSize(
4878          this->java_outer_classname());
4879    }
4880
4881    // optional bool java_multiple_files = 10 [default = false];
4882    if (has_java_multiple_files()) {
4883      total_size += 1 + 1;
4884    }
4885
4886    // optional bool retain_unknown_fields = 12 [default = false];
4887    if (has_retain_unknown_fields()) {
4888      total_size += 1 + 1;
4889    }
4890
4891    // optional bool java_generate_equals_and_hash = 20 [default = false];
4892    if (has_java_generate_equals_and_hash()) {
4893      total_size += 2 + 1;
4894    }
4895
4896    // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4897    if (has_optimize_for()) {
4898      total_size += 1 +
4899        ::google::protobuf::internal::WireFormatLite::EnumSize(this->optimize_for());
4900    }
4901
4902    // optional string go_package = 11;
4903    if (has_go_package()) {
4904      total_size += 1 +
4905        ::google::protobuf::internal::WireFormatLite::StringSize(
4906          this->go_package());
4907    }
4908
4909    // optional bool cc_generic_services = 16 [default = false];
4910    if (has_cc_generic_services()) {
4911      total_size += 2 + 1;
4912    }
4913
4914  }
4915  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
4916    // optional bool java_generic_services = 17 [default = false];
4917    if (has_java_generic_services()) {
4918      total_size += 2 + 1;
4919    }
4920
4921    // optional bool py_generic_services = 18 [default = false];
4922    if (has_py_generic_services()) {
4923      total_size += 2 + 1;
4924    }
4925
4926  }
4927  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4928  total_size += 2 * this->uninterpreted_option_size();
4929  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4930    total_size +=
4931      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4932        this->uninterpreted_option(i));
4933  }
4934
4935  total_size += _extensions_.ByteSize();
4936
4937  if (!unknown_fields().empty()) {
4938    total_size +=
4939      ::google::protobuf::internal::WireFormatLite::ComputeUnknownFieldsSize(
4940        unknown_fields());
4941  }
4942  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4943  _cached_size_ = total_size;
4944  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4945  return total_size;
4946}
4947
4948void FileOptions::MergeFrom(const ::google::protobuf::Message& from) {
4949  GOOGLE_CHECK_NE(&from, this);
4950  const FileOptions* source =
4951    ::google::protobuf::internal::dynamic_cast_if_available<const FileOptions*>(
4952      &from);
4953  if (source == NULL) {
4954    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4955  } else {
4956    MergeFrom(*source);
4957  }
4958}
4959
4960void FileOptions::MergeFrom(const FileOptions& from) {
4961  GOOGLE_CHECK_NE(&from, this);
4962  uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
4963  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4964    if (from.has_java_package()) {
4965      set_java_package(from.java_package());
4966    }
4967    if (from.has_java_outer_classname()) {
4968      set_java_outer_classname(from.java_outer_classname());
4969    }
4970    if (from.has_java_multiple_files()) {
4971      set_java_multiple_files(from.java_multiple_files());
4972    }
4973    if (from.has_retain_unknown_fields()) {
4974      set_retain_unknown_fields(from.retain_unknown_fields());
4975    }
4976    if (from.has_java_generate_equals_and_hash()) {
4977      set_java_generate_equals_and_hash(from.java_generate_equals_and_hash());
4978    }
4979    if (from.has_optimize_for()) {
4980      set_optimize_for(from.optimize_for());
4981    }
4982    if (from.has_go_package()) {
4983      set_go_package(from.go_package());
4984    }
4985    if (from.has_cc_generic_services()) {
4986      set_cc_generic_services(from.cc_generic_services());
4987    }
4988  }
4989  if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
4990    if (from.has_java_generic_services()) {
4991      set_java_generic_services(from.java_generic_services());
4992    }
4993    if (from.has_py_generic_services()) {
4994      set_py_generic_services(from.py_generic_services());
4995    }
4996  }
4997  _extensions_.MergeFrom(from._extensions_);
4998  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
4999}
5000
5001void FileOptions::CopyFrom(const ::google::protobuf::Message& from) {
5002  if (&from == this) return;
5003  Clear();
5004  MergeFrom(from);
5005}
5006
5007void FileOptions::CopyFrom(const FileOptions& from) {
5008  if (&from == this) return;
5009  Clear();
5010  MergeFrom(from);
5011}
5012
5013bool FileOptions::IsInitialized() const {
5014
5015  for (int i = 0; i < uninterpreted_option_size(); i++) {
5016    if (!this->uninterpreted_option(i).IsInitialized()) return false;
5017  }
5018
5019  if (!_extensions_.IsInitialized()) return false;  return true;
5020}
5021
5022void FileOptions::Swap(FileOptions* other) {
5023  if (other != this) {
5024    std::swap(java_package_, other->java_package_);
5025    std::swap(java_outer_classname_, other->java_outer_classname_);
5026    std::swap(java_multiple_files_, other->java_multiple_files_);
5027    std::swap(retain_unknown_fields_, other->retain_unknown_fields_);
5028    std::swap(java_generate_equals_and_hash_, other->java_generate_equals_and_hash_);
5029    std::swap(optimize_for_, other->optimize_for_);
5030    std::swap(go_package_, other->go_package_);
5031    std::swap(cc_generic_services_, other->cc_generic_services_);
5032    std::swap(java_generic_services_, other->java_generic_services_);
5033    std::swap(py_generic_services_, other->py_generic_services_);
5034    uninterpreted_option_.Swap(&other->uninterpreted_option_);
5035    std::swap(_has_bits_[0], other->_has_bits_[0]);
5036    _unknown_fields_.Swap(&other->_unknown_fields_);
5037    std::swap(_cached_size_, other->_cached_size_);
5038    _extensions_.Swap(&other->_extensions_);
5039  }
5040}
5041
5042::google::protobuf::Metadata FileOptions::GetMetadata() const {
5043  protobuf_AssignDescriptorsOnce();
5044  ::google::protobuf::Metadata metadata;
5045  metadata.descriptor = FileOptions_descriptor_;
5046  metadata.reflection = FileOptions_reflection_;
5047  return metadata;
5048}
5049
5050
5051// ===================================================================
5052
5053#ifndef _MSC_VER
5054const int MessageOptions::kMessageSetWireFormatFieldNumber;
5055const int MessageOptions::kNoStandardDescriptorAccessorFieldNumber;
5056const int MessageOptions::kUninterpretedOptionFieldNumber;
5057#endif  // !_MSC_VER
5058
5059MessageOptions::MessageOptions()
5060  : ::google::protobuf::Message() {
5061  SharedCtor();
5062}
5063
5064void MessageOptions::InitAsDefaultInstance() {
5065}
5066
5067MessageOptions::MessageOptions(const MessageOptions& from)
5068  : ::google::protobuf::Message() {
5069  SharedCtor();
5070  MergeFrom(from);
5071}
5072
5073void MessageOptions::SharedCtor() {
5074  _cached_size_ = 0;
5075  message_set_wire_format_ = false;
5076  no_standard_descriptor_accessor_ = false;
5077  ::memset(_has_bits_, 0, sizeof(_has_bits_));
5078}
5079
5080MessageOptions::~MessageOptions() {
5081  SharedDtor();
5082}
5083
5084void MessageOptions::SharedDtor() {
5085  if (this != default_instance_) {
5086  }
5087}
5088
5089void MessageOptions::SetCachedSize(int size) const {
5090  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
5091  _cached_size_ = size;
5092  GOOGLE_SAFE_CONCURRENT_WRITES_END();
5093}
5094const ::google::protobuf::Descriptor* MessageOptions::descriptor() {
5095  protobuf_AssignDescriptorsOnce();
5096  return MessageOptions_descriptor_;
5097}
5098
5099const MessageOptions& MessageOptions::default_instance() {
5100  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
5101  return *default_instance_;
5102}
5103
5104MessageOptions* MessageOptions::default_instance_ = NULL;
5105
5106MessageOptions* MessageOptions::New() const {
5107  return new MessageOptions;
5108}
5109
5110void MessageOptions::Clear() {
5111  _extensions_.Clear();
5112  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
5113    message_set_wire_format_ = false;
5114    no_standard_descriptor_accessor_ = false;
5115  }
5116  uninterpreted_option_.