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