1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/protobuf/descriptor.proto
8 proto "github.com/golang/protobuf/proto"
12 // Reference imports to suppress errors if they are not otherwise used.
17 // This is a compile-time assertion to ensure that this generated file
18 // is compatible with the proto package it is being compiled against.
19 // A compilation error at this line likely means your copy of the
20 // proto package needs to be updated.
21 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
23 type FieldDescriptorProto_Type int32
26 // 0 is reserved for errors.
27 // Order is weird for historical reasons.
28 FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
29 FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2
30 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
31 // negative values are likely.
32 FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3
33 FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
34 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
35 // negative values are likely.
36 FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5
37 FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
38 FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
39 FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8
40 FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9
41 // Tag-delimited aggregate.
42 // Group type is deprecated and not supported in proto3. However, Proto3
43 // implementations should still be able to parse the group wire format and
44 // treat group fields as unknown fields.
45 FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10
46 FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
48 FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12
49 FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13
50 FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14
51 FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
52 FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
53 FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17
54 FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18
57 var FieldDescriptorProto_Type_name = map[int32]string{
78 var FieldDescriptorProto_Type_value = map[string]int32{
99 func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
100 p := new(FieldDescriptorProto_Type)
105 func (x FieldDescriptorProto_Type) String() string {
106 return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
109 func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
110 value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
114 *x = FieldDescriptorProto_Type(value)
118 func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
119 return fileDescriptor_e5baabe45344a177, []int{4, 0}
122 type FieldDescriptorProto_Label int32
125 // 0 is reserved for errors
126 FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
127 FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
128 FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
131 var FieldDescriptorProto_Label_name = map[int32]string{
137 var FieldDescriptorProto_Label_value = map[string]int32{
143 func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
144 p := new(FieldDescriptorProto_Label)
149 func (x FieldDescriptorProto_Label) String() string {
150 return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
153 func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
154 value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
158 *x = FieldDescriptorProto_Label(value)
162 func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
163 return fileDescriptor_e5baabe45344a177, []int{4, 1}
166 // Generated classes can be optimized for speed or code size.
167 type FileOptions_OptimizeMode int32
170 FileOptions_SPEED FileOptions_OptimizeMode = 1
172 FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2
173 FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
176 var FileOptions_OptimizeMode_name = map[int32]string{
182 var FileOptions_OptimizeMode_value = map[string]int32{
188 func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
189 p := new(FileOptions_OptimizeMode)
194 func (x FileOptions_OptimizeMode) String() string {
195 return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
198 func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
199 value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
203 *x = FileOptions_OptimizeMode(value)
207 func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
208 return fileDescriptor_e5baabe45344a177, []int{10, 0}
211 type FieldOptions_CType int32
215 FieldOptions_STRING FieldOptions_CType = 0
216 FieldOptions_CORD FieldOptions_CType = 1
217 FieldOptions_STRING_PIECE FieldOptions_CType = 2
220 var FieldOptions_CType_name = map[int32]string{
226 var FieldOptions_CType_value = map[string]int32{
232 func (x FieldOptions_CType) Enum() *FieldOptions_CType {
233 p := new(FieldOptions_CType)
238 func (x FieldOptions_CType) String() string {
239 return proto.EnumName(FieldOptions_CType_name, int32(x))
242 func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
243 value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
247 *x = FieldOptions_CType(value)
251 func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
252 return fileDescriptor_e5baabe45344a177, []int{12, 0}
255 type FieldOptions_JSType int32
258 // Use the default type.
259 FieldOptions_JS_NORMAL FieldOptions_JSType = 0
260 // Use JavaScript strings.
261 FieldOptions_JS_STRING FieldOptions_JSType = 1
262 // Use JavaScript numbers.
263 FieldOptions_JS_NUMBER FieldOptions_JSType = 2
266 var FieldOptions_JSType_name = map[int32]string{
272 var FieldOptions_JSType_value = map[string]int32{
278 func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
279 p := new(FieldOptions_JSType)
284 func (x FieldOptions_JSType) String() string {
285 return proto.EnumName(FieldOptions_JSType_name, int32(x))
288 func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
289 value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
293 *x = FieldOptions_JSType(value)
297 func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
298 return fileDescriptor_e5baabe45344a177, []int{12, 1}
301 // Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
302 // or neither? HTTP based RPC implementation may choose GET verb for safe
303 // methods, and PUT verb for idempotent methods instead of the default POST.
304 type MethodOptions_IdempotencyLevel int32
307 MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0
308 MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1
309 MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2
312 var MethodOptions_IdempotencyLevel_name = map[int32]string{
313 0: "IDEMPOTENCY_UNKNOWN",
314 1: "NO_SIDE_EFFECTS",
318 var MethodOptions_IdempotencyLevel_value = map[string]int32{
319 "IDEMPOTENCY_UNKNOWN": 0,
320 "NO_SIDE_EFFECTS": 1,
324 func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
325 p := new(MethodOptions_IdempotencyLevel)
330 func (x MethodOptions_IdempotencyLevel) String() string {
331 return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))
334 func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
335 value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel")
339 *x = MethodOptions_IdempotencyLevel(value)
343 func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
344 return fileDescriptor_e5baabe45344a177, []int{17, 0}
347 // The protocol compiler can output a FileDescriptorSet containing the .proto
349 type FileDescriptorSet struct {
350 File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
351 XXX_NoUnkeyedLiteral struct{} `json:"-"`
352 XXX_unrecognized []byte `json:"-"`
353 XXX_sizecache int32 `json:"-"`
356 func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} }
357 func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }
358 func (*FileDescriptorSet) ProtoMessage() {}
359 func (*FileDescriptorSet) Descriptor() ([]byte, []int) {
360 return fileDescriptor_e5baabe45344a177, []int{0}
363 func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {
364 return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b)
366 func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
367 return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic)
369 func (m *FileDescriptorSet) XXX_Merge(src proto.Message) {
370 xxx_messageInfo_FileDescriptorSet.Merge(m, src)
372 func (m *FileDescriptorSet) XXX_Size() int {
373 return xxx_messageInfo_FileDescriptorSet.Size(m)
375 func (m *FileDescriptorSet) XXX_DiscardUnknown() {
376 xxx_messageInfo_FileDescriptorSet.DiscardUnknown(m)
379 var xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo
381 func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
388 // Describes a complete .proto file.
389 type FileDescriptorProto struct {
390 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
391 Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
392 // Names of files imported by this file.
393 Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
394 // Indexes of the public imported files in the dependency list above.
395 PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
396 // Indexes of the weak imported files in the dependency list.
397 // For Google-internal migration only. Do not use.
398 WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
399 // All top-level definitions in this file.
400 MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
401 EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
402 Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
403 Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
404 Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
405 // This field contains optional information about the original source code.
406 // You may safely remove this entire field without harming runtime
407 // functionality of the descriptors -- the information is needed only by
408 // development tools.
409 SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
410 // The syntax of the proto file.
411 // The supported values are "proto2" and "proto3".
412 Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
413 XXX_NoUnkeyedLiteral struct{} `json:"-"`
414 XXX_unrecognized []byte `json:"-"`
415 XXX_sizecache int32 `json:"-"`
418 func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} }
419 func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }
420 func (*FileDescriptorProto) ProtoMessage() {}
421 func (*FileDescriptorProto) Descriptor() ([]byte, []int) {
422 return fileDescriptor_e5baabe45344a177, []int{1}
425 func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {
426 return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b)
428 func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
429 return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic)
431 func (m *FileDescriptorProto) XXX_Merge(src proto.Message) {
432 xxx_messageInfo_FileDescriptorProto.Merge(m, src)
434 func (m *FileDescriptorProto) XXX_Size() int {
435 return xxx_messageInfo_FileDescriptorProto.Size(m)
437 func (m *FileDescriptorProto) XXX_DiscardUnknown() {
438 xxx_messageInfo_FileDescriptorProto.DiscardUnknown(m)
441 var xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo
443 func (m *FileDescriptorProto) GetName() string {
444 if m != nil && m.Name != nil {
450 func (m *FileDescriptorProto) GetPackage() string {
451 if m != nil && m.Package != nil {
457 func (m *FileDescriptorProto) GetDependency() []string {
464 func (m *FileDescriptorProto) GetPublicDependency() []int32 {
466 return m.PublicDependency
471 func (m *FileDescriptorProto) GetWeakDependency() []int32 {
473 return m.WeakDependency
478 func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
485 func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
492 func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
499 func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
506 func (m *FileDescriptorProto) GetOptions() *FileOptions {
513 func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
515 return m.SourceCodeInfo
520 func (m *FileDescriptorProto) GetSyntax() string {
521 if m != nil && m.Syntax != nil {
527 // Describes a message type.
528 type DescriptorProto struct {
529 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
530 Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
531 Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
532 NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
533 EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
534 ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
535 OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
536 Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
537 ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
538 // Reserved field names, which may not be used by fields in the same message.
539 // A given name may only be reserved once.
540 ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
541 XXX_NoUnkeyedLiteral struct{} `json:"-"`
542 XXX_unrecognized []byte `json:"-"`
543 XXX_sizecache int32 `json:"-"`
546 func (m *DescriptorProto) Reset() { *m = DescriptorProto{} }
547 func (m *DescriptorProto) String() string { return proto.CompactTextString(m) }
548 func (*DescriptorProto) ProtoMessage() {}
549 func (*DescriptorProto) Descriptor() ([]byte, []int) {
550 return fileDescriptor_e5baabe45344a177, []int{2}
553 func (m *DescriptorProto) XXX_Unmarshal(b []byte) error {
554 return xxx_messageInfo_DescriptorProto.Unmarshal(m, b)
556 func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
557 return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic)
559 func (m *DescriptorProto) XXX_Merge(src proto.Message) {
560 xxx_messageInfo_DescriptorProto.Merge(m, src)
562 func (m *DescriptorProto) XXX_Size() int {
563 return xxx_messageInfo_DescriptorProto.Size(m)
565 func (m *DescriptorProto) XXX_DiscardUnknown() {
566 xxx_messageInfo_DescriptorProto.DiscardUnknown(m)
569 var xxx_messageInfo_DescriptorProto proto.InternalMessageInfo
571 func (m *DescriptorProto) GetName() string {
572 if m != nil && m.Name != nil {
578 func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
585 func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
592 func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
599 func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
606 func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
608 return m.ExtensionRange
613 func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
620 func (m *DescriptorProto) GetOptions() *MessageOptions {
627 func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
629 return m.ReservedRange
634 func (m *DescriptorProto) GetReservedName() []string {
636 return m.ReservedName
641 type DescriptorProto_ExtensionRange struct {
642 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
643 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
644 Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
645 XXX_NoUnkeyedLiteral struct{} `json:"-"`
646 XXX_unrecognized []byte `json:"-"`
647 XXX_sizecache int32 `json:"-"`
650 func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} }
651 func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
652 func (*DescriptorProto_ExtensionRange) ProtoMessage() {}
653 func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
654 return fileDescriptor_e5baabe45344a177, []int{2, 0}
657 func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {
658 return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b)
660 func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
661 return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic)
663 func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {
664 xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src)
666 func (m *DescriptorProto_ExtensionRange) XXX_Size() int {
667 return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m)
669 func (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() {
670 xxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m)
673 var xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo
675 func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
676 if m != nil && m.Start != nil {
682 func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
683 if m != nil && m.End != nil {
689 func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
696 // Range of reserved tag numbers. Reserved tag numbers may not be used by
697 // fields or extension ranges in the same message. Reserved ranges may
699 type DescriptorProto_ReservedRange struct {
700 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
701 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
702 XXX_NoUnkeyedLiteral struct{} `json:"-"`
703 XXX_unrecognized []byte `json:"-"`
704 XXX_sizecache int32 `json:"-"`
707 func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_ReservedRange{} }
708 func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
709 func (*DescriptorProto_ReservedRange) ProtoMessage() {}
710 func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
711 return fileDescriptor_e5baabe45344a177, []int{2, 1}
714 func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {
715 return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b)
717 func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
718 return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic)
720 func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {
721 xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src)
723 func (m *DescriptorProto_ReservedRange) XXX_Size() int {
724 return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m)
726 func (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() {
727 xxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m)
730 var xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo
732 func (m *DescriptorProto_ReservedRange) GetStart() int32 {
733 if m != nil && m.Start != nil {
739 func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
740 if m != nil && m.End != nil {
746 type ExtensionRangeOptions struct {
747 // The parser stores options it doesn't recognize here. See above.
748 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
749 XXX_NoUnkeyedLiteral struct{} `json:"-"`
750 proto.XXX_InternalExtensions `json:"-"`
751 XXX_unrecognized []byte `json:"-"`
752 XXX_sizecache int32 `json:"-"`
755 func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} }
756 func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }
757 func (*ExtensionRangeOptions) ProtoMessage() {}
758 func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {
759 return fileDescriptor_e5baabe45344a177, []int{3}
762 var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
763 {Start: 1000, End: 536870911},
766 func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
767 return extRange_ExtensionRangeOptions
770 func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error {
771 return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b)
773 func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
774 return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic)
776 func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) {
777 xxx_messageInfo_ExtensionRangeOptions.Merge(m, src)
779 func (m *ExtensionRangeOptions) XXX_Size() int {
780 return xxx_messageInfo_ExtensionRangeOptions.Size(m)
782 func (m *ExtensionRangeOptions) XXX_DiscardUnknown() {
783 xxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m)
786 var xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo
788 func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
790 return m.UninterpretedOption
795 // Describes a field within a message.
796 type FieldDescriptorProto struct {
797 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
798 Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
799 Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
800 // If type_name is set, this need not be set. If both this and type_name
801 // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
802 Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
803 // For message and enum types, this is the name of the type. If the name
804 // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
805 // rules are used to find the type (i.e. first the nested types within this
806 // message are searched, then within the parent, on up to the root
808 TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
809 // For extensions, this is the name of the type being extended. It is
810 // resolved in the same manner as type_name.
811 Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
812 // For numeric types, contains the original text representation of the value.
813 // For booleans, "true" or "false".
814 // For strings, contains the default text contents (not escaped in any way).
815 // For bytes, contains the C escaped value. All bytes >= 128 are escaped.
816 // TODO(kenton): Base-64 encode?
817 DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
818 // If set, gives the index of a oneof in the containing type's oneof_decl
819 // list. This field is a member of that oneof.
820 OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
821 // JSON name of this field. The value is set by protocol compiler. If the
822 // user has set a "json_name" option on this field, that option's value
823 // will be used. Otherwise, it's deduced from the field's name by converting
825 JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
826 Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
827 XXX_NoUnkeyedLiteral struct{} `json:"-"`
828 XXX_unrecognized []byte `json:"-"`
829 XXX_sizecache int32 `json:"-"`
832 func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} }
833 func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
834 func (*FieldDescriptorProto) ProtoMessage() {}
835 func (*FieldDescriptorProto) Descriptor() ([]byte, []int) {
836 return fileDescriptor_e5baabe45344a177, []int{4}
839 func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {
840 return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b)
842 func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
843 return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic)
845 func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) {
846 xxx_messageInfo_FieldDescriptorProto.Merge(m, src)
848 func (m *FieldDescriptorProto) XXX_Size() int {
849 return xxx_messageInfo_FieldDescriptorProto.Size(m)
851 func (m *FieldDescriptorProto) XXX_DiscardUnknown() {
852 xxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m)
855 var xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo
857 func (m *FieldDescriptorProto) GetName() string {
858 if m != nil && m.Name != nil {
864 func (m *FieldDescriptorProto) GetNumber() int32 {
865 if m != nil && m.Number != nil {
871 func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
872 if m != nil && m.Label != nil {
875 return FieldDescriptorProto_LABEL_OPTIONAL
878 func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
879 if m != nil && m.Type != nil {
882 return FieldDescriptorProto_TYPE_DOUBLE
885 func (m *FieldDescriptorProto) GetTypeName() string {
886 if m != nil && m.TypeName != nil {
892 func (m *FieldDescriptorProto) GetExtendee() string {
893 if m != nil && m.Extendee != nil {
899 func (m *FieldDescriptorProto) GetDefaultValue() string {
900 if m != nil && m.DefaultValue != nil {
901 return *m.DefaultValue
906 func (m *FieldDescriptorProto) GetOneofIndex() int32 {
907 if m != nil && m.OneofIndex != nil {
913 func (m *FieldDescriptorProto) GetJsonName() string {
914 if m != nil && m.JsonName != nil {
920 func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
927 // Describes a oneof.
928 type OneofDescriptorProto struct {
929 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
930 Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
931 XXX_NoUnkeyedLiteral struct{} `json:"-"`
932 XXX_unrecognized []byte `json:"-"`
933 XXX_sizecache int32 `json:"-"`
936 func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} }
937 func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
938 func (*OneofDescriptorProto) ProtoMessage() {}
939 func (*OneofDescriptorProto) Descriptor() ([]byte, []int) {
940 return fileDescriptor_e5baabe45344a177, []int{5}
943 func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {
944 return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b)
946 func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
947 return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic)
949 func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) {
950 xxx_messageInfo_OneofDescriptorProto.Merge(m, src)
952 func (m *OneofDescriptorProto) XXX_Size() int {
953 return xxx_messageInfo_OneofDescriptorProto.Size(m)
955 func (m *OneofDescriptorProto) XXX_DiscardUnknown() {
956 xxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m)
959 var xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo
961 func (m *OneofDescriptorProto) GetName() string {
962 if m != nil && m.Name != nil {
968 func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
975 // Describes an enum type.
976 type EnumDescriptorProto struct {
977 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
978 Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
979 Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
980 // Range of reserved numeric values. Reserved numeric values may not be used
981 // by enum values in the same enum declaration. Reserved ranges may not
983 ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
984 // Reserved enum value names, which may not be reused. A given name may only
986 ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
987 XXX_NoUnkeyedLiteral struct{} `json:"-"`
988 XXX_unrecognized []byte `json:"-"`
989 XXX_sizecache int32 `json:"-"`
992 func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} }
993 func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
994 func (*EnumDescriptorProto) ProtoMessage() {}
995 func (*EnumDescriptorProto) Descriptor() ([]byte, []int) {
996 return fileDescriptor_e5baabe45344a177, []int{6}
999 func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {
1000 return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b)
1002 func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1003 return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic)
1005 func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) {
1006 xxx_messageInfo_EnumDescriptorProto.Merge(m, src)
1008 func (m *EnumDescriptorProto) XXX_Size() int {
1009 return xxx_messageInfo_EnumDescriptorProto.Size(m)
1011 func (m *EnumDescriptorProto) XXX_DiscardUnknown() {
1012 xxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m)
1015 var xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo
1017 func (m *EnumDescriptorProto) GetName() string {
1018 if m != nil && m.Name != nil {
1024 func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
1031 func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
1038 func (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {
1040 return m.ReservedRange
1045 func (m *EnumDescriptorProto) GetReservedName() []string {
1047 return m.ReservedName
1052 // Range of reserved numeric values. Reserved values may not be used by
1053 // entries in the same enum. Reserved ranges may not overlap.
1055 // Note that this is distinct from DescriptorProto.ReservedRange in that it
1056 // is inclusive such that it can appropriately represent the entire int32
1058 type EnumDescriptorProto_EnumReservedRange struct {
1059 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
1060 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
1061 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1062 XXX_unrecognized []byte `json:"-"`
1063 XXX_sizecache int32 `json:"-"`
1066 func (m *EnumDescriptorProto_EnumReservedRange) Reset() { *m = EnumDescriptorProto_EnumReservedRange{} }
1067 func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }
1068 func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {}
1069 func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {
1070 return fileDescriptor_e5baabe45344a177, []int{6, 0}
1073 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {
1074 return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b)
1076 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1077 return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic)
1079 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {
1080 xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src)
1082 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int {
1083 return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m)
1085 func (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() {
1086 xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m)
1089 var xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo
1091 func (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {
1092 if m != nil && m.Start != nil {
1098 func (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {
1099 if m != nil && m.End != nil {
1105 // Describes a value within an enum.
1106 type EnumValueDescriptorProto struct {
1107 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1108 Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
1109 Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
1110 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1111 XXX_unrecognized []byte `json:"-"`
1112 XXX_sizecache int32 `json:"-"`
1115 func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} }
1116 func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
1117 func (*EnumValueDescriptorProto) ProtoMessage() {}
1118 func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
1119 return fileDescriptor_e5baabe45344a177, []int{7}
1122 func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {
1123 return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b)
1125 func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1126 return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic)
1128 func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {
1129 xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src)
1131 func (m *EnumValueDescriptorProto) XXX_Size() int {
1132 return xxx_messageInfo_EnumValueDescriptorProto.Size(m)
1134 func (m *EnumValueDescriptorProto) XXX_DiscardUnknown() {
1135 xxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m)
1138 var xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo
1140 func (m *EnumValueDescriptorProto) GetName() string {
1141 if m != nil && m.Name != nil {
1147 func (m *EnumValueDescriptorProto) GetNumber() int32 {
1148 if m != nil && m.Number != nil {
1154 func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
1161 // Describes a service.
1162 type ServiceDescriptorProto struct {
1163 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1164 Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
1165 Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
1166 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1167 XXX_unrecognized []byte `json:"-"`
1168 XXX_sizecache int32 `json:"-"`
1171 func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} }
1172 func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
1173 func (*ServiceDescriptorProto) ProtoMessage() {}
1174 func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {
1175 return fileDescriptor_e5baabe45344a177, []int{8}
1178 func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {
1179 return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b)
1181 func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1182 return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic)
1184 func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) {
1185 xxx_messageInfo_ServiceDescriptorProto.Merge(m, src)
1187 func (m *ServiceDescriptorProto) XXX_Size() int {
1188 return xxx_messageInfo_ServiceDescriptorProto.Size(m)
1190 func (m *ServiceDescriptorProto) XXX_DiscardUnknown() {
1191 xxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m)
1194 var xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo
1196 func (m *ServiceDescriptorProto) GetName() string {
1197 if m != nil && m.Name != nil {
1203 func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
1210 func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
1217 // Describes a method of a service.
1218 type MethodDescriptorProto struct {
1219 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1220 // Input and output type names. These are resolved in the same way as
1221 // FieldDescriptorProto.type_name, but must refer to a message type.
1222 InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
1223 OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
1224 Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
1225 // Identifies if client streams multiple client messages
1226 ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
1227 // Identifies if server streams multiple server messages
1228 ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
1229 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1230 XXX_unrecognized []byte `json:"-"`
1231 XXX_sizecache int32 `json:"-"`
1234 func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} }
1235 func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
1236 func (*MethodDescriptorProto) ProtoMessage() {}
1237 func (*MethodDescriptorProto) Descriptor() ([]byte, []int) {
1238 return fileDescriptor_e5baabe45344a177, []int{9}
1241 func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {
1242 return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b)
1244 func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1245 return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic)
1247 func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) {
1248 xxx_messageInfo_MethodDescriptorProto.Merge(m, src)
1250 func (m *MethodDescriptorProto) XXX_Size() int {
1251 return xxx_messageInfo_MethodDescriptorProto.Size(m)
1253 func (m *MethodDescriptorProto) XXX_DiscardUnknown() {
1254 xxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m)
1257 var xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo
1259 const Default_MethodDescriptorProto_ClientStreaming bool = false
1260 const Default_MethodDescriptorProto_ServerStreaming bool = false
1262 func (m *MethodDescriptorProto) GetName() string {
1263 if m != nil && m.Name != nil {
1269 func (m *MethodDescriptorProto) GetInputType() string {
1270 if m != nil && m.InputType != nil {
1276 func (m *MethodDescriptorProto) GetOutputType() string {
1277 if m != nil && m.OutputType != nil {
1278 return *m.OutputType
1283 func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
1290 func (m *MethodDescriptorProto) GetClientStreaming() bool {
1291 if m != nil && m.ClientStreaming != nil {
1292 return *m.ClientStreaming
1294 return Default_MethodDescriptorProto_ClientStreaming
1297 func (m *MethodDescriptorProto) GetServerStreaming() bool {
1298 if m != nil && m.ServerStreaming != nil {
1299 return *m.ServerStreaming
1301 return Default_MethodDescriptorProto_ServerStreaming
1304 type FileOptions struct {
1305 // Sets the Java package where classes generated from this .proto will be
1306 // placed. By default, the proto package is used, but this is often
1307 // inappropriate because proto packages do not normally start with backwards
1309 JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
1310 // If set, all the classes from the .proto file are wrapped in a single
1311 // outer class with the given name. This applies to both Proto1
1312 // (equivalent to the old "--one_java_file" option) and Proto2 (where
1313 // a .proto always translates to a single class, but you may want to
1314 // explicitly choose the class name).
1315 JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
1316 // If set true, then the Java code generator will generate a separate .java
1317 // file for each top-level message, enum, and service defined in the .proto
1318 // file. Thus, these types will *not* be nested inside the outer class
1319 // named by java_outer_classname. However, the outer class will still be
1320 // generated to contain the file's getDescriptor() method as well as any
1321 // top-level extensions defined in the file.
1322 JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
1323 // This option does nothing.
1324 JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` // Deprecated: Do not use.
1325 // If set true, then the Java2 code generator will generate code that
1326 // throws an exception whenever an attempt is made to assign a non-UTF-8
1327 // byte sequence to a string field.
1328 // Message reflection will do the same.
1329 // However, an extension field still accepts non-UTF-8 byte sequences.
1330 // This option has no effect on when used with the lite runtime.
1331 JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
1332 OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
1333 // Sets the Go package where structs generated from this .proto will be
1334 // placed. If omitted, the Go package will be derived from the following:
1335 // - The basename of the package import path, if provided.
1336 // - Otherwise, the package statement in the .proto file, if present.
1337 // - Otherwise, the basename of the .proto file, without extension.
1338 GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
1339 // Should generic services be generated in each language? "Generic" services
1340 // are not specific to any particular RPC system. They are generated by the
1341 // main code generators in each language (without additional plugins).
1342 // Generic services were the only kind of service generation supported by
1343 // early versions of google.protobuf.
1345 // Generic services are now considered deprecated in favor of using plugins
1346 // that generate code specific to your particular RPC system. Therefore,
1347 // these default to false. Old code which depends on generic services should
1348 // explicitly set them to true.
1349 CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
1350 JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
1351 PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
1352 PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
1353 // Is this file deprecated?
1354 // Depending on the target platform, this can emit Deprecated annotations
1355 // for everything in the file, or it will be completely ignored; in the very
1356 // least, this is a formalization for deprecating files.
1357 Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1358 // Enables the use of arenas for the proto messages in this file. This applies
1359 // only to generated classes for C++.
1360 CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
1361 // Sets the objective c class prefix which is prepended to all objective c
1362 // generated classes from this .proto. There is no default.
1363 ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
1364 // Namespace for generated classes; defaults to the package.
1365 CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
1366 // By default Swift generators will take the proto package and CamelCase it
1367 // replacing '.' with underscore and use that to prefix the types/symbols
1368 // defined. When this options is provided, they will use this value instead
1369 // to prefix the types/symbols defined.
1370 SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"`
1371 // Sets the php class prefix which is prepended to all php generated classes
1372 // from this .proto. Default is empty.
1373 PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"`
1374 // Use this option to change the namespace of php generated classes. Default
1375 // is empty. When this option is empty, the package name will be used for
1376 // determining the namespace.
1377 PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
1378 // Use this option to change the namespace of php generated metadata classes.
1379 // Default is empty. When this option is empty, the proto file name will be used
1380 // for determining the namespace.
1381 PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"`
1382 // Use this option to change the package of ruby generated classes. Default
1383 // is empty. When this option is not set, the package name will be used for
1384 // determining the ruby package.
1385 RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"`
1386 // The parser stores options it doesn't recognize here.
1387 // See the documentation for the "Options" section above.
1388 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1389 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1390 proto.XXX_InternalExtensions `json:"-"`
1391 XXX_unrecognized []byte `json:"-"`
1392 XXX_sizecache int32 `json:"-"`
1395 func (m *FileOptions) Reset() { *m = FileOptions{} }
1396 func (m *FileOptions) String() string { return proto.CompactTextString(m) }
1397 func (*FileOptions) ProtoMessage() {}
1398 func (*FileOptions) Descriptor() ([]byte, []int) {
1399 return fileDescriptor_e5baabe45344a177, []int{10}
1402 var extRange_FileOptions = []proto.ExtensionRange{
1403 {Start: 1000, End: 536870911},
1406 func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
1407 return extRange_FileOptions
1410 func (m *FileOptions) XXX_Unmarshal(b []byte) error {
1411 return xxx_messageInfo_FileOptions.Unmarshal(m, b)
1413 func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1414 return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic)
1416 func (m *FileOptions) XXX_Merge(src proto.Message) {
1417 xxx_messageInfo_FileOptions.Merge(m, src)
1419 func (m *FileOptions) XXX_Size() int {
1420 return xxx_messageInfo_FileOptions.Size(m)
1422 func (m *FileOptions) XXX_DiscardUnknown() {
1423 xxx_messageInfo_FileOptions.DiscardUnknown(m)
1426 var xxx_messageInfo_FileOptions proto.InternalMessageInfo
1428 const Default_FileOptions_JavaMultipleFiles bool = false
1429 const Default_FileOptions_JavaStringCheckUtf8 bool = false
1430 const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
1431 const Default_FileOptions_CcGenericServices bool = false
1432 const Default_FileOptions_JavaGenericServices bool = false
1433 const Default_FileOptions_PyGenericServices bool = false
1434 const Default_FileOptions_PhpGenericServices bool = false
1435 const Default_FileOptions_Deprecated bool = false
1436 const Default_FileOptions_CcEnableArenas bool = false
1438 func (m *FileOptions) GetJavaPackage() string {
1439 if m != nil && m.JavaPackage != nil {
1440 return *m.JavaPackage
1445 func (m *FileOptions) GetJavaOuterClassname() string {
1446 if m != nil && m.JavaOuterClassname != nil {
1447 return *m.JavaOuterClassname
1452 func (m *FileOptions) GetJavaMultipleFiles() bool {
1453 if m != nil && m.JavaMultipleFiles != nil {
1454 return *m.JavaMultipleFiles
1456 return Default_FileOptions_JavaMultipleFiles
1459 // Deprecated: Do not use.
1460 func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
1461 if m != nil && m.JavaGenerateEqualsAndHash != nil {
1462 return *m.JavaGenerateEqualsAndHash
1467 func (m *FileOptions) GetJavaStringCheckUtf8() bool {
1468 if m != nil && m.JavaStringCheckUtf8 != nil {
1469 return *m.JavaStringCheckUtf8
1471 return Default_FileOptions_JavaStringCheckUtf8
1474 func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
1475 if m != nil && m.OptimizeFor != nil {
1476 return *m.OptimizeFor
1478 return Default_FileOptions_OptimizeFor
1481 func (m *FileOptions) GetGoPackage() string {
1482 if m != nil && m.GoPackage != nil {
1488 func (m *FileOptions) GetCcGenericServices() bool {
1489 if m != nil && m.CcGenericServices != nil {
1490 return *m.CcGenericServices
1492 return Default_FileOptions_CcGenericServices
1495 func (m *FileOptions) GetJavaGenericServices() bool {
1496 if m != nil && m.JavaGenericServices != nil {
1497 return *m.JavaGenericServices
1499 return Default_FileOptions_JavaGenericServices
1502 func (m *FileOptions) GetPyGenericServices() bool {
1503 if m != nil && m.PyGenericServices != nil {
1504 return *m.PyGenericServices
1506 return Default_FileOptions_PyGenericServices
1509 func (m *FileOptions) GetPhpGenericServices() bool {
1510 if m != nil && m.PhpGenericServices != nil {
1511 return *m.PhpGenericServices
1513 return Default_FileOptions_PhpGenericServices
1516 func (m *FileOptions) GetDeprecated() bool {
1517 if m != nil && m.Deprecated != nil {
1518 return *m.Deprecated
1520 return Default_FileOptions_Deprecated
1523 func (m *FileOptions) GetCcEnableArenas() bool {
1524 if m != nil && m.CcEnableArenas != nil {
1525 return *m.CcEnableArenas
1527 return Default_FileOptions_CcEnableArenas
1530 func (m *FileOptions) GetObjcClassPrefix() string {
1531 if m != nil && m.ObjcClassPrefix != nil {
1532 return *m.ObjcClassPrefix
1537 func (m *FileOptions) GetCsharpNamespace() string {
1538 if m != nil && m.CsharpNamespace != nil {
1539 return *m.CsharpNamespace
1544 func (m *FileOptions) GetSwiftPrefix() string {
1545 if m != nil && m.SwiftPrefix != nil {
1546 return *m.SwiftPrefix
1551 func (m *FileOptions) GetPhpClassPrefix() string {
1552 if m != nil && m.PhpClassPrefix != nil {
1553 return *m.PhpClassPrefix
1558 func (m *FileOptions) GetPhpNamespace() string {
1559 if m != nil && m.PhpNamespace != nil {
1560 return *m.PhpNamespace
1565 func (m *FileOptions) GetPhpMetadataNamespace() string {
1566 if m != nil && m.PhpMetadataNamespace != nil {
1567 return *m.PhpMetadataNamespace
1572 func (m *FileOptions) GetRubyPackage() string {
1573 if m != nil && m.RubyPackage != nil {
1574 return *m.RubyPackage
1579 func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
1581 return m.UninterpretedOption
1586 type MessageOptions struct {
1587 // Set true to use the old proto1 MessageSet wire format for extensions.
1588 // This is provided for backwards-compatibility with the MessageSet wire
1589 // format. You should not use this for any other reason: It's less
1590 // efficient, has fewer features, and is more complicated.
1592 // The message must be defined exactly as follows:
1594 // option message_set_wire_format = true;
1595 // extensions 4 to max;
1597 // Note that the message cannot have any defined fields; MessageSets only
1600 // All extensions of your type must be singular messages; e.g. they cannot
1601 // be int32s, enums, or repeated messages.
1603 // Because this is an option, the above two restrictions are not enforced by
1604 // the protocol compiler.
1605 MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
1606 // Disables the generation of the standard "descriptor()" accessor, which can
1607 // conflict with a field of the same name. This is meant to make migration
1608 // from proto1 easier; new code should avoid fields named "descriptor".
1609 NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
1610 // Is this message deprecated?
1611 // Depending on the target platform, this can emit Deprecated annotations
1612 // for the message, or it will be completely ignored; in the very least,
1613 // this is a formalization for deprecating messages.
1614 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1615 // Whether the message is an automatically generated map entry type for the
1619 // map<KeyType, ValueType> map_field = 1;
1620 // The parsed descriptor looks like:
1621 // message MapFieldEntry {
1622 // option map_entry = true;
1623 // optional KeyType key = 1;
1624 // optional ValueType value = 2;
1626 // repeated MapFieldEntry map_field = 1;
1628 // Implementations may choose not to generate the map_entry=true message, but
1629 // use a native map in the target language to hold the keys and values.
1630 // The reflection APIs in such implementions still need to work as
1631 // if the field is a repeated message field.
1633 // NOTE: Do not set the option in .proto files. Always use the maps syntax
1634 // instead. The option should only be implicitly set by the proto compiler
1636 MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
1637 // The parser stores options it doesn't recognize here. See above.
1638 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1639 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1640 proto.XXX_InternalExtensions `json:"-"`
1641 XXX_unrecognized []byte `json:"-"`
1642 XXX_sizecache int32 `json:"-"`
1645 func (m *MessageOptions) Reset() { *m = MessageOptions{} }
1646 func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
1647 func (*MessageOptions) ProtoMessage() {}
1648 func (*MessageOptions) Descriptor() ([]byte, []int) {
1649 return fileDescriptor_e5baabe45344a177, []int{11}
1652 var extRange_MessageOptions = []proto.ExtensionRange{
1653 {Start: 1000, End: 536870911},
1656 func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
1657 return extRange_MessageOptions
1660 func (m *MessageOptions) XXX_Unmarshal(b []byte) error {
1661 return xxx_messageInfo_MessageOptions.Unmarshal(m, b)
1663 func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1664 return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic)
1666 func (m *MessageOptions) XXX_Merge(src proto.Message) {
1667 xxx_messageInfo_MessageOptions.Merge(m, src)
1669 func (m *MessageOptions) XXX_Size() int {
1670 return xxx_messageInfo_MessageOptions.Size(m)
1672 func (m *MessageOptions) XXX_DiscardUnknown() {
1673 xxx_messageInfo_MessageOptions.DiscardUnknown(m)
1676 var xxx_messageInfo_MessageOptions proto.InternalMessageInfo
1678 const Default_MessageOptions_MessageSetWireFormat bool = false
1679 const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
1680 const Default_MessageOptions_Deprecated bool = false
1682 func (m *MessageOptions) GetMessageSetWireFormat() bool {
1683 if m != nil && m.MessageSetWireFormat != nil {
1684 return *m.MessageSetWireFormat
1686 return Default_MessageOptions_MessageSetWireFormat
1689 func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
1690 if m != nil && m.NoStandardDescriptorAccessor != nil {
1691 return *m.NoStandardDescriptorAccessor
1693 return Default_MessageOptions_NoStandardDescriptorAccessor
1696 func (m *MessageOptions) GetDeprecated() bool {
1697 if m != nil && m.Deprecated != nil {
1698 return *m.Deprecated
1700 return Default_MessageOptions_Deprecated
1703 func (m *MessageOptions) GetMapEntry() bool {
1704 if m != nil && m.MapEntry != nil {
1710 func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
1712 return m.UninterpretedOption
1717 type FieldOptions struct {
1718 // The ctype option instructs the C++ code generator to use a different
1719 // representation of the field than it normally would. See the specific
1720 // options below. This option is not yet implemented in the open source
1721 // release -- sorry, we'll try to include it in a future version!
1722 Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
1723 // The packed option can be enabled for repeated primitive fields to enable
1724 // a more efficient representation on the wire. Rather than repeatedly
1725 // writing the tag and type for each element, the entire array is encoded as
1726 // a single length-delimited blob. In proto3, only explicit setting it to
1727 // false will avoid using packed encoding.
1728 Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
1729 // The jstype option determines the JavaScript type used for values of the
1730 // field. The option is permitted only for 64 bit integral and fixed types
1731 // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
1732 // is represented as JavaScript string, which avoids loss of precision that
1733 // can happen when a large value is converted to a floating point JavaScript.
1734 // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
1735 // use the JavaScript "number" type. The behavior of the default option
1736 // JS_NORMAL is implementation dependent.
1738 // This option is an enum to permit additional types to be added, e.g.
1739 // goog.math.Integer.
1740 Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
1741 // Should this field be parsed lazily? Lazy applies only to message-type
1742 // fields. It means that when the outer message is initially parsed, the
1743 // inner message's contents will not be parsed but instead stored in encoded
1744 // form. The inner message will actually be parsed when it is first accessed.
1746 // This is only a hint. Implementations are free to choose whether to use
1747 // eager or lazy parsing regardless of the value of this option. However,
1748 // setting this option true suggests that the protocol author believes that
1749 // using lazy parsing on this field is worth the additional bookkeeping
1750 // overhead typically needed to implement it.
1752 // This option does not affect the public interface of any generated code;
1753 // all method signatures remain the same. Furthermore, thread-safety of the
1754 // interface is not affected by this option; const methods remain safe to
1755 // call from multiple threads concurrently, while non-const methods continue
1756 // to require exclusive access.
1759 // Note that implementations may choose not to check required fields within
1760 // a lazy sub-message. That is, calling IsInitialized() on the outer message
1761 // may return true even if the inner message has missing required fields.
1762 // This is necessary because otherwise the inner message would have to be
1763 // parsed in order to perform the check, defeating the purpose of lazy
1764 // parsing. An implementation which chooses not to check required fields
1765 // must be consistent about it. That is, for any particular sub-message, the
1766 // implementation must either *always* check its required fields, or *never*
1767 // check its required fields, regardless of whether or not the message has
1769 Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
1770 // Is this field deprecated?
1771 // Depending on the target platform, this can emit Deprecated annotations
1772 // for accessors, or it will be completely ignored; in the very least, this
1773 // is a formalization for deprecating fields.
1774 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1775 // For Google-internal migration only. Do not use.
1776 Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
1777 // The parser stores options it doesn't recognize here. See above.
1778 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1779 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1780 proto.XXX_InternalExtensions `json:"-"`
1781 XXX_unrecognized []byte `json:"-"`
1782 XXX_sizecache int32 `json:"-"`
1785 func (m *FieldOptions) Reset() { *m = FieldOptions{} }
1786 func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
1787 func (*FieldOptions) ProtoMessage() {}
1788 func (*FieldOptions) Descriptor() ([]byte, []int) {
1789 return fileDescriptor_e5baabe45344a177, []int{12}
1792 var extRange_FieldOptions = []proto.ExtensionRange{
1793 {Start: 1000, End: 536870911},
1796 func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
1797 return extRange_FieldOptions
1800 func (m *FieldOptions) XXX_Unmarshal(b []byte) error {
1801 return xxx_messageInfo_FieldOptions.Unmarshal(m, b)
1803 func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1804 return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic)
1806 func (m *FieldOptions) XXX_Merge(src proto.Message) {
1807 xxx_messageInfo_FieldOptions.Merge(m, src)
1809 func (m *FieldOptions) XXX_Size() int {
1810 return xxx_messageInfo_FieldOptions.Size(m)
1812 func (m *FieldOptions) XXX_DiscardUnknown() {
1813 xxx_messageInfo_FieldOptions.DiscardUnknown(m)
1816 var xxx_messageInfo_FieldOptions proto.InternalMessageInfo
1818 const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
1819 const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
1820 const Default_FieldOptions_Lazy bool = false
1821 const Default_FieldOptions_Deprecated bool = false
1822 const Default_FieldOptions_Weak bool = false
1824 func (m *FieldOptions) GetCtype() FieldOptions_CType {
1825 if m != nil && m.Ctype != nil {
1828 return Default_FieldOptions_Ctype
1831 func (m *FieldOptions) GetPacked() bool {
1832 if m != nil && m.Packed != nil {
1838 func (m *FieldOptions) GetJstype() FieldOptions_JSType {
1839 if m != nil && m.Jstype != nil {
1842 return Default_FieldOptions_Jstype
1845 func (m *FieldOptions) GetLazy() bool {
1846 if m != nil && m.Lazy != nil {
1849 return Default_FieldOptions_Lazy
1852 func (m *FieldOptions) GetDeprecated() bool {
1853 if m != nil && m.Deprecated != nil {
1854 return *m.Deprecated
1856 return Default_FieldOptions_Deprecated
1859 func (m *FieldOptions) GetWeak() bool {
1860 if m != nil && m.Weak != nil {
1863 return Default_FieldOptions_Weak
1866 func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
1868 return m.UninterpretedOption
1873 type OneofOptions struct {
1874 // The parser stores options it doesn't recognize here. See above.
1875 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1876 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1877 proto.XXX_InternalExtensions `json:"-"`
1878 XXX_unrecognized []byte `json:"-"`
1879 XXX_sizecache int32 `json:"-"`
1882 func (m *OneofOptions) Reset() { *m = OneofOptions{} }
1883 func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
1884 func (*OneofOptions) ProtoMessage() {}
1885 func (*OneofOptions) Descriptor() ([]byte, []int) {
1886 return fileDescriptor_e5baabe45344a177, []int{13}
1889 var extRange_OneofOptions = []proto.ExtensionRange{
1890 {Start: 1000, End: 536870911},
1893 func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
1894 return extRange_OneofOptions
1897 func (m *OneofOptions) XXX_Unmarshal(b []byte) error {
1898 return xxx_messageInfo_OneofOptions.Unmarshal(m, b)
1900 func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1901 return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic)
1903 func (m *OneofOptions) XXX_Merge(src proto.Message) {
1904 xxx_messageInfo_OneofOptions.Merge(m, src)
1906 func (m *OneofOptions) XXX_Size() int {
1907 return xxx_messageInfo_OneofOptions.Size(m)
1909 func (m *OneofOptions) XXX_DiscardUnknown() {
1910 xxx_messageInfo_OneofOptions.DiscardUnknown(m)
1913 var xxx_messageInfo_OneofOptions proto.InternalMessageInfo
1915 func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
1917 return m.UninterpretedOption
1922 type EnumOptions struct {
1923 // Set this option to true to allow mapping different tag names to the same
1925 AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
1926 // Is this enum deprecated?
1927 // Depending on the target platform, this can emit Deprecated annotations
1928 // for the enum, or it will be completely ignored; in the very least, this
1929 // is a formalization for deprecating enums.
1930 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1931 // The parser stores options it doesn't recognize here. See above.
1932 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1933 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1934 proto.XXX_InternalExtensions `json:"-"`
1935 XXX_unrecognized []byte `json:"-"`
1936 XXX_sizecache int32 `json:"-"`
1939 func (m *EnumOptions) Reset() { *m = EnumOptions{} }
1940 func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
1941 func (*EnumOptions) ProtoMessage() {}
1942 func (*EnumOptions) Descriptor() ([]byte, []int) {
1943 return fileDescriptor_e5baabe45344a177, []int{14}
1946 var extRange_EnumOptions = []proto.ExtensionRange{
1947 {Start: 1000, End: 536870911},
1950 func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
1951 return extRange_EnumOptions
1954 func (m *EnumOptions) XXX_Unmarshal(b []byte) error {
1955 return xxx_messageInfo_EnumOptions.Unmarshal(m, b)
1957 func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1958 return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic)
1960 func (m *EnumOptions) XXX_Merge(src proto.Message) {
1961 xxx_messageInfo_EnumOptions.Merge(m, src)
1963 func (m *EnumOptions) XXX_Size() int {
1964 return xxx_messageInfo_EnumOptions.Size(m)
1966 func (m *EnumOptions) XXX_DiscardUnknown() {
1967 xxx_messageInfo_EnumOptions.DiscardUnknown(m)
1970 var xxx_messageInfo_EnumOptions proto.InternalMessageInfo
1972 const Default_EnumOptions_Deprecated bool = false
1974 func (m *EnumOptions) GetAllowAlias() bool {
1975 if m != nil && m.AllowAlias != nil {
1976 return *m.AllowAlias
1981 func (m *EnumOptions) GetDeprecated() bool {
1982 if m != nil && m.Deprecated != nil {
1983 return *m.Deprecated
1985 return Default_EnumOptions_Deprecated
1988 func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
1990 return m.UninterpretedOption
1995 type EnumValueOptions struct {
1996 // Is this enum value deprecated?
1997 // Depending on the target platform, this can emit Deprecated annotations
1998 // for the enum value, or it will be completely ignored; in the very least,
1999 // this is a formalization for deprecating enum values.
2000 Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
2001 // The parser stores options it doesn't recognize here. See above.
2002 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
2003 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2004 proto.XXX_InternalExtensions `json:"-"`
2005 XXX_unrecognized []byte `json:"-"`
2006 XXX_sizecache int32 `json:"-"`
2009 func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} }
2010 func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
2011 func (*EnumValueOptions) ProtoMessage() {}
2012 func (*EnumValueOptions) Descriptor() ([]byte, []int) {
2013 return fileDescriptor_e5baabe45344a177, []int{15}
2016 var extRange_EnumValueOptions = []proto.ExtensionRange{
2017 {Start: 1000, End: 536870911},
2020 func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
2021 return extRange_EnumValueOptions
2024 func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error {
2025 return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b)
2027 func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2028 return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic)
2030 func (m *EnumValueOptions) XXX_Merge(src proto.Message) {
2031 xxx_messageInfo_EnumValueOptions.Merge(m, src)
2033 func (m *EnumValueOptions) XXX_Size() int {
2034 return xxx_messageInfo_EnumValueOptions.Size(m)
2036 func (m *EnumValueOptions) XXX_DiscardUnknown() {
2037 xxx_messageInfo_EnumValueOptions.DiscardUnknown(m)
2040 var xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo
2042 const Default_EnumValueOptions_Deprecated bool = false
2044 func (m *EnumValueOptions) GetDeprecated() bool {
2045 if m != nil && m.Deprecated != nil {
2046 return *m.Deprecated
2048 return Default_EnumValueOptions_Deprecated
2051 func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
2053 return m.UninterpretedOption
2058 type ServiceOptions struct {
2059 // Is this service deprecated?
2060 // Depending on the target platform, this can emit Deprecated annotations
2061 // for the service, or it will be completely ignored; in the very least,
2062 // this is a formalization for deprecating services.
2063 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
2064 // The parser stores options it doesn't recognize here. See above.
2065 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
2066 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2067 proto.XXX_InternalExtensions `json:"-"`
2068 XXX_unrecognized []byte `json:"-"`
2069 XXX_sizecache int32 `json:"-"`
2072 func (m *ServiceOptions) Reset() { *m = ServiceOptions{} }
2073 func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
2074 func (*ServiceOptions) ProtoMessage() {}
2075 func (*ServiceOptions) Descriptor() ([]byte, []int) {
2076 return fileDescriptor_e5baabe45344a177, []int{16}
2079 var extRange_ServiceOptions = []proto.ExtensionRange{
2080 {Start: 1000, End: 536870911},
2083 func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
2084 return extRange_ServiceOptions
2087 func (m *ServiceOptions) XXX_Unmarshal(b []byte) error {
2088 return xxx_messageInfo_ServiceOptions.Unmarshal(m, b)
2090 func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2091 return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic)
2093 func (m *ServiceOptions) XXX_Merge(src proto.Message) {
2094 xxx_messageInfo_ServiceOptions.Merge(m, src)
2096 func (m *ServiceOptions) XXX_Size() int {
2097 return xxx_messageInfo_ServiceOptions.Size(m)
2099 func (m *ServiceOptions) XXX_DiscardUnknown() {
2100 xxx_messageInfo_ServiceOptions.DiscardUnknown(m)
2103 var xxx_messageInfo_ServiceOptions proto.InternalMessageInfo
2105 const Default_ServiceOptions_Deprecated bool = false
2107 func (m *ServiceOptions) GetDeprecated() bool {
2108 if m != nil && m.Deprecated != nil {
2109 return *m.Deprecated
2111 return Default_ServiceOptions_Deprecated
2114 func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
2116 return m.UninterpretedOption
2121 type MethodOptions struct {
2122 // Is this method deprecated?
2123 // Depending on the target platform, this can emit Deprecated annotations
2124 // for the method, or it will be completely ignored; in the very least,
2125 // this is a formalization for deprecating methods.
2126 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
2127 IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"`
2128 // The parser stores options it doesn't recognize here. See above.
2129 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
2130 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2131 proto.XXX_InternalExtensions `json:"-"`
2132 XXX_unrecognized []byte `json:"-"`
2133 XXX_sizecache int32 `json:"-"`
2136 func (m *MethodOptions) Reset() { *m = MethodOptions{} }
2137 func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
2138 func (*MethodOptions) ProtoMessage() {}
2139 func (*MethodOptions) Descriptor() ([]byte, []int) {
2140 return fileDescriptor_e5baabe45344a177, []int{17}
2143 var extRange_MethodOptions = []proto.ExtensionRange{
2144 {Start: 1000, End: 536870911},
2147 func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
2148 return extRange_MethodOptions
2151 func (m *MethodOptions) XXX_Unmarshal(b []byte) error {
2152 return xxx_messageInfo_MethodOptions.Unmarshal(m, b)
2154 func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2155 return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic)
2157 func (m *MethodOptions) XXX_Merge(src proto.Message) {
2158 xxx_messageInfo_MethodOptions.Merge(m, src)
2160 func (m *MethodOptions) XXX_Size() int {
2161 return xxx_messageInfo_MethodOptions.Size(m)
2163 func (m *MethodOptions) XXX_DiscardUnknown() {
2164 xxx_messageInfo_MethodOptions.DiscardUnknown(m)
2167 var xxx_messageInfo_MethodOptions proto.InternalMessageInfo
2169 const Default_MethodOptions_Deprecated bool = false
2170 const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN
2172 func (m *MethodOptions) GetDeprecated() bool {
2173 if m != nil && m.Deprecated != nil {
2174 return *m.Deprecated
2176 return Default_MethodOptions_Deprecated
2179 func (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {
2180 if m != nil && m.IdempotencyLevel != nil {
2181 return *m.IdempotencyLevel
2183 return Default_MethodOptions_IdempotencyLevel
2186 func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
2188 return m.UninterpretedOption
2193 // A message representing a option the parser does not recognize. This only
2194 // appears in options protos created by the compiler::Parser class.
2195 // DescriptorPool resolves these when building Descriptor objects. Therefore,
2196 // options protos in descriptor objects (e.g. returned by Descriptor::options(),
2197 // or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
2199 type UninterpretedOption struct {
2200 Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
2201 // The value of the uninterpreted option, in whatever type the tokenizer
2202 // identified it as during parsing. Exactly one of these should be set.
2203 IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
2204 PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
2205 NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
2206 DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
2207 StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
2208 AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
2209 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2210 XXX_unrecognized []byte `json:"-"`
2211 XXX_sizecache int32 `json:"-"`
2214 func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} }
2215 func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
2216 func (*UninterpretedOption) ProtoMessage() {}
2217 func (*UninterpretedOption) Descriptor() ([]byte, []int) {
2218 return fileDescriptor_e5baabe45344a177, []int{18}
2221 func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {
2222 return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b)
2224 func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2225 return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic)
2227 func (m *UninterpretedOption) XXX_Merge(src proto.Message) {
2228 xxx_messageInfo_UninterpretedOption.Merge(m, src)
2230 func (m *UninterpretedOption) XXX_Size() int {
2231 return xxx_messageInfo_UninterpretedOption.Size(m)
2233 func (m *UninterpretedOption) XXX_DiscardUnknown() {
2234 xxx_messageInfo_UninterpretedOption.DiscardUnknown(m)
2237 var xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo
2239 func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
2246 func (m *UninterpretedOption) GetIdentifierValue() string {
2247 if m != nil && m.IdentifierValue != nil {
2248 return *m.IdentifierValue
2253 func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
2254 if m != nil && m.PositiveIntValue != nil {
2255 return *m.PositiveIntValue
2260 func (m *UninterpretedOption) GetNegativeIntValue() int64 {
2261 if m != nil && m.NegativeIntValue != nil {
2262 return *m.NegativeIntValue
2267 func (m *UninterpretedOption) GetDoubleValue() float64 {
2268 if m != nil && m.DoubleValue != nil {
2269 return *m.DoubleValue
2274 func (m *UninterpretedOption) GetStringValue() []byte {
2276 return m.StringValue
2281 func (m *UninterpretedOption) GetAggregateValue() string {
2282 if m != nil && m.AggregateValue != nil {
2283 return *m.AggregateValue
2288 // The name of the uninterpreted option. Each string represents a segment in
2289 // a dot-separated name. is_extension is true iff a segment represents an
2290 // extension (denoted with parentheses in options specs in .proto files).
2291 // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
2292 // "foo.(bar.baz).qux".
2293 type UninterpretedOption_NamePart struct {
2294 NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
2295 IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
2296 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2297 XXX_unrecognized []byte `json:"-"`
2298 XXX_sizecache int32 `json:"-"`
2301 func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOption_NamePart{} }
2302 func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
2303 func (*UninterpretedOption_NamePart) ProtoMessage() {}
2304 func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
2305 return fileDescriptor_e5baabe45344a177, []int{18, 0}
2308 func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {
2309 return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b)
2311 func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2312 return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic)
2314 func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {
2315 xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src)
2317 func (m *UninterpretedOption_NamePart) XXX_Size() int {
2318 return xxx_messageInfo_UninterpretedOption_NamePart.Size(m)
2320 func (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() {
2321 xxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m)
2324 var xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo
2326 func (m *UninterpretedOption_NamePart) GetNamePart() string {
2327 if m != nil && m.NamePart != nil {
2333 func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
2334 if m != nil && m.IsExtension != nil {
2335 return *m.IsExtension
2340 // Encapsulates information about the original source file from which a
2341 // FileDescriptorProto was generated.
2342 type SourceCodeInfo struct {
2343 // A Location identifies a piece of source code in a .proto file which
2344 // corresponds to a particular definition. This information is intended
2345 // to be useful to IDEs, code indexers, documentation generators, and similar
2348 // For example, say we have a file like:
2350 // optional string foo = 1;
2352 // Let's look at just the field definition:
2353 // optional string foo = 1;
2356 // We have the following locations:
2357 // span path represents
2358 // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
2359 // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
2360 // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
2361 // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
2362 // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
2365 // - A location may refer to a repeated field itself (i.e. not to any
2366 // particular index within it). This is used whenever a set of elements are
2367 // logically enclosed in a single code segment. For example, an entire
2368 // extend block (possibly containing multiple extension definitions) will
2369 // have an outer location whose path refers to the "extensions" repeated
2370 // field without an index.
2371 // - Multiple locations may have the same path. This happens when a single
2372 // logical declaration is spread out across multiple places. The most
2373 // obvious example is the "extend" block again -- there may be multiple
2374 // extend blocks in the same scope, each of which will have the same path.
2375 // - A location's span is not always a subset of its parent's span. For
2376 // example, the "extendee" of an extension declaration appears at the
2377 // beginning of the "extend" block and is shared by all extensions within
2379 // - Just because a location's span is a subset of some other location's span
2380 // does not mean that it is a descendent. For example, a "group" defines
2381 // both a type and a field in a single declaration. Thus, the locations
2382 // corresponding to the type and field and their components will overlap.
2383 // - Code which tries to interpret locations should probably be designed to
2384 // ignore those that it doesn't understand, as more types of locations could
2385 // be recorded in the future.
2386 Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
2387 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2388 XXX_unrecognized []byte `json:"-"`
2389 XXX_sizecache int32 `json:"-"`
2392 func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} }
2393 func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
2394 func (*SourceCodeInfo) ProtoMessage() {}
2395 func (*SourceCodeInfo) Descriptor() ([]byte, []int) {
2396 return fileDescriptor_e5baabe45344a177, []int{19}
2399 func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {
2400 return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b)
2402 func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2403 return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic)
2405 func (m *SourceCodeInfo) XXX_Merge(src proto.Message) {
2406 xxx_messageInfo_SourceCodeInfo.Merge(m, src)
2408 func (m *SourceCodeInfo) XXX_Size() int {
2409 return xxx_messageInfo_SourceCodeInfo.Size(m)
2411 func (m *SourceCodeInfo) XXX_DiscardUnknown() {
2412 xxx_messageInfo_SourceCodeInfo.DiscardUnknown(m)
2415 var xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo
2417 func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
2424 type SourceCodeInfo_Location struct {
2425 // Identifies which part of the FileDescriptorProto was defined at this
2428 // Each element is a field number or an index. They form a path from
2429 // the root FileDescriptorProto to the place where the definition. For
2430 // example, this path:
2431 // [ 4, 3, 2, 7, 1 ]
2433 // file.message_type(3) // 4, 3
2434 // .field(7) // 2, 7
2436 // This is because FileDescriptorProto.message_type has field number 4:
2437 // repeated DescriptorProto message_type = 4;
2438 // and DescriptorProto.field has field number 2:
2439 // repeated FieldDescriptorProto field = 2;
2440 // and FieldDescriptorProto.name has field number 1:
2441 // optional string name = 1;
2443 // Thus, the above path gives the location of a field name. If we removed
2444 // the last element:
2446 // this path refers to the whole field declaration (from the beginning
2447 // of the label to the terminating semicolon).
2448 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
2449 // Always has exactly three or four elements: start line, start column,
2450 // end line (optional, otherwise assumed same as start line), end column.
2451 // These are packed into a single field for efficiency. Note that line
2452 // and column numbers are zero-based -- typically you will want to add
2453 // 1 to each before displaying to a user.
2454 Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
2455 // If this SourceCodeInfo represents a complete declaration, these are any
2456 // comments appearing before and after the declaration which appear to be
2457 // attached to the declaration.
2459 // A series of line comments appearing on consecutive lines, with no other
2460 // tokens appearing on those lines, will be treated as a single comment.
2462 // leading_detached_comments will keep paragraphs of comments that appear
2463 // before (but not connected to) the current element. Each paragraph,
2464 // separated by empty lines, will be one comment element in the repeated
2467 // Only the comment content is provided; comment markers (e.g. //) are
2468 // stripped out. For block comments, leading whitespace and an asterisk
2469 // will be stripped from the beginning of each line other than the first.
2470 // Newlines are included in the output.
2474 // optional int32 foo = 1; // Comment attached to foo.
2475 // // Comment attached to bar.
2476 // optional int32 bar = 2;
2478 // optional string baz = 3;
2479 // // Comment attached to baz.
2480 // // Another line attached to baz.
2482 // // Comment attached to qux.
2484 // // Another line attached to qux.
2485 // optional double qux = 4;
2487 // // Detached comment for corge. This is not leading or trailing comments
2488 // // to qux or corge because there are blank lines separating it from
2491 // // Detached comment for corge paragraph 2.
2493 // optional string corge = 5;
2494 // /* Block comment attached
2495 // * to corge. Leading asterisks
2496 // * will be removed. */
2497 // /* Block comment attached to
2499 // optional int32 grault = 6;
2501 // // ignored detached comments.
2502 LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
2503 TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
2504 LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
2505 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2506 XXX_unrecognized []byte `json:"-"`
2507 XXX_sizecache int32 `json:"-"`
2510 func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} }
2511 func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
2512 func (*SourceCodeInfo_Location) ProtoMessage() {}
2513 func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
2514 return fileDescriptor_e5baabe45344a177, []int{19, 0}
2517 func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {
2518 return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b)
2520 func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2521 return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic)
2523 func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {
2524 xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src)
2526 func (m *SourceCodeInfo_Location) XXX_Size() int {
2527 return xxx_messageInfo_SourceCodeInfo_Location.Size(m)
2529 func (m *SourceCodeInfo_Location) XXX_DiscardUnknown() {
2530 xxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m)
2533 var xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo
2535 func (m *SourceCodeInfo_Location) GetPath() []int32 {
2542 func (m *SourceCodeInfo_Location) GetSpan() []int32 {
2549 func (m *SourceCodeInfo_Location) GetLeadingComments() string {
2550 if m != nil && m.LeadingComments != nil {
2551 return *m.LeadingComments
2556 func (m *SourceCodeInfo_Location) GetTrailingComments() string {
2557 if m != nil && m.TrailingComments != nil {
2558 return *m.TrailingComments
2563 func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
2565 return m.LeadingDetachedComments
2570 // Describes the relationship between generated code and its original source
2571 // file. A GeneratedCodeInfo message is associated with only one generated
2572 // source file, but may contain references to different source .proto files.
2573 type GeneratedCodeInfo struct {
2574 // An Annotation connects some span of text in generated code to an element
2575 // of its generating .proto file.
2576 Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
2577 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2578 XXX_unrecognized []byte `json:"-"`
2579 XXX_sizecache int32 `json:"-"`
2582 func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} }
2583 func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
2584 func (*GeneratedCodeInfo) ProtoMessage() {}
2585 func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {
2586 return fileDescriptor_e5baabe45344a177, []int{20}
2589 func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {
2590 return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b)
2592 func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2593 return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic)
2595 func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) {
2596 xxx_messageInfo_GeneratedCodeInfo.Merge(m, src)
2598 func (m *GeneratedCodeInfo) XXX_Size() int {
2599 return xxx_messageInfo_GeneratedCodeInfo.Size(m)
2601 func (m *GeneratedCodeInfo) XXX_DiscardUnknown() {
2602 xxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m)
2605 var xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo
2607 func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
2614 type GeneratedCodeInfo_Annotation struct {
2615 // Identifies the element in the original source .proto file. This field
2616 // is formatted the same as SourceCodeInfo.Location.path.
2617 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
2618 // Identifies the filesystem path to the original source .proto.
2619 SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
2620 // Identifies the starting offset in bytes in the generated code
2621 // that relates to the identified object.
2622 Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
2623 // Identifies the ending offset in bytes in the generated code that
2624 // relates to the identified offset. The end offset should be one past
2625 // the last relevant byte (so the length of the text = end - begin).
2626 End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
2627 XXX_NoUnkeyedLiteral struct{} `json:"-"`
2628 XXX_unrecognized []byte `json:"-"`
2629 XXX_sizecache int32 `json:"-"`
2632 func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_Annotation{} }
2633 func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
2634 func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
2635 func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
2636 return fileDescriptor_e5baabe45344a177, []int{20, 0}
2639 func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {
2640 return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b)
2642 func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2643 return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic)
2645 func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {
2646 xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src)
2648 func (m *GeneratedCodeInfo_Annotation) XXX_Size() int {
2649 return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m)
2651 func (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() {
2652 xxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m)
2655 var xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo
2657 func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
2664 func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
2665 if m != nil && m.SourceFile != nil {
2666 return *m.SourceFile
2671 func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
2672 if m != nil && m.Begin != nil {
2678 func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
2679 if m != nil && m.End != nil {
2686 proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
2687 proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
2688 proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
2689 proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
2690 proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
2691 proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
2692 proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
2693 proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
2694 proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
2695 proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
2696 proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
2697 proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions")
2698 proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
2699 proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
2700 proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
2701 proto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), "google.protobuf.EnumDescriptorProto.EnumReservedRange")
2702 proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
2703 proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
2704 proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
2705 proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
2706 proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
2707 proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
2708 proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
2709 proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
2710 proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
2711 proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
2712 proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
2713 proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
2714 proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
2715 proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
2716 proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
2717 proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
2718 proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
2721 func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor_e5baabe45344a177) }
2723 var fileDescriptor_e5baabe45344a177 = []byte{
2724 // 2589 bytes of a gzipped FileDescriptorProto
2725 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x8e, 0xdb, 0xc6,
2726 0x15, 0x0e, 0xf5, 0xb7, 0xd2, 0x91, 0x56, 0x3b, 0x3b, 0xbb, 0xb1, 0xe9, 0xcd, 0x8f, 0xd7, 0xca,
2727 0x8f, 0xd7, 0x4e, 0xac, 0x0d, 0x1c, 0xdb, 0x71, 0xd6, 0x45, 0x5a, 0xad, 0x44, 0x6f, 0xe4, 0xee,
2728 0x4a, 0x2a, 0xa5, 0x6d, 0x7e, 0x80, 0x82, 0x98, 0x25, 0x47, 0x12, 0x6d, 0x8a, 0x64, 0x48, 0xca,
2729 0xf6, 0x06, 0xbd, 0x30, 0xd0, 0xab, 0x5e, 0x15, 0xe8, 0x55, 0x51, 0x14, 0xbd, 0xe8, 0x4d, 0x80,
2730 0x3e, 0x40, 0x81, 0xde, 0xf5, 0x09, 0x0a, 0xe4, 0x0d, 0x8a, 0xb6, 0x40, 0xfb, 0x08, 0xbd, 0x2c,
2731 0x66, 0x86, 0xa4, 0x48, 0x49, 0x1b, 0x6f, 0x02, 0xc4, 0xb9, 0x92, 0xe6, 0x3b, 0xdf, 0x39, 0x73,
2732 0xe6, 0xcc, 0x99, 0x99, 0x33, 0x43, 0xd8, 0x1e, 0x39, 0xce, 0xc8, 0xa2, 0xbb, 0xae, 0xe7, 0x04,
2733 0xce, 0xc9, 0x74, 0xb8, 0x6b, 0x50, 0x5f, 0xf7, 0x4c, 0x37, 0x70, 0xbc, 0x3a, 0xc7, 0xf0, 0x9a,
2734 0x60, 0xd4, 0x23, 0x46, 0xed, 0x08, 0xd6, 0xef, 0x9b, 0x16, 0x6d, 0xc5, 0xc4, 0x3e, 0x0d, 0xf0,
2735 0x5d, 0xc8, 0x0d, 0x4d, 0x8b, 0xca, 0xd2, 0x76, 0x76, 0xa7, 0x7c, 0xf3, 0xcd, 0xfa, 0x9c, 0x52,
2736 0x3d, 0xad, 0xd1, 0x63, 0xb0, 0xca, 0x35, 0x6a, 0xff, 0xce, 0xc1, 0xc6, 0x12, 0x29, 0xc6, 0x90,
2737 0xb3, 0xc9, 0x84, 0x59, 0x94, 0x76, 0x4a, 0x2a, 0xff, 0x8f, 0x65, 0x58, 0x71, 0x89, 0xfe, 0x88,
2738 0x8c, 0xa8, 0x9c, 0xe1, 0x70, 0xd4, 0xc4, 0xaf, 0x03, 0x18, 0xd4, 0xa5, 0xb6, 0x41, 0x6d, 0xfd,
2739 0x54, 0xce, 0x6e, 0x67, 0x77, 0x4a, 0x6a, 0x02, 0xc1, 0xef, 0xc0, 0xba, 0x3b, 0x3d, 0xb1, 0x4c,
2740 0x5d, 0x4b, 0xd0, 0x60, 0x3b, 0xbb, 0x93, 0x57, 0x91, 0x10, 0xb4, 0x66, 0xe4, 0xab, 0xb0, 0xf6,
2741 0x84, 0x92, 0x47, 0x49, 0x6a, 0x99, 0x53, 0xab, 0x0c, 0x4e, 0x10, 0x9b, 0x50, 0x99, 0x50, 0xdf,
2742 0x27, 0x23, 0xaa, 0x05, 0xa7, 0x2e, 0x95, 0x73, 0x7c, 0xf4, 0xdb, 0x0b, 0xa3, 0x9f, 0x1f, 0x79,
2743 0x39, 0xd4, 0x1a, 0x9c, 0xba, 0x14, 0x37, 0xa0, 0x44, 0xed, 0xe9, 0x44, 0x58, 0xc8, 0x9f, 0x11,
2744 0x3f, 0xc5, 0x9e, 0x4e, 0xe6, 0xad, 0x14, 0x99, 0x5a, 0x68, 0x62, 0xc5, 0xa7, 0xde, 0x63, 0x53,
2745 0xa7, 0x72, 0x81, 0x1b, 0xb8, 0xba, 0x60, 0xa0, 0x2f, 0xe4, 0xf3, 0x36, 0x22, 0x3d, 0xdc, 0x84,
2746 0x12, 0x7d, 0x1a, 0x50, 0xdb, 0x37, 0x1d, 0x5b, 0x5e, 0xe1, 0x46, 0xde, 0x5a, 0x32, 0x8b, 0xd4,
2747 0x32, 0xe6, 0x4d, 0xcc, 0xf4, 0xf0, 0x1d, 0x58, 0x71, 0xdc, 0xc0, 0x74, 0x6c, 0x5f, 0x2e, 0x6e,
2748 0x4b, 0x3b, 0xe5, 0x9b, 0xaf, 0x2e, 0x4d, 0x84, 0xae, 0xe0, 0xa8, 0x11, 0x19, 0xb7, 0x01, 0xf9,
2749 0xce, 0xd4, 0xd3, 0xa9, 0xa6, 0x3b, 0x06, 0xd5, 0x4c, 0x7b, 0xe8, 0xc8, 0x25, 0x6e, 0xe0, 0xf2,
2750 0xe2, 0x40, 0x38, 0xb1, 0xe9, 0x18, 0xb4, 0x6d, 0x0f, 0x1d, 0xb5, 0xea, 0xa7, 0xda, 0xf8, 0x02,
2751 0x14, 0xfc, 0x53, 0x3b, 0x20, 0x4f, 0xe5, 0x0a, 0xcf, 0x90, 0xb0, 0x55, 0xfb, 0x6b, 0x01, 0xd6,
2752 0xce, 0x93, 0x62, 0xf7, 0x20, 0x3f, 0x64, 0xa3, 0x94, 0x33, 0xdf, 0x26, 0x06, 0x42, 0x27, 0x1d,
2753 0xc4, 0xc2, 0x77, 0x0c, 0x62, 0x03, 0xca, 0x36, 0xf5, 0x03, 0x6a, 0x88, 0x8c, 0xc8, 0x9e, 0x33,
2754 0xa7, 0x40, 0x28, 0x2d, 0xa6, 0x54, 0xee, 0x3b, 0xa5, 0xd4, 0xa7, 0xb0, 0x16, 0xbb, 0xa4, 0x79,
2755 0xc4, 0x1e, 0x45, 0xb9, 0xb9, 0xfb, 0x3c, 0x4f, 0xea, 0x4a, 0xa4, 0xa7, 0x32, 0x35, 0xb5, 0x4a,
2756 0x53, 0x6d, 0xdc, 0x02, 0x70, 0x6c, 0xea, 0x0c, 0x35, 0x83, 0xea, 0x96, 0x5c, 0x3c, 0x23, 0x4a,
2757 0x5d, 0x46, 0x59, 0x88, 0x92, 0x23, 0x50, 0xdd, 0xc2, 0x1f, 0xce, 0x52, 0x6d, 0xe5, 0x8c, 0x4c,
2758 0x39, 0x12, 0x8b, 0x6c, 0x21, 0xdb, 0x8e, 0xa1, 0xea, 0x51, 0x96, 0xf7, 0xd4, 0x08, 0x47, 0x56,
2759 0xe2, 0x4e, 0xd4, 0x9f, 0x3b, 0x32, 0x35, 0x54, 0x13, 0x03, 0x5b, 0xf5, 0x92, 0x4d, 0xfc, 0x06,
2760 0xc4, 0x80, 0xc6, 0xd3, 0x0a, 0xf8, 0x2e, 0x54, 0x89, 0xc0, 0x0e, 0x99, 0xd0, 0xad, 0x2f, 0xa1,
2761 0x9a, 0x0e, 0x0f, 0xde, 0x84, 0xbc, 0x1f, 0x10, 0x2f, 0xe0, 0x59, 0x98, 0x57, 0x45, 0x03, 0x23,
2762 0xc8, 0x52, 0xdb, 0xe0, 0xbb, 0x5c, 0x5e, 0x65, 0x7f, 0xf1, 0x4f, 0x66, 0x03, 0xce, 0xf2, 0x01,
2763 0xbf, 0xbd, 0x38, 0xa3, 0x29, 0xcb, 0xf3, 0xe3, 0xde, 0xfa, 0x00, 0x56, 0x53, 0x03, 0x38, 0x6f,
2764 0xd7, 0xb5, 0x5f, 0xc2, 0xcb, 0x4b, 0x4d, 0xe3, 0x4f, 0x61, 0x73, 0x6a, 0x9b, 0x76, 0x40, 0x3d,
2765 0xd7, 0xa3, 0x2c, 0x63, 0x45, 0x57, 0xf2, 0x7f, 0x56, 0xce, 0xc8, 0xb9, 0xe3, 0x24, 0x5b, 0x58,
2766 0x51, 0x37, 0xa6, 0x8b, 0xe0, 0xf5, 0x52, 0xf1, 0xbf, 0x2b, 0xe8, 0xd9, 0xb3, 0x67, 0xcf, 0x32,
2767 0xb5, 0xdf, 0x15, 0x60, 0x73, 0xd9, 0x9a, 0x59, 0xba, 0x7c, 0x2f, 0x40, 0xc1, 0x9e, 0x4e, 0x4e,
2768 0xa8, 0xc7, 0x83, 0x94, 0x57, 0xc3, 0x16, 0x6e, 0x40, 0xde, 0x22, 0x27, 0xd4, 0x92, 0x73, 0xdb,
2769 0xd2, 0x4e, 0xf5, 0xe6, 0x3b, 0xe7, 0x5a, 0x95, 0xf5, 0x43, 0xa6, 0xa2, 0x0a, 0x4d, 0xfc, 0x11,
2770 0xe4, 0xc2, 0x2d, 0x9a, 0x59, 0xb8, 0x7e, 0x3e, 0x0b, 0x6c, 0x2d, 0xa9, 0x5c, 0x0f, 0xbf, 0x02,
2771 0x25, 0xf6, 0x2b, 0x72, 0xa3, 0xc0, 0x7d, 0x2e, 0x32, 0x80, 0xe5, 0x05, 0xde, 0x82, 0x22, 0x5f,
2772 0x26, 0x06, 0x8d, 0x8e, 0xb6, 0xb8, 0xcd, 0x12, 0xcb, 0xa0, 0x43, 0x32, 0xb5, 0x02, 0xed, 0x31,
2773 0xb1, 0xa6, 0x94, 0x27, 0x7c, 0x49, 0xad, 0x84, 0xe0, 0xcf, 0x19, 0x86, 0x2f, 0x43, 0x59, 0xac,
2774 0x2a, 0xd3, 0x36, 0xe8, 0x53, 0xbe, 0x7b, 0xe6, 0x55, 0xb1, 0xd0, 0xda, 0x0c, 0x61, 0xdd, 0x3f,
2775 0xf4, 0x1d, 0x3b, 0x4a, 0x4d, 0xde, 0x05, 0x03, 0x78, 0xf7, 0x1f, 0xcc, 0x6f, 0xdc, 0xaf, 0x2d,
2776 0x1f, 0xde, 0x7c, 0x4e, 0xd5, 0xfe, 0x92, 0x81, 0x1c, 0xdf, 0x2f, 0xd6, 0xa0, 0x3c, 0xf8, 0xac,
2777 0xa7, 0x68, 0xad, 0xee, 0xf1, 0xfe, 0xa1, 0x82, 0x24, 0x5c, 0x05, 0xe0, 0xc0, 0xfd, 0xc3, 0x6e,
2778 0x63, 0x80, 0x32, 0x71, 0xbb, 0xdd, 0x19, 0xdc, 0xb9, 0x85, 0xb2, 0xb1, 0xc2, 0xb1, 0x00, 0x72,
2779 0x49, 0xc2, 0xfb, 0x37, 0x51, 0x1e, 0x23, 0xa8, 0x08, 0x03, 0xed, 0x4f, 0x95, 0xd6, 0x9d, 0x5b,
2780 0xa8, 0x90, 0x46, 0xde, 0xbf, 0x89, 0x56, 0xf0, 0x2a, 0x94, 0x38, 0xb2, 0xdf, 0xed, 0x1e, 0xa2,
2781 0x62, 0x6c, 0xb3, 0x3f, 0x50, 0xdb, 0x9d, 0x03, 0x54, 0x8a, 0x6d, 0x1e, 0xa8, 0xdd, 0xe3, 0x1e,
2782 0x82, 0xd8, 0xc2, 0x91, 0xd2, 0xef, 0x37, 0x0e, 0x14, 0x54, 0x8e, 0x19, 0xfb, 0x9f, 0x0d, 0x94,
2783 0x3e, 0xaa, 0xa4, 0xdc, 0x7a, 0xff, 0x26, 0x5a, 0x8d, 0xbb, 0x50, 0x3a, 0xc7, 0x47, 0xa8, 0x8a,
2784 0xd7, 0x61, 0x55, 0x74, 0x11, 0x39, 0xb1, 0x36, 0x07, 0xdd, 0xb9, 0x85, 0xd0, 0xcc, 0x11, 0x61,
2785 0x65, 0x3d, 0x05, 0xdc, 0xb9, 0x85, 0x70, 0xad, 0x09, 0x79, 0x9e, 0x5d, 0x18, 0x43, 0xf5, 0xb0,
2786 0xb1, 0xaf, 0x1c, 0x6a, 0xdd, 0xde, 0xa0, 0xdd, 0xed, 0x34, 0x0e, 0x91, 0x34, 0xc3, 0x54, 0xe5,
2787 0x67, 0xc7, 0x6d, 0x55, 0x69, 0xa1, 0x4c, 0x12, 0xeb, 0x29, 0x8d, 0x81, 0xd2, 0x42, 0xd9, 0x9a,
2788 0x0e, 0x9b, 0xcb, 0xf6, 0xc9, 0xa5, 0x2b, 0x23, 0x31, 0xc5, 0x99, 0x33, 0xa6, 0x98, 0xdb, 0x5a,
2789 0x98, 0xe2, 0x7f, 0x65, 0x60, 0x63, 0xc9, 0x59, 0xb1, 0xb4, 0x93, 0x1f, 0x43, 0x5e, 0xa4, 0xa8,
2790 0x38, 0x3d, 0xaf, 0x2d, 0x3d, 0x74, 0x78, 0xc2, 0x2e, 0x9c, 0xa0, 0x5c, 0x2f, 0x59, 0x41, 0x64,
2791 0xcf, 0xa8, 0x20, 0x98, 0x89, 0x85, 0x3d, 0xfd, 0x17, 0x0b, 0x7b, 0xba, 0x38, 0xf6, 0xee, 0x9c,
2792 0xe7, 0xd8, 0xe3, 0xd8, 0xb7, 0xdb, 0xdb, 0xf3, 0x4b, 0xf6, 0xf6, 0x7b, 0xb0, 0xbe, 0x60, 0xe8,
2793 0xdc, 0x7b, 0xec, 0xaf, 0x24, 0x90, 0xcf, 0x0a, 0xce, 0x73, 0x76, 0xba, 0x4c, 0x6a, 0xa7, 0xbb,
2794 0x37, 0x1f, 0xc1, 0x2b, 0x67, 0x4f, 0xc2, 0xc2, 0x5c, 0x7f, 0x25, 0xc1, 0x85, 0xe5, 0x95, 0xe2,
2795 0x52, 0x1f, 0x3e, 0x82, 0xc2, 0x84, 0x06, 0x63, 0x27, 0xaa, 0x96, 0xde, 0x5e, 0x72, 0x06, 0x33,
2796 0xf1, 0xfc, 0x64, 0x87, 0x5a, 0xc9, 0x43, 0x3c, 0x7b, 0x56, 0xb9, 0x27, 0xbc, 0x59, 0xf0, 0xf4,
2797 0xd7, 0x19, 0x78, 0x79, 0xa9, 0xf1, 0xa5, 0x8e, 0xbe, 0x06, 0x60, 0xda, 0xee, 0x34, 0x10, 0x15,
2798 0x91, 0xd8, 0x60, 0x4b, 0x1c, 0xe1, 0x9b, 0x17, 0xdb, 0x3c, 0xa7, 0x41, 0x2c, 0xcf, 0x72, 0x39,
2799 0x08, 0x88, 0x13, 0xee, 0xce, 0x1c, 0xcd, 0x71, 0x47, 0x5f, 0x3f, 0x63, 0xa4, 0x0b, 0x89, 0xf9,
2800 0x1e, 0x20, 0xdd, 0x32, 0xa9, 0x1d, 0x68, 0x7e, 0xe0, 0x51, 0x32, 0x31, 0xed, 0x11, 0x3f, 0x41,
2801 0x8a, 0x7b, 0xf9, 0x21, 0xb1, 0x7c, 0xaa, 0xae, 0x09, 0x71, 0x3f, 0x92, 0x32, 0x0d, 0x9e, 0x40,
2802 0x5e, 0x42, 0xa3, 0x90, 0xd2, 0x10, 0xe2, 0x58, 0xa3, 0xf6, 0xdb, 0x12, 0x94, 0x13, 0x75, 0x35,
2803 0xbe, 0x02, 0x95, 0x87, 0xe4, 0x31, 0xd1, 0xa2, 0xbb, 0x92, 0x88, 0x44, 0x99, 0x61, 0xbd, 0xf0,
2804 0xbe, 0xf4, 0x1e, 0x6c, 0x72, 0x8a, 0x33, 0x0d, 0xa8, 0xa7, 0xe9, 0x16, 0xf1, 0x7d, 0x1e, 0xb4,
2805 0x22, 0xa7, 0x62, 0x26, 0xeb, 0x32, 0x51, 0x33, 0x92, 0xe0, 0xdb, 0xb0, 0xc1, 0x35, 0x26, 0x53,
2806 0x2b, 0x30, 0x5d, 0x8b, 0x6a, 0xec, 0xf6, 0xe6, 0xf3, 0x93, 0x24, 0xf6, 0x6c, 0x9d, 0x31, 0x8e,
2807 0x42, 0x02, 0xf3, 0xc8, 0xc7, 0x2d, 0x78, 0x8d, 0xab, 0x8d, 0xa8, 0x4d, 0x3d, 0x12, 0x50, 0x8d,
2808 0x7e, 0x31, 0x25, 0x96, 0xaf, 0x11, 0xdb, 0xd0, 0xc6, 0xc4, 0x1f, 0xcb, 0x9b, 0xcc, 0xc0, 0x7e,
2809 0x46, 0x96, 0xd4, 0x4b, 0x8c, 0x78, 0x10, 0xf2, 0x14, 0x4e, 0x6b, 0xd8, 0xc6, 0xc7, 0xc4, 0x1f,
2810 0xe3, 0x3d, 0xb8, 0xc0, 0xad, 0xf8, 0x81, 0x67, 0xda, 0x23, 0x4d, 0x1f, 0x53, 0xfd, 0x91, 0x36,
2811 0x0d, 0x86, 0x77, 0xe5, 0x57, 0x92, 0xfd, 0x73, 0x0f, 0xfb, 0x9c, 0xd3, 0x64, 0x94, 0xe3, 0x60,
2812 0x78, 0x17, 0xf7, 0xa1, 0xc2, 0x26, 0x63, 0x62, 0x7e, 0x49, 0xb5, 0xa1, 0xe3, 0xf1, 0xa3, 0xb1,
2813 0xba, 0x64, 0x6b, 0x4a, 0x44, 0xb0, 0xde, 0x0d, 0x15, 0x8e, 0x1c, 0x83, 0xee, 0xe5, 0xfb, 0x3d,
2814 0x45, 0x69, 0xa9, 0xe5, 0xc8, 0xca, 0x7d, 0xc7, 0x63, 0x09, 0x35, 0x72, 0xe2, 0x00, 0x97, 0x45,
2815 0x42, 0x8d, 0x9c, 0x28, 0xbc, 0xb7, 0x61, 0x43, 0xd7, 0xc5, 0x98, 0x4d, 0x5d, 0x0b, 0xef, 0x58,
2816 0xbe, 0x8c, 0x52, 0xc1, 0xd2, 0xf5, 0x03, 0x41, 0x08, 0x73, 0xdc, 0xc7, 0x1f, 0xc2, 0xcb, 0xb3,
2817 0x60, 0x25, 0x15, 0xd7, 0x17, 0x46, 0x39, 0xaf, 0x7a, 0x1b, 0x36, 0xdc, 0xd3, 0x45, 0x45, 0x9c,
2818 0xea, 0xd1, 0x3d, 0x9d, 0x57, 0xfb, 0x00, 0x36, 0xdd, 0xb1, 0xbb, 0xa8, 0x77, 0x3d, 0xa9, 0x87,
2819 0xdd, 0xb1, 0x3b, 0xaf, 0xf8, 0x16, 0xbf, 0x70, 0x7b, 0x54, 0x27, 0x01, 0x35, 0xe4, 0x8b, 0x49,
2820 0x7a, 0x42, 0x80, 0x77, 0x01, 0xe9, 0xba, 0x46, 0x6d, 0x72, 0x62, 0x51, 0x8d, 0x78, 0xd4, 0x26,
2821 0xbe, 0x7c, 0x39, 0x49, 0xae, 0xea, 0xba, 0xc2, 0xa5, 0x0d, 0x2e, 0xc4, 0xd7, 0x61, 0xdd, 0x39,
2822 0x79, 0xa8, 0x8b, 0x94, 0xd4, 0x5c, 0x8f, 0x0e, 0xcd, 0xa7, 0xf2, 0x9b, 0x3c, 0xbe, 0x6b, 0x4c,
2823 0xc0, 0x13, 0xb2, 0xc7, 0x61, 0x7c, 0x0d, 0x90, 0xee, 0x8f, 0x89, 0xe7, 0xf2, 0x3d, 0xd9, 0x77,
2824 0x89, 0x4e, 0xe5, 0xb7, 0x04, 0x55, 0xe0, 0x9d, 0x08, 0x66, 0x4b, 0xc2, 0x7f, 0x62, 0x0e, 0x83,
2825 0xc8, 0xe2, 0x55, 0xb1, 0x24, 0x38, 0x16, 0x5a, 0xdb, 0x01, 0xc4, 0x42, 0x91, 0xea, 0x78, 0x87,
2826 0xd3, 0xaa, 0xee, 0xd8, 0x4d, 0xf6, 0xfb, 0x06, 0xac, 0x32, 0xe6, 0xac, 0xd3, 0x6b, 0xa2, 0x20,
2827 0x73, 0xc7, 0x89, 0x1e, 0x6f, 0xc1, 0x05, 0x46, 0x9a, 0xd0, 0x80, 0x18, 0x24, 0x20, 0x09, 0xf6,
2828 0xbb, 0x9c, 0xcd, 0xe2, 0x7e, 0x14, 0x0a, 0x53, 0x7e, 0x7a, 0xd3, 0x93, 0xd3, 0x38, 0xb3, 0x6e,
2829 0x08, 0x3f, 0x19, 0x16, 0xe5, 0xd6, 0xf7, 0x56, 0x74, 0xd7, 0xf6, 0xa0, 0x92, 0x4c, 0x7c, 0x5c,
2830 0x02, 0x91, 0xfa, 0x48, 0x62, 0x55, 0x50, 0xb3, 0xdb, 0x62, 0xf5, 0xcb, 0xe7, 0x0a, 0xca, 0xb0,
2831 0x3a, 0xea, 0xb0, 0x3d, 0x50, 0x34, 0xf5, 0xb8, 0x33, 0x68, 0x1f, 0x29, 0x28, 0x9b, 0x28, 0xd8,
2832 0x1f, 0xe4, 0x8a, 0x6f, 0xa3, 0xab, 0xb5, 0xaf, 0x33, 0x50, 0x4d, 0xdf, 0xc0, 0xf0, 0x8f, 0xe0,
2833 0x62, 0xf4, 0x5c, 0xe2, 0xd3, 0x40, 0x7b, 0x62, 0x7a, 0x7c, 0x45, 0x4e, 0x88, 0x38, 0x1d, 0xe3,
2834 0x9c, 0xd8, 0x0c, 0x59, 0x7d, 0x1a, 0x7c, 0x62, 0x7a, 0x6c, 0xbd, 0x4d, 0x48, 0x80, 0x0f, 0xe1,
2835 0xb2, 0xed, 0x68, 0x7e, 0x40, 0x6c, 0x83, 0x78, 0x86, 0x36, 0x7b, 0xa8, 0xd2, 0x88, 0xae, 0x53,
2836 0xdf, 0x77, 0xc4, 0x49, 0x18, 0x5b, 0x79, 0xd5, 0x76, 0xfa, 0x21, 0x79, 0x76, 0x44, 0x34, 0x42,
2837 0xea, 0x5c, 0xfe, 0x66, 0xcf, 0xca, 0xdf, 0x57, 0xa0, 0x34, 0x21, 0xae, 0x46, 0xed, 0xc0, 0x3b,
2838 0xe5, 0x75, 0x77, 0x51, 0x2d, 0x4e, 0x88, 0xab, 0xb0, 0xf6, 0x0b, 0xb9, 0xfe, 0x3c, 0xc8, 0x15,
2839 0x8b, 0xa8, 0xf4, 0x20, 0x57, 0x2c, 0x21, 0xa8, 0xfd, 0x33, 0x0b, 0x95, 0x64, 0x1d, 0xce, 0xae,
2840 0x35, 0x3a, 0x3f, 0xb2, 0x24, 0xbe, 0xa9, 0xbd, 0xf1, 0x8d, 0x55, 0x7b, 0xbd, 0xc9, 0xce, 0xb2,
2841 0xbd, 0x82, 0xa8, 0x8e, 0x55, 0xa1, 0xc9, 0xea, 0x08, 0x96, 0x6c, 0x54, 0x54, 0x23, 0x45, 0x35,
2842 0x6c, 0xe1, 0x03, 0x28, 0x3c, 0xf4, 0xb9, 0xed, 0x02, 0xb7, 0xfd, 0xe6, 0x37, 0xdb, 0x7e, 0xd0,
2843 0xe7, 0xc6, 0x4b, 0x0f, 0xfa, 0x5a, 0xa7, 0xab, 0x1e, 0x35, 0x0e, 0xd5, 0x50, 0x1d, 0x5f, 0x82,
2844 0x9c, 0x45, 0xbe, 0x3c, 0x4d, 0x9f, 0x7a, 0x1c, 0x3a, 0xef, 0x24, 0x5c, 0x82, 0xdc, 0x13, 0x4a,
2845 0x1e, 0xa5, 0xcf, 0x1a, 0x0e, 0x7d, 0x8f, 0x8b, 0x61, 0x17, 0xf2, 0x3c, 0x5e, 0x18, 0x20, 0x8c,
2846 0x18, 0x7a, 0x09, 0x17, 0x21, 0xd7, 0xec, 0xaa, 0x6c, 0x41, 0x20, 0xa8, 0x08, 0x54, 0xeb, 0xb5,
2847 0x95, 0xa6, 0x82, 0x32, 0xb5, 0xdb, 0x50, 0x10, 0x41, 0x60, 0x8b, 0x25, 0x0e, 0x03, 0x7a, 0x29,
2848 0x6c, 0x86, 0x36, 0xa4, 0x48, 0x7a, 0x7c, 0xb4, 0xaf, 0xa8, 0x28, 0x93, 0x9e, 0xea, 0x1c, 0xca,
2849 0xd7, 0x7c, 0xa8, 0x24, 0x0b, 0xf1, 0x17, 0x73, 0xc9, 0xfe, 0x9b, 0x04, 0xe5, 0x44, 0x61, 0xcd,
2850 0x2a, 0x22, 0x62, 0x59, 0xce, 0x13, 0x8d, 0x58, 0x26, 0xf1, 0xc3, 0xd4, 0x00, 0x0e, 0x35, 0x18,
2851 0x72, 0xde, 0xa9, 0x7b, 0x41, 0x4b, 0x24, 0x8f, 0x0a, 0xb5, 0x3f, 0x4a, 0x80, 0xe6, 0x2b, 0xdb,
2852 0x39, 0x37, 0xa5, 0x1f, 0xd2, 0xcd, 0xda, 0x1f, 0x24, 0xa8, 0xa6, 0xcb, 0xd9, 0x39, 0xf7, 0xae,
2853 0xfc, 0xa0, 0xee, 0xfd, 0x23, 0x03, 0xab, 0xa9, 0x22, 0xf6, 0xbc, 0xde, 0x7d, 0x01, 0xeb, 0xa6,
2854 0x41, 0x27, 0xae, 0x13, 0x50, 0x5b, 0x3f, 0xd5, 0x2c, 0xfa, 0x98, 0x5a, 0x72, 0x8d, 0x6f, 0x1a,
2855 0xbb, 0xdf, 0x5c, 0x26, 0xd7, 0xdb, 0x33, 0xbd, 0x43, 0xa6, 0xb6, 0xb7, 0xd1, 0x6e, 0x29, 0x47,
2856 0xbd, 0xee, 0x40, 0xe9, 0x34, 0x3f, 0xd3, 0x8e, 0x3b, 0x3f, 0xed, 0x74, 0x3f, 0xe9, 0xa8, 0xc8,
2857 0x9c, 0xa3, 0x7d, 0x8f, 0xcb, 0xbe, 0x07, 0x68, 0xde, 0x29, 0x7c, 0x11, 0x96, 0xb9, 0x85, 0x5e,
2858 0xc2, 0x1b, 0xb0, 0xd6, 0xe9, 0x6a, 0xfd, 0x76, 0x4b, 0xd1, 0x94, 0xfb, 0xf7, 0x95, 0xe6, 0xa0,
2859 0x2f, 0x1e, 0x3e, 0x62, 0xf6, 0x20, 0xb5, 0xc0, 0x6b, 0xbf, 0xcf, 0xc2, 0xc6, 0x12, 0x4f, 0x70,
2860 0x23, 0xbc, 0xb2, 0x88, 0x5b, 0xd4, 0x8d, 0xf3, 0x78, 0x5f, 0x67, 0x35, 0x43, 0x8f, 0x78, 0x41,
2861 0x78, 0xc3, 0xb9, 0x06, 0x2c, 0x4a, 0x76, 0x60, 0x0e, 0x4d, 0xea, 0x85, 0xef, 0x44, 0xe2, 0x1e,
2862 0xb3, 0x36, 0xc3, 0xc5, 0x53, 0xd1, 0xbb, 0x80, 0x5d, 0xc7, 0x37, 0x03, 0xf3, 0x31, 0xd5, 0x4c,
2863 0x3b, 0x7a, 0x54, 0x62, 0xf7, 0x9a, 0x9c, 0x8a, 0x22, 0x49, 0xdb, 0x0e, 0x62, 0xb6, 0x4d, 0x47,
2864 0x64, 0x8e, 0xcd, 0x36, 0xf3, 0xac, 0x8a, 0x22, 0x49, 0xcc, 0xbe, 0x02, 0x15, 0xc3, 0x99, 0xb2,
2865 0x62, 0x4f, 0xf0, 0xd8, 0xd9, 0x21, 0xa9, 0x65, 0x81, 0xc5, 0x94, 0xb0, 0x8c, 0x9f, 0xbd, 0x66,
2866 0x55, 0xd4, 0xb2, 0xc0, 0x04, 0xe5, 0x2a, 0xac, 0x91, 0xd1, 0xc8, 0x63, 0xc6, 0x23, 0x43, 0xe2,
2867 0x62, 0x52, 0x8d, 0x61, 0x4e, 0xdc, 0x7a, 0x00, 0xc5, 0x28, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0xd0,
2868 0x5c, 0x71, 0xdb, 0xce, 0xec, 0x94, 0xd4, 0xa2, 0x1d, 0x09, 0xaf, 0x40, 0xc5, 0xf4, 0xb5, 0xd9,
2869 0xe3, 0x7c, 0x66, 0x3b, 0xb3, 0x53, 0x54, 0xcb, 0xa6, 0x1f, 0x3f, 0x6c, 0xd6, 0xbe, 0xca, 0x40,
2870 0x35, 0xfd, 0x71, 0x01, 0xb7, 0xa0, 0x68, 0x39, 0x3a, 0xe1, 0xa9, 0x25, 0xbe, 0x6c, 0xed, 0x3c,
2871 0xe7, 0x7b, 0x44, 0xfd, 0x30, 0xe4, 0xab, 0xb1, 0xe6, 0xd6, 0xdf, 0x25, 0x28, 0x46, 0x30, 0xbe,
2872 0x00, 0x39, 0x97, 0x04, 0x63, 0x6e, 0x2e, 0xbf, 0x9f, 0x41, 0x92, 0xca, 0xdb, 0x0c, 0xf7, 0x5d,
2873 0x62, 0xf3, 0x14, 0x08, 0x71, 0xd6, 0x66, 0xf3, 0x6a, 0x51, 0x62, 0xf0, 0x5b, 0x8f, 0x33, 0x99,
2874 0x50, 0x3b, 0xf0, 0xa3, 0x79, 0x0d, 0xf1, 0x66, 0x08, 0xe3, 0x77, 0x60, 0x3d, 0xf0, 0x88, 0x69,
2875 0xa5, 0xb8, 0x39, 0xce, 0x45, 0x91, 0x20, 0x26, 0xef, 0xc1, 0xa5, 0xc8, 0xae, 0x41, 0x03, 0xa2,
2876 0x8f, 0xa9, 0x31, 0x53, 0x2a, 0xf0, 0xd7, 0x8d, 0x8b, 0x21, 0xa1, 0x15, 0xca, 0x23, 0xdd, 0xda,
2877 0xd7, 0x12, 0xac, 0x47, 0xf7, 0x34, 0x23, 0x0e, 0xd6, 0x11, 0x00, 0xb1, 0x6d, 0x27, 0x48, 0x86,
2878 0x6b, 0x31, 0x95, 0x17, 0xf4, 0xea, 0x8d, 0x58, 0x49, 0x4d, 0x18, 0xd8, 0x9a, 0x00, 0xcc, 0x24,
2879 0x67, 0x86, 0xed, 0x32, 0x94, 0xc3, 0x2f, 0x47, 0xfc, 0xf3, 0xa3, 0xb8, 0xd9, 0x83, 0x80, 0xd8,
2880 0x85, 0x0e, 0x6f, 0x42, 0xfe, 0x84, 0x8e, 0x4c, 0x3b, 0x7c, 0x0f, 0x16, 0x8d, 0xe8, 0xfd, 0x25,
2881 0x17, 0xbf, 0xbf, 0xec, 0xff, 0x46, 0x82, 0x0d, 0xdd, 0x99, 0xcc, 0xfb, 0xbb, 0x8f, 0xe6, 0x9e,
2882 0x17, 0xfc, 0x8f, 0xa5, 0xcf, 0x3f, 0x1a, 0x99, 0xc1, 0x78, 0x7a, 0x52, 0xd7, 0x9d, 0xc9, 0xee,
2883 0xc8, 0xb1, 0x88, 0x3d, 0x9a, 0x7d, 0x3f, 0xe5, 0x7f, 0xf4, 0x1b, 0x23, 0x6a, 0xdf, 0x18, 0x39,
2884 0x89, 0xaf, 0xa9, 0xf7, 0x66, 0x7f, 0xff, 0x27, 0x49, 0x7f, 0xca, 0x64, 0x0f, 0x7a, 0xfb, 0x7f,
2885 0xce, 0x6c, 0x1d, 0x88, 0xee, 0x7a, 0x51, 0x78, 0x54, 0x3a, 0xb4, 0xa8, 0xce, 0x86, 0xfc, 0xff,
2886 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0xe8, 0xef, 0xc4, 0x9b, 0x1d, 0x00, 0x00,