1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/protobuf/descriptor.proto
3
4package descriptor
5
6import (
7	fmt "fmt"
8	proto "github.com/golang/protobuf/proto"
9	math "math"
10)
11
12// Reference imports to suppress errors if they are not otherwise used.
13var _ = proto.Marshal
14var _ = fmt.Errorf
15var _ = math.Inf
16
17// This is a compile-time assertion to ensure that this generated file
18// is compatible with the proto package it is being compiled against.
19// A compilation error at this line likely means your copy of the
20// proto package needs to be updated.
21const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
22
23type FieldDescriptorProto_Type int32
24
25const (
26	// 0 is reserved for errors.
27	// Order is weird for historical reasons.
28	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
29	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
30	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
31	// negative values are likely.
32	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
33	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
34	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
35	// negative values are likely.
36	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
37	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
38	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
39	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
40	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
41	// Tag-delimited aggregate.
42	// Group type is deprecated and not supported in proto3. However, Proto3
43	// implementations should still be able to parse the group wire format and
44	// treat group fields as unknown fields.
45	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
46	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
47	// New in version 2.
48	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
49	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
50	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
51	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
52	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
53	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
54	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
55)
56
57var FieldDescriptorProto_Type_name = map[int32]string{
58	1:  "TYPE_DOUBLE",
59	2:  "TYPE_FLOAT",
60	3:  "TYPE_INT64",
61	4:  "TYPE_UINT64",
62	5:  "TYPE_INT32",
63	6:  "TYPE_FIXED64",
64	7:  "TYPE_FIXED32",
65	8:  "TYPE_BOOL",
66	9:  "TYPE_STRING",
67	10: "TYPE_GROUP",
68	11: "TYPE_MESSAGE",
69	12: "TYPE_BYTES",
70	13: "TYPE_UINT32",
71	14: "TYPE_ENUM",
72	15: "TYPE_SFIXED32",
73	16: "TYPE_SFIXED64",
74	17: "TYPE_SINT32",
75	18: "TYPE_SINT64",
76}
77
78var FieldDescriptorProto_Type_value = map[string]int32{
79	"TYPE_DOUBLE":   1,
80	"TYPE_FLOAT":    2,
81	"TYPE_INT64":    3,
82	"TYPE_UINT64":   4,
83	"TYPE_INT32":    5,
84	"TYPE_FIXED64":  6,
85	"TYPE_FIXED32":  7,
86	"TYPE_BOOL":     8,
87	"TYPE_STRING":   9,
88	"TYPE_GROUP":    10,
89	"TYPE_MESSAGE":  11,
90	"TYPE_BYTES":    12,
91	"TYPE_UINT32":   13,
92	"TYPE_ENUM":     14,
93	"TYPE_SFIXED32": 15,
94	"TYPE_SFIXED64": 16,
95	"TYPE_SINT32":   17,
96	"TYPE_SINT64":   18,
97}
98
99func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
100	p := new(FieldDescriptorProto_Type)
101	*p = x
102	return p
103}
104
105func (x FieldDescriptorProto_Type) String() string {
106	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
107}
108
109func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
110	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
111	if err != nil {
112		return err
113	}
114	*x = FieldDescriptorProto_Type(value)
115	return nil
116}
117
118func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
119	return fileDescriptor_e5baabe45344a177, []int{4, 0}
120}
121
122type FieldDescriptorProto_Label int32
123
124const (
125	// 0 is reserved for errors
126	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
127	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
128	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
129)
130
131var FieldDescriptorProto_Label_name = map[int32]string{
132	1: "LABEL_OPTIONAL",
133	2: "LABEL_REQUIRED",
134	3: "LABEL_REPEATED",
135}
136
137var FieldDescriptorProto_Label_value = map[string]int32{
138	"LABEL_OPTIONAL": 1,
139	"LABEL_REQUIRED": 2,
140	"LABEL_REPEATED": 3,
141}
142
143func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
144	p := new(FieldDescriptorProto_Label)
145	*p = x
146	return p
147}
148
149func (x FieldDescriptorProto_Label) String() string {
150	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
151}
152
153func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
154	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
155	if err != nil {
156		return err
157	}
158	*x = FieldDescriptorProto_Label(value)
159	return nil
160}
161
162func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
163	return fileDescriptor_e5baabe45344a177, []int{4, 1}
164}
165
166// Generated classes can be optimized for speed or code size.
167type FileOptions_OptimizeMode int32
168
169const (
170	FileOptions_SPEED FileOptions_OptimizeMode = 1
171	// etc.
172	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
173	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
174)
175
176var FileOptions_OptimizeMode_name = map[int32]string{
177	1: "SPEED",
178	2: "CODE_SIZE",
179	3: "LITE_RUNTIME",
180}
181
182var FileOptions_OptimizeMode_value = map[string]int32{
183	"SPEED":        1,
184	"CODE_SIZE":    2,
185	"LITE_RUNTIME": 3,
186}
187
188func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
189	p := new(FileOptions_OptimizeMode)
190	*p = x
191	return p
192}
193
194func (x FileOptions_OptimizeMode) String() string {
195	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
196}
197
198func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
199	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
200	if err != nil {
201		return err
202	}
203	*x = FileOptions_OptimizeMode(value)
204	return nil
205}
206
207func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
208	return fileDescriptor_e5baabe45344a177, []int{10, 0}
209}
210
211type FieldOptions_CType int32
212
213const (
214	// Default mode.
215	FieldOptions_STRING       FieldOptions_CType = 0
216	FieldOptions_CORD         FieldOptions_CType = 1
217	FieldOptions_STRING_PIECE FieldOptions_CType = 2
218)
219
220var FieldOptions_CType_name = map[int32]string{
221	0: "STRING",
222	1: "CORD",
223	2: "STRING_PIECE",
224}
225
226var FieldOptions_CType_value = map[string]int32{
227	"STRING":       0,
228	"CORD":         1,
229	"STRING_PIECE": 2,
230}
231
232func (x FieldOptions_CType) Enum() *FieldOptions_CType {
233	p := new(FieldOptions_CType)
234	*p = x
235	return p
236}
237
238func (x FieldOptions_CType) String() string {
239	return proto.EnumName(FieldOptions_CType_name, int32(x))
240}
241
242func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
243	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
244	if err != nil {
245		return err
246	}
247	*x = FieldOptions_CType(value)
248	return nil
249}
250
251func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
252	return fileDescriptor_e5baabe45344a177, []int{12, 0}
253}
254
255type FieldOptions_JSType int32
256
257const (
258	// Use the default type.
259	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
260	// Use JavaScript strings.
261	FieldOptions_JS_STRING FieldOptions_JSType = 1
262	// Use JavaScript numbers.
263	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
264)
265
266var FieldOptions_JSType_name = map[int32]string{
267	0: "JS_NORMAL",
268	1: "JS_STRING",
269	2: "JS_NUMBER",
270}
271
272var FieldOptions_JSType_value = map[string]int32{
273	"JS_NORMAL": 0,
274	"JS_STRING": 1,
275	"JS_NUMBER": 2,
276}
277
278func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
279	p := new(FieldOptions_JSType)
280	*p = x
281	return p
282}
283
284func (x FieldOptions_JSType) String() string {
285	return proto.EnumName(FieldOptions_JSType_name, int32(x))
286}
287
288func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
289	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
290	if err != nil {
291		return err
292	}
293	*x = FieldOptions_JSType(value)
294	return nil
295}
296
297func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
298	return fileDescriptor_e5baabe45344a177, []int{12, 1}
299}
300
301// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
302// or neither? HTTP based RPC implementation may choose GET verb for safe
303// methods, and PUT verb for idempotent methods instead of the default POST.
304type MethodOptions_IdempotencyLevel int32
305
306const (
307	MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0
308	MethodOptions_NO_SIDE_EFFECTS     MethodOptions_IdempotencyLevel = 1
309	MethodOptions_IDEMPOTENT          MethodOptions_IdempotencyLevel = 2
310)
311
312var MethodOptions_IdempotencyLevel_name = map[int32]string{
313	0: "IDEMPOTENCY_UNKNOWN",
314	1: "NO_SIDE_EFFECTS",
315	2: "IDEMPOTENT",
316}
317
318var MethodOptions_IdempotencyLevel_value = map[string]int32{
319	"IDEMPOTENCY_UNKNOWN": 0,
320	"NO_SIDE_EFFECTS":     1,
321	"IDEMPOTENT":          2,
322}
323
324func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
325	p := new(MethodOptions_IdempotencyLevel)
326	*p = x
327	return p
328}
329
330func (x MethodOptions_IdempotencyLevel) String() string {
331	return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))
332}
333
334func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
335	value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel")
336	if err != nil {
337		return err
338	}
339	*x = MethodOptions_IdempotencyLevel(value)
340	return nil
341}
342
343func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
344	return fileDescriptor_e5baabe45344a177, []int{17, 0}
345}
346
347// The protocol compiler can output a FileDescriptorSet containing the .proto
348// files it parses.
349type FileDescriptorSet struct {
350	File                 []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
351	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
352	XXX_unrecognized     []byte                 `json:"-"`
353	XXX_sizecache        int32                  `json:"-"`
354}
355
356func (m *FileDescriptorSet) Reset()         { *m = FileDescriptorSet{} }
357func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }
358func (*FileDescriptorSet) ProtoMessage()    {}
359func (*FileDescriptorSet) Descriptor() ([]byte, []int) {
360	return fileDescriptor_e5baabe45344a177, []int{0}
361}
362
363func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {
364	return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b)
365}
366func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
367	return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic)
368}
369func (m *FileDescriptorSet) XXX_Merge(src proto.Message) {
370	xxx_messageInfo_FileDescriptorSet.Merge(m, src)
371}
372func (m *FileDescriptorSet) XXX_Size() int {
373	return xxx_messageInfo_FileDescriptorSet.Size(m)
374}
375func (m *FileDescriptorSet) XXX_DiscardUnknown() {
376	xxx_messageInfo_FileDescriptorSet.DiscardUnknown(m)
377}
378
379var xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo
380
381func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
382	if m != nil {
383		return m.File
384	}
385	return nil
386}
387
388// Describes a complete .proto file.
389type FileDescriptorProto struct {
390	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
391	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
392	// Names of files imported by this file.
393	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
394	// Indexes of the public imported files in the dependency list above.
395	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
396	// Indexes of the weak imported files in the dependency list.
397	// For Google-internal migration only. Do not use.
398	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
399	// All top-level definitions in this file.
400	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
401	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
402	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
403	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
404	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
405	// This field contains optional information about the original source code.
406	// You may safely remove this entire field without harming runtime
407	// functionality of the descriptors -- the information is needed only by
408	// development tools.
409	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
410	// The syntax of the proto file.
411	// The supported values are "proto2" and "proto3".
412	Syntax               *string  `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
413	XXX_NoUnkeyedLiteral struct{} `json:"-"`
414	XXX_unrecognized     []byte   `json:"-"`
415	XXX_sizecache        int32    `json:"-"`
416}
417
418func (m *FileDescriptorProto) Reset()         { *m = FileDescriptorProto{} }
419func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }
420func (*FileDescriptorProto) ProtoMessage()    {}
421func (*FileDescriptorProto) Descriptor() ([]byte, []int) {
422	return fileDescriptor_e5baabe45344a177, []int{1}
423}
424
425func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {
426	return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b)
427}
428func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
429	return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic)
430}
431func (m *FileDescriptorProto) XXX_Merge(src proto.Message) {
432	xxx_messageInfo_FileDescriptorProto.Merge(m, src)
433}
434func (m *FileDescriptorProto) XXX_Size() int {
435	return xxx_messageInfo_FileDescriptorProto.Size(m)
436}
437func (m *FileDescriptorProto) XXX_DiscardUnknown() {
438	xxx_messageInfo_FileDescriptorProto.DiscardUnknown(m)
439}
440
441var xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo
442
443func (m *FileDescriptorProto) GetName() string {
444	if m != nil && m.Name != nil {
445		return *m.Name
446	}
447	return ""
448}
449
450func (m *FileDescriptorProto) GetPackage() string {
451	if m != nil && m.Package != nil {
452		return *m.Package
453	}
454	return ""
455}
456
457func (m *FileDescriptorProto) GetDependency() []string {
458	if m != nil {
459		return m.Dependency
460	}
461	return nil
462}
463
464func (m *FileDescriptorProto) GetPublicDependency() []int32 {
465	if m != nil {
466		return m.PublicDependency
467	}
468	return nil
469}
470
471func (m *FileDescriptorProto) GetWeakDependency() []int32 {
472	if m != nil {
473		return m.WeakDependency
474	}
475	return nil
476}
477
478func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
479	if m != nil {
480		return m.MessageType
481	}
482	return nil
483}
484
485func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
486	if m != nil {
487		return m.EnumType
488	}
489	return nil
490}
491
492func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
493	if m != nil {
494		return m.Service
495	}
496	return nil
497}
498
499func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
500	if m != nil {
501		return m.Extension
502	}
503	return nil
504}
505
506func (m *FileDescriptorProto) GetOptions() *FileOptions {
507	if m != nil {
508		return m.Options
509	}
510	return nil
511}
512
513func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
514	if m != nil {
515		return m.SourceCodeInfo
516	}
517	return nil
518}
519
520func (m *FileDescriptorProto) GetSyntax() string {
521	if m != nil && m.Syntax != nil {
522		return *m.Syntax
523	}
524	return ""
525}
526
527// Describes a message type.
528type DescriptorProto struct {
529	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
530	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
531	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
532	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
533	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
534	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
535	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
536	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
537	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
538	// Reserved field names, which may not be used by fields in the same message.
539	// A given name may only be reserved once.
540	ReservedName         []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
541	XXX_NoUnkeyedLiteral struct{} `json:"-"`
542	XXX_unrecognized     []byte   `json:"-"`
543	XXX_sizecache        int32    `json:"-"`
544}
545
546func (m *DescriptorProto) Reset()         { *m = DescriptorProto{} }
547func (m *DescriptorProto) String() string { return proto.CompactTextString(m) }
548func (*DescriptorProto) ProtoMessage()    {}
549func (*DescriptorProto) Descriptor() ([]byte, []int) {
550	return fileDescriptor_e5baabe45344a177, []int{2}
551}
552
553func (m *DescriptorProto) XXX_Unmarshal(b []byte) error {
554	return xxx_messageInfo_DescriptorProto.Unmarshal(m, b)
555}
556func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
557	return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic)
558}
559func (m *DescriptorProto) XXX_Merge(src proto.Message) {
560	xxx_messageInfo_DescriptorProto.Merge(m, src)
561}
562func (m *DescriptorProto) XXX_Size() int {
563	return xxx_messageInfo_DescriptorProto.Size(m)
564}
565func (m *DescriptorProto) XXX_DiscardUnknown() {
566	xxx_messageInfo_DescriptorProto.DiscardUnknown(m)
567}
568
569var xxx_messageInfo_DescriptorProto proto.InternalMessageInfo
570
571func (m *DescriptorProto) GetName() string {
572	if m != nil && m.Name != nil {
573		return *m.Name
574	}
575	return ""
576}
577
578func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
579	if m != nil {
580		return m.Field
581	}
582	return nil
583}
584
585func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
586	if m != nil {
587		return m.Extension
588	}
589	return nil
590}
591
592func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
593	if m != nil {
594		return m.NestedType
595	}
596	return nil
597}
598
599func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
600	if m != nil {
601		return m.EnumType
602	}
603	return nil
604}
605
606func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
607	if m != nil {
608		return m.ExtensionRange
609	}
610	return nil
611}
612
613func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
614	if m != nil {
615		return m.OneofDecl
616	}
617	return nil
618}
619
620func (m *DescriptorProto) GetOptions() *MessageOptions {
621	if m != nil {
622		return m.Options
623	}
624	return nil
625}
626
627func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
628	if m != nil {
629		return m.ReservedRange
630	}
631	return nil
632}
633
634func (m *DescriptorProto) GetReservedName() []string {
635	if m != nil {
636		return m.ReservedName
637	}
638	return nil
639}
640
641type DescriptorProto_ExtensionRange struct {
642	Start                *int32                 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
643	End                  *int32                 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
644	Options              *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
645	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
646	XXX_unrecognized     []byte                 `json:"-"`
647	XXX_sizecache        int32                  `json:"-"`
648}
649
650func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
651func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
652func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
653func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
654	return fileDescriptor_e5baabe45344a177, []int{2, 0}
655}
656
657func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {
658	return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b)
659}
660func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
661	return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic)
662}
663func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {
664	xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src)
665}
666func (m *DescriptorProto_ExtensionRange) XXX_Size() int {
667	return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m)
668}
669func (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() {
670	xxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m)
671}
672
673var xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo
674
675func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
676	if m != nil && m.Start != nil {
677		return *m.Start
678	}
679	return 0
680}
681
682func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
683	if m != nil && m.End != nil {
684		return *m.End
685	}
686	return 0
687}
688
689func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
690	if m != nil {
691		return m.Options
692	}
693	return nil
694}
695
696// Range of reserved tag numbers. Reserved tag numbers may not be used by
697// fields or extension ranges in the same message. Reserved ranges may
698// not overlap.
699type DescriptorProto_ReservedRange struct {
700	Start                *int32   `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
701	End                  *int32   `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
702	XXX_NoUnkeyedLiteral struct{} `json:"-"`
703	XXX_unrecognized     []byte   `json:"-"`
704	XXX_sizecache        int32    `json:"-"`
705}
706
707func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
708func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
709func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
710func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
711	return fileDescriptor_e5baabe45344a177, []int{2, 1}
712}
713
714func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {
715	return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b)
716}
717func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
718	return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic)
719}
720func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {
721	xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src)
722}
723func (m *DescriptorProto_ReservedRange) XXX_Size() int {
724	return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m)
725}
726func (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() {
727	xxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m)
728}
729
730var xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo
731
732func (m *DescriptorProto_ReservedRange) GetStart() int32 {
733	if m != nil && m.Start != nil {
734		return *m.Start
735	}
736	return 0
737}
738
739func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
740	if m != nil && m.End != nil {
741		return *m.End
742	}
743	return 0
744}
745
746type ExtensionRangeOptions struct {
747	// The parser stores options it doesn't recognize here. See above.
748	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
749	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
750	proto.XXX_InternalExtensions `json:"-"`
751	XXX_unrecognized             []byte `json:"-"`
752	XXX_sizecache                int32  `json:"-"`
753}
754
755func (m *ExtensionRangeOptions) Reset()         { *m = ExtensionRangeOptions{} }
756func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }
757func (*ExtensionRangeOptions) ProtoMessage()    {}
758func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {
759	return fileDescriptor_e5baabe45344a177, []int{3}
760}
761
762var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
763	{Start: 1000, End: 536870911},
764}
765
766func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
767	return extRange_ExtensionRangeOptions
768}
769
770func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error {
771	return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b)
772}
773func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
774	return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic)
775}
776func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) {
777	xxx_messageInfo_ExtensionRangeOptions.Merge(m, src)
778}
779func (m *ExtensionRangeOptions) XXX_Size() int {
780	return xxx_messageInfo_ExtensionRangeOptions.Size(m)
781}
782func (m *ExtensionRangeOptions) XXX_DiscardUnknown() {
783	xxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m)
784}
785
786var xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo
787
788func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
789	if m != nil {
790		return m.UninterpretedOption
791	}
792	return nil
793}
794
795// Describes a field within a message.
796type FieldDescriptorProto struct {
797	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
798	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
799	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
800	// If type_name is set, this need not be set.  If both this and type_name
801	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
802	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
803	// For message and enum types, this is the name of the type.  If the name
804	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
805	// rules are used to find the type (i.e. first the nested types within this
806	// message are searched, then within the parent, on up to the root
807	// namespace).
808	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
809	// For extensions, this is the name of the type being extended.  It is
810	// resolved in the same manner as type_name.
811	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
812	// For numeric types, contains the original text representation of the value.
813	// For booleans, "true" or "false".
814	// For strings, contains the default text contents (not escaped in any way).
815	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
816	// TODO(kenton):  Base-64 encode?
817	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
818	// If set, gives the index of a oneof in the containing type's oneof_decl
819	// list.  This field is a member of that oneof.
820	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
821	// JSON name of this field. The value is set by protocol compiler. If the
822	// user has set a "json_name" option on this field, that option's value
823	// will be used. Otherwise, it's deduced from the field's name by converting
824	// it to camelCase.
825	JsonName             *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
826	Options              *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
827	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
828	XXX_unrecognized     []byte        `json:"-"`
829	XXX_sizecache        int32         `json:"-"`
830}
831
832func (m *FieldDescriptorProto) Reset()         { *m = FieldDescriptorProto{} }
833func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
834func (*FieldDescriptorProto) ProtoMessage()    {}
835func (*FieldDescriptorProto) Descriptor() ([]byte, []int) {
836	return fileDescriptor_e5baabe45344a177, []int{4}
837}
838
839func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {
840	return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b)
841}
842func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
843	return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic)
844}
845func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) {
846	xxx_messageInfo_FieldDescriptorProto.Merge(m, src)
847}
848func (m *FieldDescriptorProto) XXX_Size() int {
849	return xxx_messageInfo_FieldDescriptorProto.Size(m)
850}
851func (m *FieldDescriptorProto) XXX_DiscardUnknown() {
852	xxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m)
853}
854
855var xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo
856
857func (m *FieldDescriptorProto) GetName() string {
858	if m != nil && m.Name != nil {
859		return *m.Name
860	}
861	return ""
862}
863
864func (m *FieldDescriptorProto) GetNumber() int32 {
865	if m != nil && m.Number != nil {
866		return *m.Number
867	}
868	return 0
869}
870
871func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
872	if m != nil && m.Label != nil {
873		return *m.Label
874	}
875	return FieldDescriptorProto_LABEL_OPTIONAL
876}
877
878func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
879	if m != nil && m.Type != nil {
880		return *m.Type
881	}
882	return FieldDescriptorProto_TYPE_DOUBLE
883}
884
885func (m *FieldDescriptorProto) GetTypeName() string {
886	if m != nil && m.TypeName != nil {
887		return *m.TypeName
888	}
889	return ""
890}
891
892func (m *FieldDescriptorProto) GetExtendee() string {
893	if m != nil && m.Extendee != nil {
894		return *m.Extendee
895	}
896	return ""
897}
898
899func (m *FieldDescriptorProto) GetDefaultValue() string {
900	if m != nil && m.DefaultValue != nil {
901		return *m.DefaultValue
902	}
903	return ""
904}
905
906func (m *FieldDescriptorProto) GetOneofIndex() int32 {
907	if m != nil && m.OneofIndex != nil {
908		return *m.OneofIndex
909	}
910	return 0
911}
912
913func (m *FieldDescriptorProto) GetJsonName() string {
914	if m != nil && m.JsonName != nil {
915		return *m.JsonName
916	}
917	return ""
918}
919
920func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
921	if m != nil {
922		return m.Options
923	}
924	return nil
925}
926
927// Describes a oneof.
928type OneofDescriptorProto struct {
929	Name                 *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
930	Options              *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
931	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
932	XXX_unrecognized     []byte        `json:"-"`
933	XXX_sizecache        int32         `json:"-"`
934}
935
936func (m *OneofDescriptorProto) Reset()         { *m = OneofDescriptorProto{} }
937func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
938func (*OneofDescriptorProto) ProtoMessage()    {}
939func (*OneofDescriptorProto) Descriptor() ([]byte, []int) {
940	return fileDescriptor_e5baabe45344a177, []int{5}
941}
942
943func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {
944	return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b)
945}
946func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
947	return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic)
948}
949func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) {
950	xxx_messageInfo_OneofDescriptorProto.Merge(m, src)
951}
952func (m *OneofDescriptorProto) XXX_Size() int {
953	return xxx_messageInfo_OneofDescriptorProto.Size(m)
954}
955func (m *OneofDescriptorProto) XXX_DiscardUnknown() {
956	xxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m)
957}
958
959var xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo
960
961func (m *OneofDescriptorProto) GetName() string {
962	if m != nil && m.Name != nil {
963		return *m.Name
964	}
965	return ""
966}
967
968func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
969	if m != nil {
970		return m.Options
971	}
972	return nil
973}
974
975// Describes an enum type.
976type EnumDescriptorProto struct {
977	Name    *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
978	Value   []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
979	Options *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
980	// Range of reserved numeric values. Reserved numeric values may not be used
981	// by enum values in the same enum declaration. Reserved ranges may not
982	// overlap.
983	ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
984	// Reserved enum value names, which may not be reused. A given name may only
985	// be reserved once.
986	ReservedName         []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
987	XXX_NoUnkeyedLiteral struct{} `json:"-"`
988	XXX_unrecognized     []byte   `json:"-"`
989	XXX_sizecache        int32    `json:"-"`
990}
991
992func (m *EnumDescriptorProto) Reset()         { *m = EnumDescriptorProto{} }
993func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
994func (*EnumDescriptorProto) ProtoMessage()    {}
995func (*EnumDescriptorProto) Descriptor() ([]byte, []int) {
996	return fileDescriptor_e5baabe45344a177, []int{6}
997}
998
999func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {
1000	return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b)
1001}
1002func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1003	return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic)
1004}
1005func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) {
1006	xxx_messageInfo_EnumDescriptorProto.Merge(m, src)
1007}
1008func (m *EnumDescriptorProto) XXX_Size() int {
1009	return xxx_messageInfo_EnumDescriptorProto.Size(m)
1010}
1011func (m *EnumDescriptorProto) XXX_DiscardUnknown() {
1012	xxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m)
1013}
1014
1015var xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo
1016
1017func (m *EnumDescriptorProto) GetName() string {
1018	if m != nil && m.Name != nil {
1019		return *m.Name
1020	}
1021	return ""
1022}
1023
1024func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
1025	if m != nil {
1026		return m.Value
1027	}
1028	return nil
1029}
1030
1031func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
1032	if m != nil {
1033		return m.Options
1034	}
1035	return nil
1036}
1037
1038func (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {
1039	if m != nil {
1040		return m.ReservedRange
1041	}
1042	return nil
1043}
1044
1045func (m *EnumDescriptorProto) GetReservedName() []string {
1046	if m != nil {
1047		return m.ReservedName
1048	}
1049	return nil
1050}
1051
1052// Range of reserved numeric values. Reserved values may not be used by
1053// entries in the same enum. Reserved ranges may not overlap.
1054//
1055// Note that this is distinct from DescriptorProto.ReservedRange in that it
1056// is inclusive such that it can appropriately represent the entire int32
1057// domain.
1058type EnumDescriptorProto_EnumReservedRange struct {
1059	Start                *int32   `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
1060	End                  *int32   `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
1061	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1062	XXX_unrecognized     []byte   `json:"-"`
1063	XXX_sizecache        int32    `json:"-"`
1064}
1065
1066func (m *EnumDescriptorProto_EnumReservedRange) Reset()         { *m = EnumDescriptorProto_EnumReservedRange{} }
1067func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }
1068func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage()    {}
1069func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {
1070	return fileDescriptor_e5baabe45344a177, []int{6, 0}
1071}
1072
1073func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {
1074	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b)
1075}
1076func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1077	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic)
1078}
1079func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {
1080	xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src)
1081}
1082func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int {
1083	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m)
1084}
1085func (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() {
1086	xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m)
1087}
1088
1089var xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo
1090
1091func (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {
1092	if m != nil && m.Start != nil {
1093		return *m.Start
1094	}
1095	return 0
1096}
1097
1098func (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {
1099	if m != nil && m.End != nil {
1100		return *m.End
1101	}
1102	return 0
1103}
1104
1105// Describes a value within an enum.
1106type EnumValueDescriptorProto struct {
1107	Name                 *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1108	Number               *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
1109	Options              *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
1110	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1111	XXX_unrecognized     []byte            `json:"-"`
1112	XXX_sizecache        int32             `json:"-"`
1113}
1114
1115func (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorProto{} }
1116func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
1117func (*EnumValueDescriptorProto) ProtoMessage()    {}
1118func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
1119	return fileDescriptor_e5baabe45344a177, []int{7}
1120}
1121
1122func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {
1123	return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b)
1124}
1125func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1126	return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic)
1127}
1128func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {
1129	xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src)
1130}
1131func (m *EnumValueDescriptorProto) XXX_Size() int {
1132	return xxx_messageInfo_EnumValueDescriptorProto.Size(m)
1133}
1134func (m *EnumValueDescriptorProto) XXX_DiscardUnknown() {
1135	xxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m)
1136}
1137
1138var xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo
1139
1140func (m *EnumValueDescriptorProto) GetName() string {
1141	if m != nil && m.Name != nil {
1142		return *m.Name
1143	}
1144	return ""
1145}
1146
1147func (m *EnumValueDescriptorProto) GetNumber() int32 {
1148	if m != nil && m.Number != nil {
1149		return *m.Number
1150	}
1151	return 0
1152}
1153
1154func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
1155	if m != nil {
1156		return m.Options
1157	}
1158	return nil
1159}
1160
1161// Describes a service.
1162type ServiceDescriptorProto struct {
1163	Name                 *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1164	Method               []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
1165	Options              *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
1166	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
1167	XXX_unrecognized     []byte                   `json:"-"`
1168	XXX_sizecache        int32                    `json:"-"`
1169}
1170
1171func (m *ServiceDescriptorProto) Reset()         { *m = ServiceDescriptorProto{} }
1172func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
1173func (*ServiceDescriptorProto) ProtoMessage()    {}
1174func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {
1175	return fileDescriptor_e5baabe45344a177, []int{8}
1176}
1177
1178func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {
1179	return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b)
1180}
1181func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1182	return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic)
1183}
1184func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) {
1185	xxx_messageInfo_ServiceDescriptorProto.Merge(m, src)
1186}
1187func (m *ServiceDescriptorProto) XXX_Size() int {
1188	return xxx_messageInfo_ServiceDescriptorProto.Size(m)
1189}
1190func (m *ServiceDescriptorProto) XXX_DiscardUnknown() {
1191	xxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m)
1192}
1193
1194var xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo
1195
1196func (m *ServiceDescriptorProto) GetName() string {
1197	if m != nil && m.Name != nil {
1198		return *m.Name
1199	}
1200	return ""
1201}
1202
1203func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
1204	if m != nil {
1205		return m.Method
1206	}
1207	return nil
1208}
1209
1210func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
1211	if m != nil {
1212		return m.Options
1213	}
1214	return nil
1215}
1216
1217// Describes a method of a service.
1218type MethodDescriptorProto struct {
1219	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1220	// Input and output type names.  These are resolved in the same way as
1221	// FieldDescriptorProto.type_name, but must refer to a message type.
1222	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
1223	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
1224	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
1225	// Identifies if client streams multiple client messages
1226	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
1227	// Identifies if server streams multiple server messages
1228	ServerStreaming      *bool    `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
1229	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1230	XXX_unrecognized     []byte   `json:"-"`
1231	XXX_sizecache        int32    `json:"-"`
1232}
1233
1234func (m *MethodDescriptorProto) Reset()         { *m = MethodDescriptorProto{} }
1235func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
1236func (*MethodDescriptorProto) ProtoMessage()    {}
1237func (*MethodDescriptorProto) Descriptor() ([]byte, []int) {
1238	return fileDescriptor_e5baabe45344a177, []int{9}
1239}
1240
1241func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {
1242	return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b)
1243}
1244func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1245	return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic)
1246}
1247func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) {
1248	xxx_messageInfo_MethodDescriptorProto.Merge(m, src)
1249}
1250func (m *MethodDescriptorProto) XXX_Size() int {
1251	return xxx_messageInfo_MethodDescriptorProto.Size(m)
1252}
1253func (m *MethodDescriptorProto) XXX_DiscardUnknown() {
1254	xxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m)
1255}
1256
1257var xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo
1258
1259const Default_MethodDescriptorProto_ClientStreaming bool = false
1260const Default_MethodDescriptorProto_ServerStreaming bool = false
1261
1262func (m *MethodDescriptorProto) GetName() string {
1263	if m != nil && m.Name != nil {
1264		return *m.Name
1265	}
1266	return ""
1267}
1268
1269func (m *MethodDescriptorProto) GetInputType() string {
1270	if m != nil && m.InputType != nil {
1271		return *m.InputType
1272	}
1273	return ""
1274}
1275
1276func (m *MethodDescriptorProto) GetOutputType() string {
1277	if m != nil && m.OutputType != nil {
1278		return *m.OutputType
1279	}
1280	return ""
1281}
1282
1283func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
1284	if m != nil {
1285		return m.Options
1286	}
1287	return nil
1288}
1289
1290func (m *MethodDescriptorProto) GetClientStreaming() bool {
1291	if m != nil && m.ClientStreaming != nil {
1292		return *m.ClientStreaming
1293	}
1294	return Default_MethodDescriptorProto_ClientStreaming
1295}
1296
1297func (m *MethodDescriptorProto) GetServerStreaming() bool {
1298	if m != nil && m.ServerStreaming != nil {
1299		return *m.ServerStreaming
1300	}
1301	return Default_MethodDescriptorProto_ServerStreaming
1302}
1303
1304type FileOptions struct {
1305	// Sets the Java package where classes generated from this .proto will be
1306	// placed.  By default, the proto package is used, but this is often
1307	// inappropriate because proto packages do not normally start with backwards
1308	// domain names.
1309	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
1310	// If set, all the classes from the .proto file are wrapped in a single
1311	// outer class with the given name.  This applies to both Proto1
1312	// (equivalent to the old "--one_java_file" option) and Proto2 (where
1313	// a .proto always translates to a single class, but you may want to
1314	// explicitly choose the class name).
1315	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
1316	// If set true, then the Java code generator will generate a separate .java
1317	// file for each top-level message, enum, and service defined in the .proto
1318	// file.  Thus, these types will *not* be nested inside the outer class
1319	// named by java_outer_classname.  However, the outer class will still be
1320	// generated to contain the file's getDescriptor() method as well as any
1321	// top-level extensions defined in the file.
1322	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
1323	// This option does nothing.
1324	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` // Deprecated: Do not use.
1325	// If set true, then the Java2 code generator will generate code that
1326	// throws an exception whenever an attempt is made to assign a non-UTF-8
1327	// byte sequence to a string field.
1328	// Message reflection will do the same.
1329	// However, an extension field still accepts non-UTF-8 byte sequences.
1330	// This option has no effect on when used with the lite runtime.
1331	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
1332	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
1333	// Sets the Go package where structs generated from this .proto will be
1334	// placed. If omitted, the Go package will be derived from the following:
1335	//   - The basename of the package import path, if provided.
1336	//   - Otherwise, the package statement in the .proto file, if present.
1337	//   - Otherwise, the basename of the .proto file, without extension.
1338	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
1339	// Should generic services be generated in each language?  "Generic" services
1340	// are not specific to any particular RPC system.  They are generated by the
1341	// main code generators in each language (without additional plugins).
1342	// Generic services were the only kind of service generation supported by
1343	// early versions of google.protobuf.
1344	//
1345	// Generic services are now considered deprecated in favor of using plugins
1346	// that generate code specific to your particular RPC system.  Therefore,
1347	// these default to false.  Old code which depends on generic services should
1348	// explicitly set them to true.
1349	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
1350	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
1351	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
1352	PhpGenericServices  *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
1353	// Is this file deprecated?
1354	// Depending on the target platform, this can emit Deprecated annotations
1355	// for everything in the file, or it will be completely ignored; in the very
1356	// least, this is a formalization for deprecating files.
1357	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1358	// Enables the use of arenas for the proto messages in this file. This applies
1359	// only to generated classes for C++.
1360	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
1361	// Sets the objective c class prefix which is prepended to all objective c
1362	// generated classes from this .proto. There is no default.
1363	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
1364	// Namespace for generated classes; defaults to the package.
1365	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
1366	// By default Swift generators will take the proto package and CamelCase it
1367	// replacing '.' with underscore and use that to prefix the types/symbols
1368	// defined. When this options is provided, they will use this value instead
1369	// to prefix the types/symbols defined.
1370	SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"`
1371	// Sets the php class prefix which is prepended to all php generated classes
1372	// from this .proto. Default is empty.
1373	PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"`
1374	// Use this option to change the namespace of php generated classes. Default
1375	// is empty. When this option is empty, the package name will be used for
1376	// determining the namespace.
1377	PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
1378	// Use this option to change the namespace of php generated metadata classes.
1379	// Default is empty. When this option is empty, the proto file name will be used
1380	// for determining the namespace.
1381	PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"`
1382	// Use this option to change the package of ruby generated classes. Default
1383	// is empty. When this option is not set, the package name will be used for
1384	// determining the ruby package.
1385	RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"`
1386	// The parser stores options it doesn't recognize here.
1387	// See the documentation for the "Options" section above.
1388	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1389	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
1390	proto.XXX_InternalExtensions `json:"-"`
1391	XXX_unrecognized             []byte `json:"-"`
1392	XXX_sizecache                int32  `json:"-"`
1393}
1394
1395func (m *FileOptions) Reset()         { *m = FileOptions{} }
1396func (m *FileOptions) String() string { return proto.CompactTextString(m) }
1397func (*FileOptions) ProtoMessage()    {}
1398func (*FileOptions) Descriptor() ([]byte, []int) {
1399	return fileDescriptor_e5baabe45344a177, []int{10}
1400}
1401
1402var extRange_FileOptions = []proto.ExtensionRange{
1403	{Start: 1000, End: 536870911},
1404}
1405
1406func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
1407	return extRange_FileOptions
1408}
1409
1410func (m *FileOptions) XXX_Unmarshal(b []byte) error {
1411	return xxx_messageInfo_FileOptions.Unmarshal(m, b)
1412}
1413func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1414	return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic)
1415}
1416func (m *FileOptions) XXX_Merge(src proto.Message) {
1417	xxx_messageInfo_FileOptions.Merge(m, src)
1418}
1419func (m *FileOptions) XXX_Size() int {
1420	return xxx_messageInfo_FileOptions.Size(m)
1421}
1422func (m *FileOptions) XXX_DiscardUnknown() {
1423	xxx_messageInfo_FileOptions.DiscardUnknown(m)
1424}
1425
1426var xxx_messageInfo_FileOptions proto.InternalMessageInfo
1427
1428const Default_FileOptions_JavaMultipleFiles bool = false
1429const Default_FileOptions_JavaStringCheckUtf8 bool = false
1430const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
1431const Default_FileOptions_CcGenericServices bool = false
1432const Default_FileOptions_JavaGenericServices bool = false
1433const Default_FileOptions_PyGenericServices bool = false
1434const Default_FileOptions_PhpGenericServices bool = false
1435const Default_FileOptions_Deprecated bool = false
1436const Default_FileOptions_CcEnableArenas bool = false
1437
1438func (m *FileOptions) GetJavaPackage() string {
1439	if m != nil && m.JavaPackage != nil {
1440		return *m.JavaPackage
1441	}
1442	return ""
1443}
1444
1445func (m *FileOptions) GetJavaOuterClassname() string {
1446	if m != nil && m.JavaOuterClassname != nil {
1447		return *m.JavaOuterClassname
1448	}
1449	return ""
1450}
1451
1452func (m *FileOptions) GetJavaMultipleFiles() bool {
1453	if m != nil && m.JavaMultipleFiles != nil {
1454		return *m.JavaMultipleFiles
1455	}
1456	return Default_FileOptions_JavaMultipleFiles
1457}
1458
1459// Deprecated: Do not use.
1460func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
1461	if m != nil && m.JavaGenerateEqualsAndHash != nil {
1462		return *m.JavaGenerateEqualsAndHash
1463	}
1464	return false
1465}
1466
1467func (m *FileOptions) GetJavaStringCheckUtf8() bool {
1468	if m != nil && m.JavaStringCheckUtf8 != nil {
1469		return *m.JavaStringCheckUtf8
1470	}
1471	return Default_FileOptions_JavaStringCheckUtf8
1472}
1473
1474func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
1475	if m != nil && m.OptimizeFor != nil {
1476		return *m.OptimizeFor
1477	}
1478	return Default_FileOptions_OptimizeFor
1479}
1480
1481func (m *FileOptions) GetGoPackage() string {
1482	if m != nil && m.GoPackage != nil {
1483		return *m.GoPackage
1484	}
1485	return ""
1486}
1487
1488func (m *FileOptions) GetCcGenericServices() bool {
1489	if m != nil && m.CcGenericServices != nil {
1490		return *m.CcGenericServices
1491	}
1492	return Default_FileOptions_CcGenericServices
1493}
1494
1495func (m *FileOptions) GetJavaGenericServices() bool {
1496	if m != nil && m.JavaGenericServices != nil {
1497		return *m.JavaGenericServices
1498	}
1499	return Default_FileOptions_JavaGenericServices
1500}
1501
1502func (m *FileOptions) GetPyGenericServices() bool {
1503	if m != nil && m.PyGenericServices != nil {
1504		return *m.PyGenericServices
1505	}
1506	return Default_FileOptions_PyGenericServices
1507}
1508
1509func (m *FileOptions) GetPhpGenericServices() bool {
1510	if m != nil && m.PhpGenericServices != nil {
1511		return *m.PhpGenericServices
1512	}
1513	return Default_FileOptions_PhpGenericServices
1514}
1515
1516func (m *FileOptions) GetDeprecated() bool {
1517	if m != nil && m.Deprecated != nil {
1518		return *m.Deprecated
1519	}
1520	return Default_FileOptions_Deprecated
1521}
1522
1523func (m *FileOptions) GetCcEnableArenas() bool {
1524	if m != nil && m.CcEnableArenas != nil {
1525		return *m.CcEnableArenas
1526	}
1527	return Default_FileOptions_CcEnableArenas
1528}
1529
1530func (m *FileOptions) GetObjcClassPrefix() string {
1531	if m != nil && m.ObjcClassPrefix != nil {
1532		return *m.ObjcClassPrefix
1533	}
1534	return ""
1535}
1536
1537func (m *FileOptions) GetCsharpNamespace() string {
1538	if m != nil && m.CsharpNamespace != nil {
1539		return *m.CsharpNamespace
1540	}
1541	return ""
1542}
1543
1544func (m *FileOptions) GetSwiftPrefix() string {
1545	if m != nil && m.SwiftPrefix != nil {
1546		return *m.SwiftPrefix
1547	}
1548	return ""
1549}
1550
1551func (m *FileOptions) GetPhpClassPrefix() string {
1552	if m != nil && m.PhpClassPrefix != nil {
1553		return *m.PhpClassPrefix
1554	}
1555	return ""
1556}
1557
1558func (m *FileOptions) GetPhpNamespace() string {
1559	if m != nil && m.PhpNamespace != nil {
1560		return *m.PhpNamespace
1561	}
1562	return ""
1563}
1564
1565func (m *FileOptions) GetPhpMetadataNamespace() string {
1566	if m != nil && m.PhpMetadataNamespace != nil {
1567		return *m.PhpMetadataNamespace
1568	}
1569	return ""
1570}
1571
1572func (m *FileOptions) GetRubyPackage() string {
1573	if m != nil && m.RubyPackage != nil {
1574		return *m.RubyPackage
1575	}
1576	return ""
1577}
1578
1579func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
1580	if m != nil {
1581		return m.UninterpretedOption
1582	}
1583	return nil
1584}
1585
1586type MessageOptions struct {
1587	// Set true to use the old proto1 MessageSet wire format for extensions.
1588	// This is provided for backwards-compatibility with the MessageSet wire
1589	// format.  You should not use this for any other reason:  It's less
1590	// efficient, has fewer features, and is more complicated.
1591	//
1592	// The message must be defined exactly as follows:
1593	//   message Foo {
1594	//     option message_set_wire_format = true;
1595	//     extensions 4 to max;
1596	//   }
1597	// Note that the message cannot have any defined fields; MessageSets only
1598	// have extensions.
1599	//
1600	// All extensions of your type must be singular messages; e.g. they cannot
1601	// be int32s, enums, or repeated messages.
1602	//
1603	// Because this is an option, the above two restrictions are not enforced by
1604	// the protocol compiler.
1605	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
1606	// Disables the generation of the standard "descriptor()" accessor, which can
1607	// conflict with a field of the same name.  This is meant to make migration
1608	// from proto1 easier; new code should avoid fields named "descriptor".
1609	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
1610	// Is this message deprecated?
1611	// Depending on the target platform, this can emit Deprecated annotations
1612	// for the message, or it will be completely ignored; in the very least,
1613	// this is a formalization for deprecating messages.
1614	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1615	// Whether the message is an automatically generated map entry type for the
1616	// maps field.
1617	//
1618	// For maps fields:
1619	//     map<KeyType, ValueType> map_field = 1;
1620	// The parsed descriptor looks like:
1621	//     message MapFieldEntry {
1622	//         option map_entry = true;
1623	//         optional KeyType key = 1;
1624	//         optional ValueType value = 2;
1625	//     }
1626	//     repeated MapFieldEntry map_field = 1;
1627	//
1628	// Implementations may choose not to generate the map_entry=true message, but
1629	// use a native map in the target language to hold the keys and values.
1630	// The reflection APIs in such implementions still need to work as
1631	// if the field is a repeated message field.
1632	//
1633	// NOTE: Do not set the option in .proto files. Always use the maps syntax
1634	// instead. The option should only be implicitly set by the proto compiler
1635	// parser.
1636	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
1637	// The parser stores options it doesn't recognize here. See above.
1638	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1639	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
1640	proto.XXX_InternalExtensions `json:"-"`
1641	XXX_unrecognized             []byte `json:"-"`
1642	XXX_sizecache                int32  `json:"-"`
1643}
1644
1645func (m *MessageOptions) Reset()         { *m = MessageOptions{} }
1646func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
1647func (*MessageOptions) ProtoMessage()    {}
1648func (*MessageOptions) Descriptor() ([]byte, []int) {
1649	return fileDescriptor_e5baabe45344a177, []int{11}
1650}
1651
1652var extRange_MessageOptions = []proto.ExtensionRange{
1653	{Start: 1000, End: 536870911},
1654}
1655
1656func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
1657	return extRange_MessageOptions
1658}
1659
1660func (m *MessageOptions) XXX_Unmarshal(b []byte) error {
1661	return xxx_messageInfo_MessageOptions.Unmarshal(m, b)
1662}
1663func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1664	return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic)
1665}
1666func (m *MessageOptions) XXX_Merge(src proto.Message) {
1667	xxx_messageInfo_MessageOptions.Merge(m, src)
1668}
1669func (m *MessageOptions) XXX_Size() int {
1670	return xxx_messageInfo_MessageOptions.Size(m)
1671}
1672func (m *MessageOptions) XXX_DiscardUnknown() {
1673	xxx_messageInfo_MessageOptions.DiscardUnknown(m)
1674}
1675
1676var xxx_messageInfo_MessageOptions proto.InternalMessageInfo
1677
1678const Default_MessageOptions_MessageSetWireFormat bool = false
1679const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
1680const Default_MessageOptions_Deprecated bool = false
1681
1682func (m *MessageOptions) GetMessageSetWireFormat() bool {
1683	if m != nil && m.MessageSetWireFormat != nil {
1684		return *m.MessageSetWireFormat
1685	}
1686	return Default_MessageOptions_MessageSetWireFormat
1687}
1688
1689func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
1690	if m != nil && m.NoStandardDescriptorAccessor != nil {
1691		return *m.NoStandardDescriptorAccessor
1692	}
1693	return Default_MessageOptions_NoStandardDescriptorAccessor
1694}
1695
1696func (m *MessageOptions) GetDeprecated() bool {
1697	if m != nil && m.Deprecated != nil {
1698		return *m.Deprecated
1699	}
1700	return Default_MessageOptions_Deprecated
1701}
1702
1703func (m *MessageOptions) GetMapEntry() bool {
1704	if m != nil && m.MapEntry != nil {
1705		return *m.MapEntry
1706	}
1707	return false
1708}
1709
1710func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
1711	if m != nil {
1712		return m.UninterpretedOption
1713	}
1714	return nil
1715}
1716
1717type FieldOptions struct {
1718	// The ctype option instructs the C++ code generator to use a different
1719	// representation of the field than it normally would.  See the specific
1720	// options below.  This option is not yet implemented in the open source
1721	// release -- sorry, we'll try to include it in a future version!
1722	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
1723	// The packed option can be enabled for repeated primitive fields to enable
1724	// a more efficient representation on the wire. Rather than repeatedly
1725	// writing the tag and type for each element, the entire array is encoded as
1726	// a single length-delimited blob. In proto3, only explicit setting it to
1727	// false will avoid using packed encoding.
1728	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
1729	// The jstype option determines the JavaScript type used for values of the
1730	// field.  The option is permitted only for 64 bit integral and fixed types
1731	// (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
1732	// is represented as JavaScript string, which avoids loss of precision that
1733	// can happen when a large value is converted to a floating point JavaScript.
1734	// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
1735	// use the JavaScript "number" type.  The behavior of the default option
1736	// JS_NORMAL is implementation dependent.
1737	//
1738	// This option is an enum to permit additional types to be added, e.g.
1739	// goog.math.Integer.
1740	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
1741	// Should this field be parsed lazily?  Lazy applies only to message-type
1742	// fields.  It means that when the outer message is initially parsed, the
1743	// inner message's contents will not be parsed but instead stored in encoded
1744	// form.  The inner message will actually be parsed when it is first accessed.
1745	//
1746	// This is only a hint.  Implementations are free to choose whether to use
1747	// eager or lazy parsing regardless of the value of this option.  However,
1748	// setting this option true suggests that the protocol author believes that
1749	// using lazy parsing on this field is worth the additional bookkeeping
1750	// overhead typically needed to implement it.
1751	//
1752	// This option does not affect the public interface of any generated code;
1753	// all method signatures remain the same.  Furthermore, thread-safety of the
1754	// interface is not affected by this option; const methods remain safe to
1755	// call from multiple threads concurrently, while non-const methods continue
1756	// to require exclusive access.
1757	//
1758	//
1759	// Note that implementations may choose not to check required fields within
1760	// a lazy sub-message.  That is, calling IsInitialized() on the outer message
1761	// may return true even if the inner message has missing required fields.
1762	// This is necessary because otherwise the inner message would have to be
1763	// parsed in order to perform the check, defeating the purpose of lazy
1764	// parsing.  An implementation which chooses not to check required fields
1765	// must be consistent about it.  That is, for any particular sub-message, the
1766	// implementation must either *always* check its required fields, or *never*
1767	// check its required fields, regardless of whether or not the message has
1768	// been parsed.
1769	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
1770	// Is this field deprecated?
1771	// Depending on the target platform, this can emit Deprecated annotations
1772	// for accessors, or it will be completely ignored; in the very least, this
1773	// is a formalization for deprecating fields.
1774	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1775	// For Google-internal migration only. Do not use.
1776	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
1777	// The parser stores options it doesn't recognize here. See above.
1778	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1779	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
1780	proto.XXX_InternalExtensions `json:"-"`
1781	XXX_unrecognized             []byte `json:"-"`
1782	XXX_sizecache                int32  `json:"-"`
1783}
1784
1785func (m *FieldOptions) Reset()         { *m = FieldOptions{} }
1786func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
1787func (*FieldOptions) ProtoMessage()    {}
1788func (*FieldOptions) Descriptor() ([]byte, []int) {
1789	return fileDescriptor_e5baabe45344a177, []int{12}
1790}
1791
1792var extRange_FieldOptions = []proto.ExtensionRange{
1793	{Start: 1000, End: 536870911},
1794}
1795
1796func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
1797	return extRange_FieldOptions
1798}
1799
1800func (m *FieldOptions) XXX_Unmarshal(b []byte) error {
1801	return xxx_messageInfo_FieldOptions.Unmarshal(m, b)
1802}
1803func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1804	return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic)
1805}
1806func (m *FieldOptions) XXX_Merge(src proto.Message) {
1807	xxx_messageInfo_FieldOptions.Merge(m, src)
1808}
1809func (m *FieldOptions) XXX_Size() int {
1810	return xxx_messageInfo_FieldOptions.Size(m)
1811}
1812func (m *FieldOptions) XXX_DiscardUnknown() {
1813	xxx_messageInfo_FieldOptions.DiscardUnknown(m)
1814}
1815
1816var xxx_messageInfo_FieldOptions proto.InternalMessageInfo
1817
1818const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
1819const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
1820const Default_FieldOptions_Lazy bool = false
1821const Default_FieldOptions_Deprecated bool = false
1822const Default_FieldOptions_Weak bool = false
1823
1824func (m *FieldOptions) GetCtype() FieldOptions_CType {
1825	if m != nil && m.Ctype != nil {
1826		return *m.Ctype
1827	}
1828	return Default_FieldOptions_Ctype
1829}
1830
1831func (m *FieldOptions) GetPacked() bool {
1832	if m != nil && m.Packed != nil {
1833		return *m.Packed
1834	}
1835	return false
1836}
1837
1838func (m *FieldOptions) GetJstype() FieldOptions_JSType {
1839	if m != nil && m.Jstype != nil {
1840		return *m.Jstype
1841	}
1842	return Default_FieldOptions_Jstype
1843}
1844
1845func (m *FieldOptions) GetLazy() bool {
1846	if m != nil && m.Lazy != nil {
1847		return *m.Lazy
1848	}
1849	return Default_FieldOptions_Lazy
1850}
1851
1852func (m *FieldOptions) GetDeprecated() bool {
1853	if m != nil && m.Deprecated != nil {
1854		return *m.Deprecated
1855	}
1856	return Default_FieldOptions_Deprecated
1857}
1858
1859func (m *FieldOptions) GetWeak() bool {
1860	if m != nil && m.Weak != nil {
1861		return *m.Weak
1862	}
1863	return Default_FieldOptions_Weak
1864}
1865
1866func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
1867	if m != nil {
1868		return m.UninterpretedOption
1869	}
1870	return nil
1871}
1872
1873type OneofOptions struct {
1874	// The parser stores options it doesn't recognize here. See above.
1875	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1876	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
1877	proto.XXX_InternalExtensions `json:"-"`
1878	XXX_unrecognized             []byte `json:"-"`
1879	XXX_sizecache                int32  `json:"-"`
1880}
1881
1882func (m *OneofOptions) Reset()         { *m = OneofOptions{} }
1883func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
1884func (*OneofOptions) ProtoMessage()    {}
1885func (*OneofOptions) Descriptor() ([]byte, []int) {
1886	return fileDescriptor_e5baabe45344a177, []int{13}
1887}
1888
1889var extRange_OneofOptions = []proto.ExtensionRange{
1890	{Start: 1000, End: 536870911},
1891}
1892
1893func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
1894	return extRange_OneofOptions
1895}
1896
1897func (m *OneofOptions) XXX_Unmarshal(b []byte) error {
1898	return xxx_messageInfo_OneofOptions.Unmarshal(m, b)
1899}
1900func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1901	return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic)
1902}
1903func (m *OneofOptions) XXX_Merge(src proto.Message) {
1904	xxx_messageInfo_OneofOptions.Merge(m, src)
1905}
1906func (m *OneofOptions) XXX_Size() int {
1907	return xxx_messageInfo_OneofOptions.Size(m)
1908}
1909func (m *OneofOptions) XXX_DiscardUnknown() {
1910	xxx_messageInfo_OneofOptions.DiscardUnknown(m)
1911}
1912
1913var xxx_messageInfo_OneofOptions proto.InternalMessageInfo
1914
1915func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
1916	if m != nil {
1917		return m.UninterpretedOption
1918	}
1919	return nil
1920}
1921
1922type EnumOptions struct {
1923	// Set this option to true to allow mapping different tag names to the same
1924	// value.
1925	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
1926	// Is this enum deprecated?
1927	// Depending on the target platform, this can emit Deprecated annotations
1928	// for the enum, or it will be completely ignored; in the very least, this
1929	// is a formalization for deprecating enums.
1930	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1931	// The parser stores options it doesn't recognize here. See above.
1932	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1933	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
1934	proto.XXX_InternalExtensions `json:"-"`
1935	XXX_unrecognized             []byte `json:"-"`
1936	XXX_sizecache                int32  `json:"-"`
1937}
1938
1939func (m *EnumOptions) Reset()         { *m = EnumOptions{} }
1940func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
1941func (*EnumOptions) ProtoMessage()    {}
1942func (*EnumOptions) Descriptor() ([]byte, []int) {
1943	return fileDescriptor_e5baabe45344a177, []int{14}
1944}
1945
1946var extRange_EnumOptions = []proto.ExtensionRange{
1947	{Start: 1000, End: 536870911},
1948}
1949
1950func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
1951	return extRange_EnumOptions
1952}
1953
1954func (m *EnumOptions) XXX_Unmarshal(b []byte) error {
1955	return xxx_messageInfo_EnumOptions.Unmarshal(m, b)
1956}
1957func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1958	return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic)
1959}
1960func (m *EnumOptions) XXX_Merge(src proto.Message) {
1961	xxx_messageInfo_EnumOptions.Merge(m, src)
1962}
1963func (m *EnumOptions) XXX_Size() int {
1964	return xxx_messageInfo_EnumOptions.Size(m)
1965}
1966func (m *EnumOptions) XXX_DiscardUnknown() {
1967	xxx_messageInfo_EnumOptions.DiscardUnknown(m)
1968}
1969
1970var xxx_messageInfo_EnumOptions proto.InternalMessageInfo
1971
1972const Default_EnumOptions_Deprecated bool = false
1973
1974func (m *EnumOptions) GetAllowAlias() bool {
1975	if m != nil && m.AllowAlias != nil {
1976		return *m.AllowAlias
1977	}
1978	return false
1979}
1980
1981func (m *EnumOptions) GetDeprecated() bool {
1982	if m != nil && m.Deprecated != nil {
1983		return *m.Deprecated
1984	}
1985	return Default_EnumOptions_Deprecated
1986}
1987
1988func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
1989	if m != nil {
1990		return m.UninterpretedOption
1991	}
1992	return nil
1993}
1994
1995type EnumValueOptions struct {
1996	// Is this enum value deprecated?
1997	// Depending on the target platform, this can emit Deprecated annotations
1998	// for the enum value, or it will be completely ignored; in the very least,
1999	// this is a formalization for deprecating enum values.
2000	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
2001	// The parser stores options it doesn't recognize here. See above.
2002	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
2003	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
2004	proto.XXX_InternalExtensions `json:"-"`
2005	XXX_unrecognized             []byte `json:"-"`
2006	XXX_sizecache                int32  `json:"-"`
2007}
2008
2009func (m *EnumValueOptions) Reset()         { *m = EnumValueOptions{} }
2010func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
2011func (*EnumValueOptions) ProtoMessage()    {}
2012func (*EnumValueOptions) Descriptor() ([]byte, []int) {
2013	return fileDescriptor_e5baabe45344a177, []int{15}
2014}
2015
2016var extRange_EnumValueOptions = []proto.ExtensionRange{
2017	{Start: 1000, End: 536870911},
2018}
2019
2020func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
2021	return extRange_EnumValueOptions
2022}
2023
2024func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error {
2025	return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b)
2026}
2027func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2028	return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic)
2029}
2030func (m *EnumValueOptions) XXX_Merge(src proto.Message) {
2031	xxx_messageInfo_EnumValueOptions.Merge(m, src)
2032}
2033func (m *EnumValueOptions) XXX_Size() int {
2034	return xxx_messageInfo_EnumValueOptions.Size(m)
2035}
2036func (m *EnumValueOptions) XXX_DiscardUnknown() {
2037	xxx_messageInfo_EnumValueOptions.DiscardUnknown(m)
2038}
2039
2040var xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo
2041
2042const Default_EnumValueOptions_Deprecated bool = false
2043
2044func (m *EnumValueOptions) GetDeprecated() bool {
2045	if m != nil && m.Deprecated != nil {
2046		return *m.Deprecated
2047	}
2048	return Default_EnumValueOptions_Deprecated
2049}
2050
2051func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
2052	if m != nil {
2053		return m.UninterpretedOption
2054	}
2055	return nil
2056}
2057
2058type ServiceOptions struct {
2059	// Is this service deprecated?
2060	// Depending on the target platform, this can emit Deprecated annotations
2061	// for the service, or it will be completely ignored; in the very least,
2062	// this is a formalization for deprecating services.
2063	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
2064	// The parser stores options it doesn't recognize here. See above.
2065	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
2066	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
2067	proto.XXX_InternalExtensions `json:"-"`
2068	XXX_unrecognized             []byte `json:"-"`
2069	XXX_sizecache                int32  `json:"-"`
2070}
2071
2072func (m *ServiceOptions) Reset()         { *m = ServiceOptions{} }
2073func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
2074func (*ServiceOptions) ProtoMessage()    {}
2075func (*ServiceOptions) Descriptor() ([]byte, []int) {
2076	return fileDescriptor_e5baabe45344a177, []int{16}
2077}
2078
2079var extRange_ServiceOptions = []proto.ExtensionRange{
2080	{Start: 1000, End: 536870911},
2081}
2082
2083func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
2084	return extRange_ServiceOptions
2085}
2086
2087func (m *ServiceOptions) XXX_Unmarshal(b []byte) error {
2088	return xxx_messageInfo_ServiceOptions.Unmarshal(m, b)
2089}
2090func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2091	return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic)
2092}
2093func (m *ServiceOptions) XXX_Merge(src proto.Message) {
2094	xxx_messageInfo_ServiceOptions.Merge(m, src)
2095}
2096func (m *ServiceOptions) XXX_Size() int {
2097	return xxx_messageInfo_ServiceOptions.Size(m)
2098}
2099func (m *ServiceOptions) XXX_DiscardUnknown() {
2100	xxx_messageInfo_ServiceOptions.DiscardUnknown(m)
2101}
2102
2103var xxx_messageInfo_ServiceOptions proto.InternalMessageInfo
2104
2105const Default_ServiceOptions_Deprecated bool = false
2106
2107func (m *ServiceOptions) GetDeprecated() bool {
2108	if m != nil && m.Deprecated != nil {
2109		return *m.Deprecated
2110	}
2111	return Default_ServiceOptions_Deprecated
2112}
2113
2114func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
2115	if m != nil {
2116		return m.UninterpretedOption
2117	}
2118	return nil
2119}
2120
2121type MethodOptions struct {
2122	// Is this method deprecated?
2123	// Depending on the target platform, this can emit Deprecated annotations
2124	// for the method, or it will be completely ignored; in the very least,
2125	// this is a formalization for deprecating methods.
2126	Deprecated       *bool                           `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
2127	IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"`
2128	// The parser stores options it doesn't recognize here. See above.
2129	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
2130	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
2131	proto.XXX_InternalExtensions `json:"-"`
2132	XXX_unrecognized             []byte `json:"-"`
2133	XXX_sizecache                int32  `json:"-"`
2134}
2135
2136func (m *MethodOptions) Reset()         { *m = MethodOptions{} }
2137func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
2138func (*MethodOptions) ProtoMessage()    {}
2139func (*MethodOptions) Descriptor() ([]byte, []int) {
2140	return fileDescriptor_e5baabe45344a177, []int{17}
2141}
2142
2143var extRange_MethodOptions = []proto.ExtensionRange{
2144	{Start: 1000, End: 536870911},
2145}
2146
2147func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
2148	return extRange_MethodOptions
2149}
2150
2151func (m *MethodOptions) XXX_Unmarshal(b []byte) error {
2152	return xxx_messageInfo_MethodOptions.Unmarshal(m, b)
2153}
2154func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2155	return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic)
2156}
2157func (m *MethodOptions) XXX_Merge(src proto.Message) {
2158	xxx_messageInfo_MethodOptions.Merge(m, src)
2159}
2160func (m *MethodOptions) XXX_Size() int {
2161	return xxx_messageInfo_MethodOptions.Size(m)
2162}
2163func (m *MethodOptions) XXX_DiscardUnknown() {
2164	xxx_messageInfo_MethodOptions.DiscardUnknown(m)
2165}
2166
2167var xxx_messageInfo_MethodOptions proto.InternalMessageInfo
2168
2169const Default_MethodOptions_Deprecated bool = false
2170const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN
2171
2172func (m *MethodOptions) GetDeprecated() bool {
2173	if m != nil && m.Deprecated != nil {
2174		return *m.Deprecated
2175	}
2176	return Default_MethodOptions_Deprecated
2177}
2178
2179func (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {
2180	if m != nil && m.IdempotencyLevel != nil {
2181		return *m.IdempotencyLevel
2182	}
2183	return Default_MethodOptions_IdempotencyLevel
2184}
2185
2186func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
2187	if m != nil {
2188		return m.UninterpretedOption
2189	}
2190	return nil
2191}
2192
2193// A message representing a option the parser does not recognize. This only
2194// appears in options protos created by the compiler::Parser class.
2195// DescriptorPool resolves these when building Descriptor objects. Therefore,
2196// options protos in descriptor objects (e.g. returned by Descriptor::options(),
2197// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
2198// in them.
2199type UninterpretedOption struct {
2200	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
2201	// The value of the uninterpreted option, in whatever type the tokenizer
2202	// identified it as during parsing. Exactly one of these should be set.
2203	IdentifierValue      *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
2204	PositiveIntValue     *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
2205	NegativeIntValue     *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
2206	DoubleValue          *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
2207	StringValue          []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
2208	AggregateValue       *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
2209	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2210	XXX_unrecognized     []byte   `json:"-"`
2211	XXX_sizecache        int32    `json:"-"`
2212}
2213
2214func (m *UninterpretedOption) Reset()         { *m = UninterpretedOption{} }
2215func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
2216func (*UninterpretedOption) ProtoMessage()    {}
2217func (*UninterpretedOption) Descriptor() ([]byte, []int) {
2218	return fileDescriptor_e5baabe45344a177, []int{18}
2219}
2220
2221func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {
2222	return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b)
2223}
2224func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2225	return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic)
2226}
2227func (m *UninterpretedOption) XXX_Merge(src proto.Message) {
2228	xxx_messageInfo_UninterpretedOption.Merge(m, src)
2229}
2230func (m *UninterpretedOption) XXX_Size() int {
2231	return xxx_messageInfo_UninterpretedOption.Size(m)
2232}
2233func (m *UninterpretedOption) XXX_DiscardUnknown() {
2234	xxx_messageInfo_UninterpretedOption.DiscardUnknown(m)
2235}
2236
2237var xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo
2238
2239func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
2240	if m != nil {
2241		return m.Name
2242	}
2243	return nil
2244}
2245
2246func (m *UninterpretedOption) GetIdentifierValue() string {
2247	if m != nil && m.IdentifierValue != nil {
2248		return *m.IdentifierValue
2249	}
2250	return ""
2251}
2252
2253func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
2254	if m != nil && m.PositiveIntValue != nil {
2255		return *m.PositiveIntValue
2256	}
2257	return 0
2258}
2259
2260func (m *UninterpretedOption) GetNegativeIntValue() int64 {
2261	if m != nil && m.NegativeIntValue != nil {
2262		return *m.NegativeIntValue
2263	}
2264	return 0
2265}
2266
2267func (m *UninterpretedOption) GetDoubleValue() float64 {
2268	if m != nil && m.DoubleValue != nil {
2269		return *m.DoubleValue
2270	}
2271	return 0
2272}
2273
2274func (m *UninterpretedOption) GetStringValue() []byte {
2275	if m != nil {
2276		return m.StringValue
2277	}
2278	return nil
2279}
2280
2281func (m *UninterpretedOption) GetAggregateValue() string {
2282	if m != nil && m.AggregateValue != nil {
2283		return *m.AggregateValue
2284	}
2285	return ""
2286}
2287
2288// The name of the uninterpreted option.  Each string represents a segment in
2289// a dot-separated name.  is_extension is true iff a segment represents an
2290// extension (denoted with parentheses in options specs in .proto files).
2291// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
2292// "foo.(bar.baz).qux".
2293type UninterpretedOption_NamePart struct {
2294	NamePart             *string  `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
2295	IsExtension          *bool    `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
2296	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2297	XXX_unrecognized     []byte   `json:"-"`
2298	XXX_sizecache        int32    `json:"-"`
2299}
2300
2301func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
2302func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
2303func (*UninterpretedOption_NamePart) ProtoMessage()    {}
2304func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
2305	return fileDescriptor_e5baabe45344a177, []int{18, 0}
2306}
2307
2308func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {
2309	return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b)
2310}
2311func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2312	return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic)
2313}
2314func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {
2315	xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src)
2316}
2317func (m *UninterpretedOption_NamePart) XXX_Size() int {
2318	return xxx_messageInfo_UninterpretedOption_NamePart.Size(m)
2319}
2320func (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() {
2321	xxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m)
2322}
2323
2324var xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo
2325
2326func (m *UninterpretedOption_NamePart) GetNamePart() string {
2327	if m != nil && m.NamePart != nil {
2328		return *m.NamePart
2329	}
2330	return ""
2331}
2332
2333func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
2334	if m != nil && m.IsExtension != nil {
2335		return *m.IsExtension
2336	}
2337	return false
2338}
2339
2340// Encapsulates information about the original source file from which a
2341// FileDescriptorProto was generated.
2342type SourceCodeInfo struct {
2343	// A Location identifies a piece of source code in a .proto file which
2344	// corresponds to a particular definition.  This information is intended
2345	// to be useful to IDEs, code indexers, documentation generators, and similar
2346	// tools.
2347	//
2348	// For example, say we have a file like:
2349	//   message Foo {
2350	//     optional string foo = 1;
2351	//   }
2352	// Let's look at just the field definition:
2353	//   optional string foo = 1;
2354	//   ^       ^^     ^^  ^  ^^^
2355	//   a       bc     de  f  ghi
2356	// We have the following locations:
2357	//   span   path               represents
2358	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
2359	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
2360	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
2361	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
2362	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
2363	//
2364	// Notes:
2365	// - A location may refer to a repeated field itself (i.e. not to any
2366	//   particular index within it).  This is used whenever a set of elements are
2367	//   logically enclosed in a single code segment.  For example, an entire
2368	//   extend block (possibly containing multiple extension definitions) will
2369	//   have an outer location whose path refers to the "extensions" repeated
2370	//   field without an index.
2371	// - Multiple locations may have the same path.  This happens when a single
2372	//   logical declaration is spread out across multiple places.  The most
2373	//   obvious example is the "extend" block again -- there may be multiple
2374	//   extend blocks in the same scope, each of which will have the same path.
2375	// - A location's span is not always a subset of its parent's span.  For
2376	//   example, the "extendee" of an extension declaration appears at the
2377	//   beginning of the "extend" block and is shared by all extensions within
2378	//   the block.
2379	// - Just because a location's span is a subset of some other location's span
2380	//   does not mean that it is a descendent.  For example, a "group" defines
2381	//   both a type and a field in a single declaration.  Thus, the locations
2382	//   corresponding to the type and field and their components will overlap.
2383	// - Code which tries to interpret locations should probably be designed to
2384	//   ignore those that it doesn't understand, as more types of locations could
2385	//   be recorded in the future.
2386	Location             []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
2387	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
2388	XXX_unrecognized     []byte                     `json:"-"`
2389	XXX_sizecache        int32                      `json:"-"`
2390}
2391
2392func (m *SourceCodeInfo) Reset()         { *m = SourceCodeInfo{} }
2393func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
2394func (*SourceCodeInfo) ProtoMessage()    {}
2395func (*SourceCodeInfo) Descriptor() ([]byte, []int) {
2396	return fileDescriptor_e5baabe45344a177, []int{19}
2397}
2398
2399func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {
2400	return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b)
2401}
2402func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2403	return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic)
2404}
2405func (m *SourceCodeInfo) XXX_Merge(src proto.Message) {
2406	xxx_messageInfo_SourceCodeInfo.Merge(m, src)
2407}
2408func (m *SourceCodeInfo) XXX_Size() int {
2409	return xxx_messageInfo_SourceCodeInfo.Size(m)
2410}
2411func (m *SourceCodeInfo) XXX_DiscardUnknown() {
2412	xxx_messageInfo_SourceCodeInfo.DiscardUnknown(m)
2413}
2414
2415var xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo
2416
2417func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
2418	if m != nil {
2419		return m.Location
2420	}
2421	return nil
2422}
2423
2424type SourceCodeInfo_Location struct {
2425	// Identifies which part of the FileDescriptorProto was defined at this
2426	// location.
2427	//
2428	// Each element is a field number or an index.  They form a path from
2429	// the root FileDescriptorProto to the place where the definition.  For
2430	// example, this path:
2431	//   [ 4, 3, 2, 7, 1 ]
2432	// refers to:
2433	//   file.message_type(3)  // 4, 3
2434	//       .field(7)         // 2, 7
2435	//       .name()           // 1
2436	// This is because FileDescriptorProto.message_type has field number 4:
2437	//   repeated DescriptorProto message_type = 4;
2438	// and DescriptorProto.field has field number 2:
2439	//   repeated FieldDescriptorProto field = 2;
2440	// and FieldDescriptorProto.name has field number 1:
2441	//   optional string name = 1;
2442	//
2443	// Thus, the above path gives the location of a field name.  If we removed
2444	// the last element:
2445	//   [ 4, 3, 2, 7 ]
2446	// this path refers to the whole field declaration (from the beginning
2447	// of the label to the terminating semicolon).
2448	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
2449	// Always has exactly three or four elements: start line, start column,
2450	// end line (optional, otherwise assumed same as start line), end column.
2451	// These are packed into a single field for efficiency.  Note that line
2452	// and column numbers are zero-based -- typically you will want to add
2453	// 1 to each before displaying to a user.
2454	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
2455	// If this SourceCodeInfo represents a complete declaration, these are any
2456	// comments appearing before and after the declaration which appear to be
2457	// attached to the declaration.
2458	//
2459	// A series of line comments appearing on consecutive lines, with no other
2460	// tokens appearing on those lines, will be treated as a single comment.
2461	//
2462	// leading_detached_comments will keep paragraphs of comments that appear
2463	// before (but not connected to) the current element. Each paragraph,
2464	// separated by empty lines, will be one comment element in the repeated
2465	// field.
2466	//
2467	// Only the comment content is provided; comment markers (e.g. //) are
2468	// stripped out.  For block comments, leading whitespace and an asterisk
2469	// will be stripped from the beginning of each line other than the first.
2470	// Newlines are included in the output.
2471	//
2472	// Examples:
2473	//
2474	//   optional int32 foo = 1;  // Comment attached to foo.
2475	//   // Comment attached to bar.
2476	//   optional int32 bar = 2;
2477	//
2478	//   optional string baz = 3;
2479	//   // Comment attached to baz.
2480	//   // Another line attached to baz.
2481	//
2482	//   // Comment attached to qux.
2483	//   //
2484	//   // Another line attached to qux.
2485	//   optional double qux = 4;
2486	//
2487	//   // Detached comment for corge. This is not leading or trailing comments
2488	//   // to qux or corge because there are blank lines separating it from
2489	//   // both.
2490	//
2491	//   // Detached comment for corge paragraph 2.
2492	//
2493	//   optional string corge = 5;
2494	//   /* Block comment attached
2495	//    * to corge.  Leading asterisks
2496	//    * will be removed. */
2497	//   /* Block comment attached to
2498	//    * grault. */
2499	//   optional int32 grault = 6;
2500	//
2501	//   // ignored detached comments.
2502	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
2503	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
2504	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
2505	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
2506	XXX_unrecognized        []byte   `json:"-"`
2507	XXX_sizecache           int32    `json:"-"`
2508}
2509
2510func (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location{} }
2511func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
2512func (*SourceCodeInfo_Location) ProtoMessage()    {}
2513func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
2514	return fileDescriptor_e5baabe45344a177, []int{19, 0}
2515}
2516
2517func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {
2518	return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b)
2519}
2520func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2521	return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic)
2522}
2523func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {
2524	xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src)
2525}
2526func (m *SourceCodeInfo_Location) XXX_Size() int {
2527	return xxx_messageInfo_SourceCodeInfo_Location.Size(m)
2528}
2529func (m *SourceCodeInfo_Location) XXX_DiscardUnknown() {
2530	xxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m)
2531}
2532
2533var xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo
2534
2535func (m *SourceCodeInfo_Location) GetPath() []int32 {
2536	if m != nil {
2537		return m.Path
2538	}
2539	return nil
2540}
2541
2542func (m *SourceCodeInfo_Location) GetSpan() []int32 {
2543	if m != nil {
2544		return m.Span
2545	}
2546	return nil
2547}
2548
2549func (m *SourceCodeInfo_Location) GetLeadingComments() string {
2550	if m != nil && m.LeadingComments != nil {
2551		return *m.LeadingComments
2552	}
2553	return ""
2554}
2555
2556func (m *SourceCodeInfo_Location) GetTrailingComments() string {
2557	if m != nil && m.TrailingComments != nil {
2558		return *m.TrailingComments
2559	}
2560	return ""
2561}
2562
2563func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
2564	if m != nil {
2565		return m.LeadingDetachedComments
2566	}
2567	return nil
2568}
2569
2570// Describes the relationship between generated code and its original source
2571// file. A GeneratedCodeInfo message is associated with only one generated
2572// source file, but may contain references to different source .proto files.
2573type GeneratedCodeInfo struct {
2574	// An Annotation connects some span of text in generated code to an element
2575	// of its generating .proto file.
2576	Annotation           []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
2577	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
2578	XXX_unrecognized     []byte                          `json:"-"`
2579	XXX_sizecache        int32                           `json:"-"`
2580}
2581
2582func (m *GeneratedCodeInfo) Reset()         { *m = GeneratedCodeInfo{} }
2583func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
2584func (*GeneratedCodeInfo) ProtoMessage()    {}
2585func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {
2586	return fileDescriptor_e5baabe45344a177, []int{20}
2587}
2588
2589func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {
2590	return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b)
2591}
2592func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2593	return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic)
2594}
2595func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) {
2596	xxx_messageInfo_GeneratedCodeInfo.Merge(m, src)
2597}
2598func (m *GeneratedCodeInfo) XXX_Size() int {
2599	return xxx_messageInfo_GeneratedCodeInfo.Size(m)
2600}
2601func (m *GeneratedCodeInfo) XXX_DiscardUnknown() {
2602	xxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m)
2603}
2604
2605var xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo
2606
2607func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
2608	if m != nil {
2609		return m.Annotation
2610	}
2611	return nil
2612}
2613
2614type GeneratedCodeInfo_Annotation struct {
2615	// Identifies the element in the original source .proto file. This field
2616	// is formatted the same as SourceCodeInfo.Location.path.
2617	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
2618	// Identifies the filesystem path to the original source .proto.
2619	SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
2620	// Identifies the starting offset in bytes in the generated code
2621	// that relates to the identified object.
2622	Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
2623	// Identifies the ending offset in bytes in the generated code that
2624	// relates to the identified offset. The end offset should be one past
2625	// the last relevant byte (so the length of the text = end - begin).
2626	End                  *int32   `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
2627	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2628	XXX_unrecognized     []byte   `json:"-"`
2629	XXX_sizecache        int32    `json:"-"`
2630}
2631
2632func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
2633func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
2634func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
2635func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
2636	return fileDescriptor_e5baabe45344a177, []int{20, 0}
2637}
2638
2639func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {
2640	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b)
2641}
2642func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2643	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic)
2644}
2645func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {
2646	xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src)
2647}
2648func (m *GeneratedCodeInfo_Annotation) XXX_Size() int {
2649	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m)
2650}
2651func (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() {
2652	xxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m)
2653}
2654
2655var xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo
2656
2657func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
2658	if m != nil {
2659		return m.Path
2660	}
2661	return nil
2662}
2663
2664func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
2665	if m != nil && m.SourceFile != nil {
2666		return *m.SourceFile
2667	}
2668	return ""
2669}
2670
2671func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
2672	if m != nil && m.Begin != nil {
2673		return *m.Begin
2674	}
2675	return 0
2676}
2677
2678func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
2679	if m != nil && m.End != nil {
2680		return *m.End
2681	}
2682	return 0
2683}
2684
2685func init() {
2686	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
2687	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
2688	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
2689	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
2690	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
2691	proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
2692	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
2693	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
2694	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
2695	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
2696	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
2697	proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions")
2698	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
2699	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
2700	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
2701	proto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), "google.protobuf.EnumDescriptorProto.EnumReservedRange")
2702	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
2703	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
2704	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
2705	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
2706	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
2707	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
2708	proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
2709	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
2710	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
2711	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
2712	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
2713	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
2714	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
2715	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
2716	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
2717	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
2718	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
2719}
2720
2721func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor_e5baabe45344a177) }
2722
2723var fileDescriptor_e5baabe45344a177 = []byte{
2724	// 2589 bytes of a gzipped FileDescriptorProto
2725	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x8e, 0xdb, 0xc6,
2726	0x15, 0x0e, 0xf5, 0xb7, 0xd2, 0x91, 0x56, 0x3b, 0x3b, 0xbb, 0xb1, 0xe9, 0xcd, 0x8f, 0xd7, 0xca,
2727	0x8f, 0xd7, 0x4e, 0xac, 0x0d, 0x1c, 0xdb, 0x71, 0xd6, 0x45, 0x5a, 0xad, 0x44, 0x6f, 0xe4, 0xee,
2728	0x4a, 0x2a, 0xa5, 0x6d, 0x7e, 0x80, 0x82, 0x98, 0x25, 0x47, 0x12, 0x6d, 0x8a, 0x64, 0x48, 0xca,
2729	0xf6, 0x06, 0xbd, 0x30, 0xd0, 0xab, 0x5e, 0x15, 0xe8, 0x55, 0x51, 0x14, 0xbd, 0xe8, 0x4d, 0x80,
2730	0x3e, 0x40, 0x81, 0xde, 0xf5, 0x09, 0x0a, 0xe4, 0x0d, 0x8a, 0xb6, 0x40, 0xfb, 0x08, 0xbd, 0x2c,
2731	0x66, 0x86, 0xa4, 0x48, 0x49, 0x1b, 0x6f, 0x02, 0xc4, 0xb9, 0x92, 0xe6, 0x3b, 0xdf, 0x39, 0x73,
2732	0xe6, 0xcc, 0x99, 0x99, 0x33, 0x43, 0xd8, 0x1e, 0x39, 0xce, 0xc8, 0xa2, 0xbb, 0xae, 0xe7, 0x04,
2733	0xce, 0xc9, 0x74, 0xb8, 0x6b, 0x50, 0x5f, 0xf7, 0x4c, 0x37, 0x70, 0xbc, 0x3a, 0xc7, 0xf0, 0x9a,
2734	0x60, 0xd4, 0x23, 0x46, 0xed, 0x08, 0xd6, 0xef, 0x9b, 0x16, 0x6d, 0xc5, 0xc4, 0x3e, 0x0d, 0xf0,
2735	0x5d, 0xc8, 0x0d, 0x4d, 0x8b, 0xca, 0xd2, 0x76, 0x76, 0xa7, 0x7c, 0xf3, 0xcd, 0xfa, 0x9c, 0x52,
2736	0x3d, 0xad, 0xd1, 0x63, 0xb0, 0xca, 0x35, 0x6a, 0xff, 0xce, 0xc1, 0xc6, 0x12, 0x29, 0xc6, 0x90,
2737	0xb3, 0xc9, 0x84, 0x59, 0x94, 0x76, 0x4a, 0x2a, 0xff, 0x8f, 0x65, 0x58, 0x71, 0x89, 0xfe, 0x88,
2738	0x8c, 0xa8, 0x9c, 0xe1, 0x70, 0xd4, 0xc4, 0xaf, 0x03, 0x18, 0xd4, 0xa5, 0xb6, 0x41, 0x6d, 0xfd,
2739	0x54, 0xce, 0x6e, 0x67, 0x77, 0x4a, 0x6a, 0x02, 0xc1, 0xef, 0xc0, 0xba, 0x3b, 0x3d, 0xb1, 0x4c,
2740	0x5d, 0x4b, 0xd0, 0x60, 0x3b, 0xbb, 0x93, 0x57, 0x91, 0x10, 0xb4, 0x66, 0xe4, 0xab, 0xb0, 0xf6,
2741	0x84, 0x92, 0x47, 0x49, 0x6a, 0x99, 0x53, 0xab, 0x0c, 0x4e, 0x10, 0x9b, 0x50, 0x99, 0x50, 0xdf,
2742	0x27, 0x23, 0xaa, 0x05, 0xa7, 0x2e, 0x95, 0x73, 0x7c, 0xf4, 0xdb, 0x0b, 0xa3, 0x9f, 0x1f, 0x79,
2743	0x39, 0xd4, 0x1a, 0x9c, 0xba, 0x14, 0x37, 0xa0, 0x44, 0xed, 0xe9, 0x44, 0x58, 0xc8, 0x9f, 0x11,
2744	0x3f, 0xc5, 0x9e, 0x4e, 0xe6, 0xad, 0x14, 0x99, 0x5a, 0x68, 0x62, 0xc5, 0xa7, 0xde, 0x63, 0x53,
2745	0xa7, 0x72, 0x81, 0x1b, 0xb8, 0xba, 0x60, 0xa0, 0x2f, 0xe4, 0xf3, 0x36, 0x22, 0x3d, 0xdc, 0x84,
2746	0x12, 0x7d, 0x1a, 0x50, 0xdb, 0x37, 0x1d, 0x5b, 0x5e, 0xe1, 0x46, 0xde, 0x5a, 0x32, 0x8b, 0xd4,
2747	0x32, 0xe6, 0x4d, 0xcc, 0xf4, 0xf0, 0x1d, 0x58, 0x71, 0xdc, 0xc0, 0x74, 0x6c, 0x5f, 0x2e, 0x6e,
2748	0x4b, 0x3b, 0xe5, 0x9b, 0xaf, 0x2e, 0x4d, 0x84, 0xae, 0xe0, 0xa8, 0x11, 0x19, 0xb7, 0x01, 0xf9,
2749	0xce, 0xd4, 0xd3, 0xa9, 0xa6, 0x3b, 0x06, 0xd5, 0x4c, 0x7b, 0xe8, 0xc8, 0x25, 0x6e, 0xe0, 0xf2,
2750	0xe2, 0x40, 0x38, 0xb1, 0xe9, 0x18, 0xb4, 0x6d, 0x0f, 0x1d, 0xb5, 0xea, 0xa7, 0xda, 0xf8, 0x02,
2751	0x14, 0xfc, 0x53, 0x3b, 0x20, 0x4f, 0xe5, 0x0a, 0xcf, 0x90, 0xb0, 0x55, 0xfb, 0x6b, 0x01, 0xd6,
2752	0xce, 0x93, 0x62, 0xf7, 0x20, 0x3f, 0x64, 0xa3, 0x94, 0x33, 0xdf, 0x26, 0x06, 0x42, 0x27, 0x1d,
2753	0xc4, 0xc2, 0x77, 0x0c, 0x62, 0x03, 0xca, 0x36, 0xf5, 0x03, 0x6a, 0x88, 0x8c, 0xc8, 0x9e, 0x33,
2754	0xa7, 0x40, 0x28, 0x2d, 0xa6, 0x54, 0xee, 0x3b, 0xa5, 0xd4, 0xa7, 0xb0, 0x16, 0xbb, 0xa4, 0x79,
2755	0xc4, 0x1e, 0x45, 0xb9, 0xb9, 0xfb, 0x3c, 0x4f, 0xea, 0x4a, 0xa4, 0xa7, 0x32, 0x35, 0xb5, 0x4a,
2756	0x53, 0x6d, 0xdc, 0x02, 0x70, 0x6c, 0xea, 0x0c, 0x35, 0x83, 0xea, 0x96, 0x5c, 0x3c, 0x23, 0x4a,
2757	0x5d, 0x46, 0x59, 0x88, 0x92, 0x23, 0x50, 0xdd, 0xc2, 0x1f, 0xce, 0x52, 0x6d, 0xe5, 0x8c, 0x4c,
2758	0x39, 0x12, 0x8b, 0x6c, 0x21, 0xdb, 0x8e, 0xa1, 0xea, 0x51, 0x96, 0xf7, 0xd4, 0x08, 0x47, 0x56,
2759	0xe2, 0x4e, 0xd4, 0x9f, 0x3b, 0x32, 0x35, 0x54, 0x13, 0x03, 0x5b, 0xf5, 0x92, 0x4d, 0xfc, 0x06,
2760	0xc4, 0x80, 0xc6, 0xd3, 0x0a, 0xf8, 0x2e, 0x54, 0x89, 0xc0, 0x0e, 0x99, 0xd0, 0xad, 0x2f, 0xa1,
2761	0x9a, 0x0e, 0x0f, 0xde, 0x84, 0xbc, 0x1f, 0x10, 0x2f, 0xe0, 0x59, 0x98, 0x57, 0x45, 0x03, 0x23,
2762	0xc8, 0x52, 0xdb, 0xe0, 0xbb, 0x5c, 0x5e, 0x65, 0x7f, 0xf1, 0x4f, 0x66, 0x03, 0xce, 0xf2, 0x01,
2763	0xbf, 0xbd, 0x38, 0xa3, 0x29, 0xcb, 0xf3, 0xe3, 0xde, 0xfa, 0x00, 0x56, 0x53, 0x03, 0x38, 0x6f,
2764	0xd7, 0xb5, 0x5f, 0xc2, 0xcb, 0x4b, 0x4d, 0xe3, 0x4f, 0x61, 0x73, 0x6a, 0x9b, 0x76, 0x40, 0x3d,
2765	0xd7, 0xa3, 0x2c, 0x63, 0x45, 0x57, 0xf2, 0x7f, 0x56, 0xce, 0xc8, 0xb9, 0xe3, 0x24, 0x5b, 0x58,
2766	0x51, 0x37, 0xa6, 0x8b, 0xe0, 0xf5, 0x52, 0xf1, 0xbf, 0x2b, 0xe8, 0xd9, 0xb3, 0x67, 0xcf, 0x32,
2767	0xb5, 0xdf, 0x15, 0x60, 0x73, 0xd9, 0x9a, 0x59, 0xba, 0x7c, 0x2f, 0x40, 0xc1, 0x9e, 0x4e, 0x4e,
2768	0xa8, 0xc7, 0x83, 0x94, 0x57, 0xc3, 0x16, 0x6e, 0x40, 0xde, 0x22, 0x27, 0xd4, 0x92, 0x73, 0xdb,
2769	0xd2, 0x4e, 0xf5, 0xe6, 0x3b, 0xe7, 0x5a, 0x95, 0xf5, 0x43, 0xa6, 0xa2, 0x0a, 0x4d, 0xfc, 0x11,
2770	0xe4, 0xc2, 0x2d, 0x9a, 0x59, 0xb8, 0x7e, 0x3e, 0x0b, 0x6c, 0x2d, 0xa9, 0x5c, 0x0f, 0xbf, 0x02,
2771	0x25, 0xf6, 0x2b, 0x72, 0xa3, 0xc0, 0x7d, 0x2e, 0x32, 0x80, 0xe5, 0x05, 0xde, 0x82, 0x22, 0x5f,
2772	0x26, 0x06, 0x8d, 0x8e, 0xb6, 0xb8, 0xcd, 0x12, 0xcb, 0xa0, 0x43, 0x32, 0xb5, 0x02, 0xed, 0x31,
2773	0xb1, 0xa6, 0x94, 0x27, 0x7c, 0x49, 0xad, 0x84, 0xe0, 0xcf, 0x19, 0x86, 0x2f, 0x43, 0x59, 0xac,
2774	0x2a, 0xd3, 0x36, 0xe8, 0x53, 0xbe, 0x7b, 0xe6, 0x55, 0xb1, 0xd0, 0xda, 0x0c, 0x61, 0xdd, 0x3f,
2775	0xf4, 0x1d, 0x3b, 0x4a, 0x4d, 0xde, 0x05, 0x03, 0x78, 0xf7, 0x1f, 0xcc, 0x6f, 0xdc, 0xaf, 0x2d,
2776	0x1f, 0xde, 0x7c, 0x4e, 0xd5, 0xfe, 0x92, 0x81, 0x1c, 0xdf, 0x2f, 0xd6, 0xa0, 0x3c, 0xf8, 0xac,
2777	0xa7, 0x68, 0xad, 0xee, 0xf1, 0xfe, 0xa1, 0x82, 0x24, 0x5c, 0x05, 0xe0, 0xc0, 0xfd, 0xc3, 0x6e,
2778	0x63, 0x80, 0x32, 0x71, 0xbb, 0xdd, 0x19, 0xdc, 0xb9, 0x85, 0xb2, 0xb1, 0xc2, 0xb1, 0x00, 0x72,
2779	0x49, 0xc2, 0xfb, 0x37, 0x51, 0x1e, 0x23, 0xa8, 0x08, 0x03, 0xed, 0x4f, 0x95, 0xd6, 0x9d, 0x5b,
2780	0xa8, 0x90, 0x46, 0xde, 0xbf, 0x89, 0x56, 0xf0, 0x2a, 0x94, 0x38, 0xb2, 0xdf, 0xed, 0x1e, 0xa2,
2781	0x62, 0x6c, 0xb3, 0x3f, 0x50, 0xdb, 0x9d, 0x03, 0x54, 0x8a, 0x6d, 0x1e, 0xa8, 0xdd, 0xe3, 0x1e,
2782	0x82, 0xd8, 0xc2, 0x91, 0xd2, 0xef, 0x37, 0x0e, 0x14, 0x54, 0x8e, 0x19, 0xfb, 0x9f, 0x0d, 0x94,
2783	0x3e, 0xaa, 0xa4, 0xdc, 0x7a, 0xff, 0x26, 0x5a, 0x8d, 0xbb, 0x50, 0x3a, 0xc7, 0x47, 0xa8, 0x8a,
2784	0xd7, 0x61, 0x55, 0x74, 0x11, 0x39, 0xb1, 0x36, 0x07, 0xdd, 0xb9, 0x85, 0xd0, 0xcc, 0x11, 0x61,
2785	0x65, 0x3d, 0x05, 0xdc, 0xb9, 0x85, 0x70, 0xad, 0x09, 0x79, 0x9e, 0x5d, 0x18, 0x43, 0xf5, 0xb0,
2786	0xb1, 0xaf, 0x1c, 0x6a, 0xdd, 0xde, 0xa0, 0xdd, 0xed, 0x34, 0x0e, 0x91, 0x34, 0xc3, 0x54, 0xe5,
2787	0x67, 0xc7, 0x6d, 0x55, 0x69, 0xa1, 0x4c, 0x12, 0xeb, 0x29, 0x8d, 0x81, 0xd2, 0x42, 0xd9, 0x9a,
2788	0x0e, 0x9b, 0xcb, 0xf6, 0xc9, 0xa5, 0x2b, 0x23, 0x31, 0xc5, 0x99, 0x33, 0xa6, 0x98, 0xdb, 0x5a,
2789	0x98, 0xe2, 0x7f, 0x65, 0x60, 0x63, 0xc9, 0x59, 0xb1, 0xb4, 0x93, 0x1f, 0x43, 0x5e, 0xa4, 0xa8,
2790	0x38, 0x3d, 0xaf, 0x2d, 0x3d, 0x74, 0x78, 0xc2, 0x2e, 0x9c, 0xa0, 0x5c, 0x2f, 0x59, 0x41, 0x64,
2791	0xcf, 0xa8, 0x20, 0x98, 0x89, 0x85, 0x3d, 0xfd, 0x17, 0x0b, 0x7b, 0xba, 0x38, 0xf6, 0xee, 0x9c,
2792	0xe7, 0xd8, 0xe3, 0xd8, 0xb7, 0xdb, 0xdb, 0xf3, 0x4b, 0xf6, 0xf6, 0x7b, 0xb0, 0xbe, 0x60, 0xe8,
2793	0xdc, 0x7b, 0xec, 0xaf, 0x24, 0x90, 0xcf, 0x0a, 0xce, 0x73, 0x76, 0xba, 0x4c, 0x6a, 0xa7, 0xbb,
2794	0x37, 0x1f, 0xc1, 0x2b, 0x67, 0x4f, 0xc2, 0xc2, 0x5c, 0x7f, 0x25, 0xc1, 0x85, 0xe5, 0x95, 0xe2,
2795	0x52, 0x1f, 0x3e, 0x82, 0xc2, 0x84, 0x06, 0x63, 0x27, 0xaa, 0x96, 0xde, 0x5e, 0x72, 0x06, 0x33,
2796	0xf1, 0xfc, 0x64, 0x87, 0x5a, 0xc9, 0x43, 0x3c, 0x7b, 0x56, 0xb9, 0x27, 0xbc, 0x59, 0xf0, 0xf4,
2797	0xd7, 0x19, 0x78, 0x79, 0xa9, 0xf1, 0xa5, 0x8e, 0xbe, 0x06, 0x60, 0xda, 0xee, 0x34, 0x10, 0x15,
2798	0x91, 0xd8, 0x60, 0x4b, 0x1c, 0xe1, 0x9b, 0x17, 0xdb, 0x3c, 0xa7, 0x41, 0x2c, 0xcf, 0x72, 0x39,
2799	0x08, 0x88, 0x13, 0xee, 0xce, 0x1c, 0xcd, 0x71, 0x47, 0x5f, 0x3f, 0x63, 0xa4, 0x0b, 0x89, 0xf9,
2800	0x1e, 0x20, 0xdd, 0x32, 0xa9, 0x1d, 0x68, 0x7e, 0xe0, 0x51, 0x32, 0x31, 0xed, 0x11, 0x3f, 0x41,
2801	0x8a, 0x7b, 0xf9, 0x21, 0xb1, 0x7c, 0xaa, 0xae, 0x09, 0x71, 0x3f, 0x92, 0x32, 0x0d, 0x9e, 0x40,
2802	0x5e, 0x42, 0xa3, 0x90, 0xd2, 0x10, 0xe2, 0x58, 0xa3, 0xf6, 0xdb, 0x12, 0x94, 0x13, 0x75, 0x35,
2803	0xbe, 0x02, 0x95, 0x87, 0xe4, 0x31, 0xd1, 0xa2, 0xbb, 0x92, 0x88, 0x44, 0x99, 0x61, 0xbd, 0xf0,
2804	0xbe, 0xf4, 0x1e, 0x6c, 0x72, 0x8a, 0x33, 0x0d, 0xa8, 0xa7, 0xe9, 0x16, 0xf1, 0x7d, 0x1e, 0xb4,
2805	0x22, 0xa7, 0x62, 0x26, 0xeb, 0x32, 0x51, 0x33, 0x92, 0xe0, 0xdb, 0xb0, 0xc1, 0x35, 0x26, 0x53,
2806	0x2b, 0x30, 0x5d, 0x8b, 0x6a, 0xec, 0xf6, 0xe6, 0xf3, 0x93, 0x24, 0xf6, 0x6c, 0x9d, 0x31, 0x8e,
2807	0x42, 0x02, 0xf3, 0xc8, 0xc7, 0x2d, 0x78, 0x8d, 0xab, 0x8d, 0xa8, 0x4d, 0x3d, 0x12, 0x50, 0x8d,
2808	0x7e, 0x31, 0x25, 0x96, 0xaf, 0x11, 0xdb, 0xd0, 0xc6, 0xc4, 0x1f, 0xcb, 0x9b, 0xcc, 0xc0, 0x7e,
2809	0x46, 0x96, 0xd4, 0x4b, 0x8c, 0x78, 0x10, 0xf2, 0x14, 0x4e, 0x6b, 0xd8, 0xc6, 0xc7, 0xc4, 0x1f,
2810	0xe3, 0x3d, 0xb8, 0xc0, 0xad, 0xf8, 0x81, 0x67, 0xda, 0x23, 0x4d, 0x1f, 0x53, 0xfd, 0x91, 0x36,
2811	0x0d, 0x86, 0x77, 0xe5, 0x57, 0x92, 0xfd, 0x73, 0x0f, 0xfb, 0x9c, 0xd3, 0x64, 0x94, 0xe3, 0x60,
2812	0x78, 0x17, 0xf7, 0xa1, 0xc2, 0x26, 0x63, 0x62, 0x7e, 0x49, 0xb5, 0xa1, 0xe3, 0xf1, 0xa3, 0xb1,
2813	0xba, 0x64, 0x6b, 0x4a, 0x44, 0xb0, 0xde, 0x0d, 0x15, 0x8e, 0x1c, 0x83, 0xee, 0xe5, 0xfb, 0x3d,
2814	0x45, 0x69, 0xa9, 0xe5, 0xc8, 0xca, 0x7d, 0xc7, 0x63, 0x09, 0x35, 0x72, 0xe2, 0x00, 0x97, 0x45,
2815	0x42, 0x8d, 0x9c, 0x28, 0xbc, 0xb7, 0x61, 0x43, 0xd7, 0xc5, 0x98, 0x4d, 0x5d, 0x0b, 0xef, 0x58,
2816	0xbe, 0x8c, 0x52, 0xc1, 0xd2, 0xf5, 0x03, 0x41, 0x08, 0x73, 0xdc, 0xc7, 0x1f, 0xc2, 0xcb, 0xb3,
2817	0x60, 0x25, 0x15, 0xd7, 0x17, 0x46, 0x39, 0xaf, 0x7a, 0x1b, 0x36, 0xdc, 0xd3, 0x45, 0x45, 0x9c,
2818	0xea, 0xd1, 0x3d, 0x9d, 0x57, 0xfb, 0x00, 0x36, 0xdd, 0xb1, 0xbb, 0xa8, 0x77, 0x3d, 0xa9, 0x87,
2819	0xdd, 0xb1, 0x3b, 0xaf, 0xf8, 0x16, 0xbf, 0x70, 0x7b, 0x54, 0x27, 0x01, 0x35, 0xe4, 0x8b, 0x49,
2820	0x7a, 0x42, 0x80, 0x77, 0x01, 0xe9, 0xba, 0x46, 0x6d, 0x72, 0x62, 0x51, 0x8d, 0x78, 0xd4, 0x26,
2821	0xbe, 0x7c, 0x39, 0x49, 0xae, 0xea, 0xba, 0xc2, 0xa5, 0x0d, 0x2e, 0xc4, 0xd7, 0x61, 0xdd, 0x39,
2822	0x79, 0xa8, 0x8b, 0x94, 0xd4, 0x5c, 0x8f, 0x0e, 0xcd, 0xa7, 0xf2, 0x9b, 0x3c, 0xbe, 0x6b, 0x4c,
2823	0xc0, 0x13, 0xb2, 0xc7, 0x61, 0x7c, 0x0d, 0x90, 0xee, 0x8f, 0x89, 0xe7, 0xf2, 0x3d, 0xd9, 0x77,
2824	0x89, 0x4e, 0xe5, 0xb7, 0x04, 0x55, 0xe0, 0x9d, 0x08, 0x66, 0x4b, 0xc2, 0x7f, 0x62, 0x0e, 0x83,
2825	0xc8, 0xe2, 0x55, 0xb1, 0x24, 0x38, 0x16, 0x5a, 0xdb, 0x01, 0xc4, 0x42, 0x91, 0xea, 0x78, 0x87,
2826	0xd3, 0xaa, 0xee, 0xd8, 0x4d, 0xf6, 0xfb, 0x06, 0xac, 0x32, 0xe6, 0xac, 0xd3, 0x6b, 0xa2, 0x20,
2827	0x73, 0xc7, 0x89, 0x1e, 0x6f, 0xc1, 0x05, 0x46, 0x9a, 0xd0, 0x80, 0x18, 0x24, 0x20, 0x09, 0xf6,
2828	0xbb, 0x9c, 0xcd, 0xe2, 0x7e, 0x14, 0x0a, 0x53, 0x7e, 0x7a, 0xd3, 0x93, 0xd3, 0x38, 0xb3, 0x6e,
2829	0x08, 0x3f, 0x19, 0x16, 0xe5, 0xd6, 0xf7, 0x56, 0x74, 0xd7, 0xf6, 0xa0, 0x92, 0x4c, 0x7c, 0x5c,
2830	0x02, 0x91, 0xfa, 0x48, 0x62, 0x55, 0x50, 0xb3, 0xdb, 0x62, 0xf5, 0xcb, 0xe7, 0x0a, 0xca, 0xb0,
2831	0x3a, 0xea, 0xb0, 0x3d, 0x50, 0x34, 0xf5, 0xb8, 0x33, 0x68, 0x1f, 0x29, 0x28, 0x9b, 0x28, 0xd8,
2832	0x1f, 0xe4, 0x8a, 0x6f, 0xa3, 0xab, 0xb5, 0xaf, 0x33, 0x50, 0x4d, 0xdf, 0xc0, 0xf0, 0x8f, 0xe0,
2833	0x62, 0xf4, 0x5c, 0xe2, 0xd3, 0x40, 0x7b, 0x62, 0x7a, 0x7c, 0x45, 0x4e, 0x88, 0x38, 0x1d, 0xe3,
2834	0x9c, 0xd8, 0x0c, 0x59, 0x7d, 0x1a, 0x7c, 0x62, 0x7a, 0x6c, 0xbd, 0x4d, 0x48, 0x80, 0x0f, 0xe1,
2835	0xb2, 0xed, 0x68, 0x7e, 0x40, 0x6c, 0x83, 0x78, 0x86, 0x36, 0x7b, 0xa8, 0xd2, 0x88, 0xae, 0x53,
2836	0xdf, 0x77, 0xc4, 0x49, 0x18, 0x5b, 0x79, 0xd5, 0x76, 0xfa, 0x21, 0x79, 0x76, 0x44, 0x34, 0x42,
2837	0xea, 0x5c, 0xfe, 0x66, 0xcf, 0xca, 0xdf, 0x57, 0xa0, 0x34, 0x21, 0xae, 0x46, 0xed, 0xc0, 0x3b,
2838	0xe5, 0x75, 0x77, 0x51, 0x2d, 0x4e, 0x88, 0xab, 0xb0, 0xf6, 0x0b, 0xb9, 0xfe, 0x3c, 0xc8, 0x15,
2839	0x8b, 0xa8, 0xf4, 0x20, 0x57, 0x2c, 0x21, 0xa8, 0xfd, 0x33, 0x0b, 0x95, 0x64, 0x1d, 0xce, 0xae,
2840	0x35, 0x3a, 0x3f, 0xb2, 0x24, 0xbe, 0xa9, 0xbd, 0xf1, 0x8d, 0x55, 0x7b, 0xbd, 0xc9, 0xce, 0xb2,
2841	0xbd, 0x82, 0xa8, 0x8e, 0x55, 0xa1, 0xc9, 0xea, 0x08, 0x96, 0x6c, 0x54, 0x54, 0x23, 0x45, 0x35,
2842	0x6c, 0xe1, 0x03, 0x28, 0x3c, 0xf4, 0xb9, 0xed, 0x02, 0xb7, 0xfd, 0xe6, 0x37, 0xdb, 0x7e, 0xd0,
2843	0xe7, 0xc6, 0x4b, 0x0f, 0xfa, 0x5a, 0xa7, 0xab, 0x1e, 0x35, 0x0e, 0xd5, 0x50, 0x1d, 0x5f, 0x82,
2844	0x9c, 0x45, 0xbe, 0x3c, 0x4d, 0x9f, 0x7a, 0x1c, 0x3a, 0xef, 0x24, 0x5c, 0x82, 0xdc, 0x13, 0x4a,
2845	0x1e, 0xa5, 0xcf, 0x1a, 0x0e, 0x7d, 0x8f, 0x8b, 0x61, 0x17, 0xf2, 0x3c, 0x5e, 0x18, 0x20, 0x8c,
2846	0x18, 0x7a, 0x09, 0x17, 0x21, 0xd7, 0xec, 0xaa, 0x6c, 0x41, 0x20, 0xa8, 0x08, 0x54, 0xeb, 0xb5,
2847	0x95, 0xa6, 0x82, 0x32, 0xb5, 0xdb, 0x50, 0x10, 0x41, 0x60, 0x8b, 0x25, 0x0e, 0x03, 0x7a, 0x29,
2848	0x6c, 0x86, 0x36, 0xa4, 0x48, 0x7a, 0x7c, 0xb4, 0xaf, 0xa8, 0x28, 0x93, 0x9e, 0xea, 0x1c, 0xca,
2849	0xd7, 0x7c, 0xa8, 0x24, 0x0b, 0xf1, 0x17, 0x73, 0xc9, 0xfe, 0x9b, 0x04, 0xe5, 0x44, 0x61, 0xcd,
2850	0x2a, 0x22, 0x62, 0x59, 0xce, 0x13, 0x8d, 0x58, 0x26, 0xf1, 0xc3, 0xd4, 0x00, 0x0e, 0x35, 0x18,
2851	0x72, 0xde, 0xa9, 0x7b, 0x41, 0x4b, 0x24, 0x8f, 0x0a, 0xb5, 0x3f, 0x4a, 0x80, 0xe6, 0x2b, 0xdb,
2852	0x39, 0x37, 0xa5, 0x1f, 0xd2, 0xcd, 0xda, 0x1f, 0x24, 0xa8, 0xa6, 0xcb, 0xd9, 0x39, 0xf7, 0xae,
2853	0xfc, 0xa0, 0xee, 0xfd, 0x23, 0x03, 0xab, 0xa9, 0x22, 0xf6, 0xbc, 0xde, 0x7d, 0x01, 0xeb, 0xa6,
2854	0x41, 0x27, 0xae, 0x13, 0x50, 0x5b, 0x3f, 0xd5, 0x2c, 0xfa, 0x98, 0x5a, 0x72, 0x8d, 0x6f, 0x1a,
2855	0xbb, 0xdf, 0x5c, 0x26, 0xd7, 0xdb, 0x33, 0xbd, 0x43, 0xa6, 0xb6, 0xb7, 0xd1, 0x6e, 0x29, 0x47,
2856	0xbd, 0xee, 0x40, 0xe9, 0x34, 0x3f, 0xd3, 0x8e, 0x3b, 0x3f, 0xed, 0x74, 0x3f, 0xe9, 0xa8, 0xc8,
2857	0x9c, 0xa3, 0x7d, 0x8f, 0xcb, 0xbe, 0x07, 0x68, 0xde, 0x29, 0x7c, 0x11, 0x96, 0xb9, 0x85, 0x5e,
2858	0xc2, 0x1b, 0xb0, 0xd6, 0xe9, 0x6a, 0xfd, 0x76, 0x4b, 0xd1, 0x94, 0xfb, 0xf7, 0x95, 0xe6, 0xa0,
2859	0x2f, 0x1e, 0x3e, 0x62, 0xf6, 0x20, 0xb5, 0xc0, 0x6b, 0xbf, 0xcf, 0xc2, 0xc6, 0x12, 0x4f, 0x70,
2860	0x23, 0xbc, 0xb2, 0x88, 0x5b, 0xd4, 0x8d, 0xf3, 0x78, 0x5f, 0x67, 0x35, 0x43, 0x8f, 0x78, 0x41,
2861	0x78, 0xc3, 0xb9, 0x06, 0x2c, 0x4a, 0x76, 0x60, 0x0e, 0x4d, 0xea, 0x85, 0xef, 0x44, 0xe2, 0x1e,
2862	0xb3, 0x36, 0xc3, 0xc5, 0x53, 0xd1, 0xbb, 0x80, 0x5d, 0xc7, 0x37, 0x03, 0xf3, 0x31, 0xd5, 0x4c,
2863	0x3b, 0x7a, 0x54, 0x62, 0xf7, 0x9a, 0x9c, 0x8a, 0x22, 0x49, 0xdb, 0x0e, 0x62, 0xb6, 0x4d, 0x47,
2864	0x64, 0x8e, 0xcd, 0x36, 0xf3, 0xac, 0x8a, 0x22, 0x49, 0xcc, 0xbe, 0x02, 0x15, 0xc3, 0x99, 0xb2,
2865	0x62, 0x4f, 0xf0, 0xd8, 0xd9, 0x21, 0xa9, 0x65, 0x81, 0xc5, 0x94, 0xb0, 0x8c, 0x9f, 0xbd, 0x66,
2866	0x55, 0xd4, 0xb2, 0xc0, 0x04, 0xe5, 0x2a, 0xac, 0x91, 0xd1, 0xc8, 0x63, 0xc6, 0x23, 0x43, 0xe2,
2867	0x62, 0x52, 0x8d, 0x61, 0x4e, 0xdc, 0x7a, 0x00, 0xc5, 0x28, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0xd0,
2868	0x5c, 0x71, 0xdb, 0xce, 0xec, 0x94, 0xd4, 0xa2, 0x1d, 0x09, 0xaf, 0x40, 0xc5, 0xf4, 0xb5, 0xd9,
2869	0xe3, 0x7c, 0x66, 0x3b, 0xb3, 0x53, 0x54, 0xcb, 0xa6, 0x1f, 0x3f, 0x6c, 0xd6, 0xbe, 0xca, 0x40,
2870	0x35, 0xfd, 0x71, 0x01, 0xb7, 0xa0, 0x68, 0x39, 0x3a, 0xe1, 0xa9, 0x25, 0xbe, 0x6c, 0xed, 0x3c,
2871	0xe7, 0x7b, 0x44, 0xfd, 0x30, 0xe4, 0xab, 0xb1, 0xe6, 0xd6, 0xdf, 0x25, 0x28, 0x46, 0x30, 0xbe,
2872	0x00, 0x39, 0x97, 0x04, 0x63, 0x6e, 0x2e, 0xbf, 0x9f, 0x41, 0x92, 0xca, 0xdb, 0x0c, 0xf7, 0x5d,
2873	0x62, 0xf3, 0x14, 0x08, 0x71, 0xd6, 0x66, 0xf3, 0x6a, 0x51, 0x62, 0xf0, 0x5b, 0x8f, 0x33, 0x99,
2874	0x50, 0x3b, 0xf0, 0xa3, 0x79, 0x0d, 0xf1, 0x66, 0x08, 0xe3, 0x77, 0x60, 0x3d, 0xf0, 0x88, 0x69,
2875	0xa5, 0xb8, 0x39, 0xce, 0x45, 0x91, 0x20, 0x26, 0xef, 0xc1, 0xa5, 0xc8, 0xae, 0x41, 0x03, 0xa2,
2876	0x8f, 0xa9, 0x31, 0x53, 0x2a, 0xf0, 0xd7, 0x8d, 0x8b, 0x21, 0xa1, 0x15, 0xca, 0x23, 0xdd, 0xda,
2877	0xd7, 0x12, 0xac, 0x47, 0xf7, 0x34, 0x23, 0x0e, 0xd6, 0x11, 0x00, 0xb1, 0x6d, 0x27, 0x48, 0x86,
2878	0x6b, 0x31, 0x95, 0x17, 0xf4, 0xea, 0x8d, 0x58, 0x49, 0x4d, 0x18, 0xd8, 0x9a, 0x00, 0xcc, 0x24,
2879	0x67, 0x86, 0xed, 0x32, 0x94, 0xc3, 0x2f, 0x47, 0xfc, 0xf3, 0xa3, 0xb8, 0xd9, 0x83, 0x80, 0xd8,
2880	0x85, 0x0e, 0x6f, 0x42, 0xfe, 0x84, 0x8e, 0x4c, 0x3b, 0x7c, 0x0f, 0x16, 0x8d, 0xe8, 0xfd, 0x25,
2881	0x17, 0xbf, 0xbf, 0xec, 0xff, 0x46, 0x82, 0x0d, 0xdd, 0x99, 0xcc, 0xfb, 0xbb, 0x8f, 0xe6, 0x9e,
2882	0x17, 0xfc, 0x8f, 0xa5, 0xcf, 0x3f, 0x1a, 0x99, 0xc1, 0x78, 0x7a, 0x52, 0xd7, 0x9d, 0xc9, 0xee,
2883	0xc8, 0xb1, 0x88, 0x3d, 0x9a, 0x7d, 0x3f, 0xe5, 0x7f, 0xf4, 0x1b, 0x23, 0x6a, 0xdf, 0x18, 0x39,
2884	0x89, 0xaf, 0xa9, 0xf7, 0x66, 0x7f, 0xff, 0x27, 0x49, 0x7f, 0xca, 0x64, 0x0f, 0x7a, 0xfb, 0x7f,
2885	0xce, 0x6c, 0x1d, 0x88, 0xee, 0x7a, 0x51, 0x78, 0x54, 0x3a, 0xb4, 0xa8, 0xce, 0x86, 0xfc, 0xff,
2886	0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0xe8, 0xef, 0xc4, 0x9b, 0x1d, 0x00, 0x00,
2887}
2888