1// Protocol Buffers - Google's data interchange format 2// Copyright 2008 Google Inc. All rights reserved. 3// https://developers.google.com/protocol-buffers/ 4// 5// Redistribution and use in source and binary forms, with or without 6// modification, are permitted provided that the following conditions are 7// met: 8// 9// * Redistributions of source code must retain the above copyright 10// notice, this list of conditions and the following disclaimer. 11// * Redistributions in binary form must reproduce the above 12// copyright notice, this list of conditions and the following disclaimer 13// in the documentation and/or other materials provided with the 14// distribution. 15// * Neither the name of Google Inc. nor the names of its 16// contributors may be used to endorse or promote products derived from 17// this software without specific prior written permission. 18// 19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31// Author: kenton@google.com (Kenton Varda) 32// Based on original Protocol Buffers design by 33// Sanjay Ghemawat, Jeff Dean, and others. 34// 35// The messages in this file describe the definitions found in .proto files. 36// A valid .proto file can be translated directly to a FileDescriptorProto 37// without any other information (e.g. without reading its imports). 38 39// Code generated by protoc-gen-go. DO NOT EDIT. 40// source: google/protobuf/descriptor.proto 41 42package descriptorpb 43 44import ( 45 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 46 protoiface "google.golang.org/protobuf/runtime/protoiface" 47 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 48 reflect "reflect" 49 sync "sync" 50) 51 52type FieldDescriptorProto_Type int32 53 54const ( 55 // 0 is reserved for errors. 56 // Order is weird for historical reasons. 57 FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1 58 FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2 59 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if 60 // negative values are likely. 61 FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3 62 FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4 63 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if 64 // negative values are likely. 65 FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5 66 FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6 67 FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7 68 FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8 69 FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9 70 // Tag-delimited aggregate. 71 // Group type is deprecated and not supported in proto3. However, Proto3 72 // implementations should still be able to parse the group wire format and 73 // treat group fields as unknown fields. 74 FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10 75 FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 // Length-delimited aggregate. 76 // New in version 2. 77 FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12 78 FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13 79 FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14 80 FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15 81 FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16 82 FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 // Uses ZigZag encoding. 83 FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 // Uses ZigZag encoding. 84) 85 86// Enum value maps for FieldDescriptorProto_Type. 87var ( 88 FieldDescriptorProto_Type_name = map[int32]string{ 89 1: "TYPE_DOUBLE", 90 2: "TYPE_FLOAT", 91 3: "TYPE_INT64", 92 4: "TYPE_UINT64", 93 5: "TYPE_INT32", 94 6: "TYPE_FIXED64", 95 7: "TYPE_FIXED32", 96 8: "TYPE_BOOL", 97 9: "TYPE_STRING", 98 10: "TYPE_GROUP", 99 11: "TYPE_MESSAGE", 100 12: "TYPE_BYTES", 101 13: "TYPE_UINT32", 102 14: "TYPE_ENUM", 103 15: "TYPE_SFIXED32", 104 16: "TYPE_SFIXED64", 105 17: "TYPE_SINT32", 106 18: "TYPE_SINT64", 107 } 108 FieldDescriptorProto_Type_value = map[string]int32{ 109 "TYPE_DOUBLE": 1, 110 "TYPE_FLOAT": 2, 111 "TYPE_INT64": 3, 112 "TYPE_UINT64": 4, 113 "TYPE_INT32": 5, 114 "TYPE_FIXED64": 6, 115 "TYPE_FIXED32": 7, 116 "TYPE_BOOL": 8, 117 "TYPE_STRING": 9, 118 "TYPE_GROUP": 10, 119 "TYPE_MESSAGE": 11, 120 "TYPE_BYTES": 12, 121 "TYPE_UINT32": 13, 122 "TYPE_ENUM": 14, 123 "TYPE_SFIXED32": 15, 124 "TYPE_SFIXED64": 16, 125 "TYPE_SINT32": 17, 126 "TYPE_SINT64": 18, 127 } 128) 129 130func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { 131 p := new(FieldDescriptorProto_Type) 132 *p = x 133 return p 134} 135 136func (x FieldDescriptorProto_Type) String() string { 137 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 138} 139 140func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor { 141 return file_google_protobuf_descriptor_proto_enumTypes[0].Descriptor() 142} 143 144func (FieldDescriptorProto_Type) Type() protoreflect.EnumType { 145 return &file_google_protobuf_descriptor_proto_enumTypes[0] 146} 147 148func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber { 149 return protoreflect.EnumNumber(x) 150} 151 152// Deprecated: Do not use. 153func (x *FieldDescriptorProto_Type) UnmarshalJSON(b []byte) error { 154 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 155 if err != nil { 156 return err 157 } 158 *x = FieldDescriptorProto_Type(num) 159 return nil 160} 161 162// Deprecated: Use FieldDescriptorProto_Type.Descriptor instead. 163func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { 164 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 0} 165} 166 167type FieldDescriptorProto_Label int32 168 169const ( 170 // 0 is reserved for errors 171 FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1 172 FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2 173 FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3 174) 175 176// Enum value maps for FieldDescriptorProto_Label. 177var ( 178 FieldDescriptorProto_Label_name = map[int32]string{ 179 1: "LABEL_OPTIONAL", 180 2: "LABEL_REQUIRED", 181 3: "LABEL_REPEATED", 182 } 183 FieldDescriptorProto_Label_value = map[string]int32{ 184 "LABEL_OPTIONAL": 1, 185 "LABEL_REQUIRED": 2, 186 "LABEL_REPEATED": 3, 187 } 188) 189 190func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { 191 p := new(FieldDescriptorProto_Label) 192 *p = x 193 return p 194} 195 196func (x FieldDescriptorProto_Label) String() string { 197 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 198} 199 200func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor { 201 return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() 202} 203 204func (FieldDescriptorProto_Label) Type() protoreflect.EnumType { 205 return &file_google_protobuf_descriptor_proto_enumTypes[1] 206} 207 208func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber { 209 return protoreflect.EnumNumber(x) 210} 211 212// Deprecated: Do not use. 213func (x *FieldDescriptorProto_Label) UnmarshalJSON(b []byte) error { 214 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 215 if err != nil { 216 return err 217 } 218 *x = FieldDescriptorProto_Label(num) 219 return nil 220} 221 222// Deprecated: Use FieldDescriptorProto_Label.Descriptor instead. 223func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { 224 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 1} 225} 226 227// Generated classes can be optimized for speed or code size. 228type FileOptions_OptimizeMode int32 229 230const ( 231 FileOptions_SPEED FileOptions_OptimizeMode = 1 // Generate complete code for parsing, serialization, 232 // etc. 233 FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 // Use ReflectionOps to implement these methods. 234 FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 // Generate code using MessageLite and the lite runtime. 235) 236 237// Enum value maps for FileOptions_OptimizeMode. 238var ( 239 FileOptions_OptimizeMode_name = map[int32]string{ 240 1: "SPEED", 241 2: "CODE_SIZE", 242 3: "LITE_RUNTIME", 243 } 244 FileOptions_OptimizeMode_value = map[string]int32{ 245 "SPEED": 1, 246 "CODE_SIZE": 2, 247 "LITE_RUNTIME": 3, 248 } 249) 250 251func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { 252 p := new(FileOptions_OptimizeMode) 253 *p = x 254 return p 255} 256 257func (x FileOptions_OptimizeMode) String() string { 258 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 259} 260 261func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor { 262 return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() 263} 264 265func (FileOptions_OptimizeMode) Type() protoreflect.EnumType { 266 return &file_google_protobuf_descriptor_proto_enumTypes[2] 267} 268 269func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber { 270 return protoreflect.EnumNumber(x) 271} 272 273// Deprecated: Do not use. 274func (x *FileOptions_OptimizeMode) UnmarshalJSON(b []byte) error { 275 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 276 if err != nil { 277 return err 278 } 279 *x = FileOptions_OptimizeMode(num) 280 return nil 281} 282 283// Deprecated: Use FileOptions_OptimizeMode.Descriptor instead. 284func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { 285 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10, 0} 286} 287 288type FieldOptions_CType int32 289 290const ( 291 // Default mode. 292 FieldOptions_STRING FieldOptions_CType = 0 293 FieldOptions_CORD FieldOptions_CType = 1 294 FieldOptions_STRING_PIECE FieldOptions_CType = 2 295) 296 297// Enum value maps for FieldOptions_CType. 298var ( 299 FieldOptions_CType_name = map[int32]string{ 300 0: "STRING", 301 1: "CORD", 302 2: "STRING_PIECE", 303 } 304 FieldOptions_CType_value = map[string]int32{ 305 "STRING": 0, 306 "CORD": 1, 307 "STRING_PIECE": 2, 308 } 309) 310 311func (x FieldOptions_CType) Enum() *FieldOptions_CType { 312 p := new(FieldOptions_CType) 313 *p = x 314 return p 315} 316 317func (x FieldOptions_CType) String() string { 318 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 319} 320 321func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor { 322 return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() 323} 324 325func (FieldOptions_CType) Type() protoreflect.EnumType { 326 return &file_google_protobuf_descriptor_proto_enumTypes[3] 327} 328 329func (x FieldOptions_CType) Number() protoreflect.EnumNumber { 330 return protoreflect.EnumNumber(x) 331} 332 333// Deprecated: Do not use. 334func (x *FieldOptions_CType) UnmarshalJSON(b []byte) error { 335 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 336 if err != nil { 337 return err 338 } 339 *x = FieldOptions_CType(num) 340 return nil 341} 342 343// Deprecated: Use FieldOptions_CType.Descriptor instead. 344func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { 345 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 0} 346} 347 348type FieldOptions_JSType int32 349 350const ( 351 // Use the default type. 352 FieldOptions_JS_NORMAL FieldOptions_JSType = 0 353 // Use JavaScript strings. 354 FieldOptions_JS_STRING FieldOptions_JSType = 1 355 // Use JavaScript numbers. 356 FieldOptions_JS_NUMBER FieldOptions_JSType = 2 357) 358 359// Enum value maps for FieldOptions_JSType. 360var ( 361 FieldOptions_JSType_name = map[int32]string{ 362 0: "JS_NORMAL", 363 1: "JS_STRING", 364 2: "JS_NUMBER", 365 } 366 FieldOptions_JSType_value = map[string]int32{ 367 "JS_NORMAL": 0, 368 "JS_STRING": 1, 369 "JS_NUMBER": 2, 370 } 371) 372 373func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { 374 p := new(FieldOptions_JSType) 375 *p = x 376 return p 377} 378 379func (x FieldOptions_JSType) String() string { 380 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 381} 382 383func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor { 384 return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() 385} 386 387func (FieldOptions_JSType) Type() protoreflect.EnumType { 388 return &file_google_protobuf_descriptor_proto_enumTypes[4] 389} 390 391func (x FieldOptions_JSType) Number() protoreflect.EnumNumber { 392 return protoreflect.EnumNumber(x) 393} 394 395// Deprecated: Do not use. 396func (x *FieldOptions_JSType) UnmarshalJSON(b []byte) error { 397 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 398 if err != nil { 399 return err 400 } 401 *x = FieldOptions_JSType(num) 402 return nil 403} 404 405// Deprecated: Use FieldOptions_JSType.Descriptor instead. 406func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { 407 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1} 408} 409 410// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, 411// or neither? HTTP based RPC implementation may choose GET verb for safe 412// methods, and PUT verb for idempotent methods instead of the default POST. 413type MethodOptions_IdempotencyLevel int32 414 415const ( 416 MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0 417 MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1 // implies idempotent 418 MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2 // idempotent, but may have side effects 419) 420 421// Enum value maps for MethodOptions_IdempotencyLevel. 422var ( 423 MethodOptions_IdempotencyLevel_name = map[int32]string{ 424 0: "IDEMPOTENCY_UNKNOWN", 425 1: "NO_SIDE_EFFECTS", 426 2: "IDEMPOTENT", 427 } 428 MethodOptions_IdempotencyLevel_value = map[string]int32{ 429 "IDEMPOTENCY_UNKNOWN": 0, 430 "NO_SIDE_EFFECTS": 1, 431 "IDEMPOTENT": 2, 432 } 433) 434 435func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel { 436 p := new(MethodOptions_IdempotencyLevel) 437 *p = x 438 return p 439} 440 441func (x MethodOptions_IdempotencyLevel) String() string { 442 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 443} 444 445func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor { 446 return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() 447} 448 449func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType { 450 return &file_google_protobuf_descriptor_proto_enumTypes[5] 451} 452 453func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber { 454 return protoreflect.EnumNumber(x) 455} 456 457// Deprecated: Do not use. 458func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(b []byte) error { 459 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 460 if err != nil { 461 return err 462 } 463 *x = MethodOptions_IdempotencyLevel(num) 464 return nil 465} 466 467// Deprecated: Use MethodOptions_IdempotencyLevel.Descriptor instead. 468func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { 469 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17, 0} 470} 471 472// The protocol compiler can output a FileDescriptorSet containing the .proto 473// files it parses. 474type FileDescriptorSet struct { 475 state protoimpl.MessageState 476 sizeCache protoimpl.SizeCache 477 unknownFields protoimpl.UnknownFields 478 479 File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` 480} 481 482func (x *FileDescriptorSet) Reset() { 483 *x = FileDescriptorSet{} 484 if protoimpl.UnsafeEnabled { 485 mi := &file_google_protobuf_descriptor_proto_msgTypes[0] 486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 487 ms.StoreMessageInfo(mi) 488 } 489} 490 491func (x *FileDescriptorSet) String() string { 492 return protoimpl.X.MessageStringOf(x) 493} 494 495func (*FileDescriptorSet) ProtoMessage() {} 496 497func (x *FileDescriptorSet) ProtoReflect() protoreflect.Message { 498 mi := &file_google_protobuf_descriptor_proto_msgTypes[0] 499 if protoimpl.UnsafeEnabled && x != nil { 500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 501 if ms.LoadMessageInfo() == nil { 502 ms.StoreMessageInfo(mi) 503 } 504 return ms 505 } 506 return mi.MessageOf(x) 507} 508 509// Deprecated: Use FileDescriptorSet.ProtoReflect.Descriptor instead. 510func (*FileDescriptorSet) Descriptor() ([]byte, []int) { 511 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0} 512} 513 514func (x *FileDescriptorSet) GetFile() []*FileDescriptorProto { 515 if x != nil { 516 return x.File 517 } 518 return nil 519} 520 521// Describes a complete .proto file. 522type FileDescriptorProto struct { 523 state protoimpl.MessageState 524 sizeCache protoimpl.SizeCache 525 unknownFields protoimpl.UnknownFields 526 527 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // file name, relative to root of source tree 528 Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` // e.g. "foo", "foo.bar", etc. 529 // Names of files imported by this file. 530 Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"` 531 // Indexes of the public imported files in the dependency list above. 532 PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"` 533 // Indexes of the weak imported files in the dependency list. 534 // For Google-internal migration only. Do not use. 535 WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` 536 // All top-level definitions in this file. 537 MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` 538 EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 539 Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"` 540 Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"` 541 Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 542 // This field contains optional information about the original source code. 543 // You may safely remove this entire field without harming runtime 544 // functionality of the descriptors -- the information is needed only by 545 // development tools. 546 SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` 547 // The syntax of the proto file. 548 // The supported values are "proto2" and "proto3". 549 Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` 550} 551 552func (x *FileDescriptorProto) Reset() { 553 *x = FileDescriptorProto{} 554 if protoimpl.UnsafeEnabled { 555 mi := &file_google_protobuf_descriptor_proto_msgTypes[1] 556 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 557 ms.StoreMessageInfo(mi) 558 } 559} 560 561func (x *FileDescriptorProto) String() string { 562 return protoimpl.X.MessageStringOf(x) 563} 564 565func (*FileDescriptorProto) ProtoMessage() {} 566 567func (x *FileDescriptorProto) ProtoReflect() protoreflect.Message { 568 mi := &file_google_protobuf_descriptor_proto_msgTypes[1] 569 if protoimpl.UnsafeEnabled && x != nil { 570 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 571 if ms.LoadMessageInfo() == nil { 572 ms.StoreMessageInfo(mi) 573 } 574 return ms 575 } 576 return mi.MessageOf(x) 577} 578 579// Deprecated: Use FileDescriptorProto.ProtoReflect.Descriptor instead. 580func (*FileDescriptorProto) Descriptor() ([]byte, []int) { 581 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1} 582} 583 584func (x *FileDescriptorProto) GetName() string { 585 if x != nil && x.Name != nil { 586 return *x.Name 587 } 588 return "" 589} 590 591func (x *FileDescriptorProto) GetPackage() string { 592 if x != nil && x.Package != nil { 593 return *x.Package 594 } 595 return "" 596} 597 598func (x *FileDescriptorProto) GetDependency() []string { 599 if x != nil { 600 return x.Dependency 601 } 602 return nil 603} 604 605func (x *FileDescriptorProto) GetPublicDependency() []int32 { 606 if x != nil { 607 return x.PublicDependency 608 } 609 return nil 610} 611 612func (x *FileDescriptorProto) GetWeakDependency() []int32 { 613 if x != nil { 614 return x.WeakDependency 615 } 616 return nil 617} 618 619func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto { 620 if x != nil { 621 return x.MessageType 622 } 623 return nil 624} 625 626func (x *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto { 627 if x != nil { 628 return x.EnumType 629 } 630 return nil 631} 632 633func (x *FileDescriptorProto) GetService() []*ServiceDescriptorProto { 634 if x != nil { 635 return x.Service 636 } 637 return nil 638} 639 640func (x *FileDescriptorProto) GetExtension() []*FieldDescriptorProto { 641 if x != nil { 642 return x.Extension 643 } 644 return nil 645} 646 647func (x *FileDescriptorProto) GetOptions() *FileOptions { 648 if x != nil { 649 return x.Options 650 } 651 return nil 652} 653 654func (x *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo { 655 if x != nil { 656 return x.SourceCodeInfo 657 } 658 return nil 659} 660 661func (x *FileDescriptorProto) GetSyntax() string { 662 if x != nil && x.Syntax != nil { 663 return *x.Syntax 664 } 665 return "" 666} 667 668// Describes a message type. 669type DescriptorProto struct { 670 state protoimpl.MessageState 671 sizeCache protoimpl.SizeCache 672 unknownFields protoimpl.UnknownFields 673 674 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 675 Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` 676 Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"` 677 NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"` 678 EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 679 ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"` 680 OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"` 681 Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"` 682 ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 683 // Reserved field names, which may not be used by fields in the same message. 684 // A given name may only be reserved once. 685 ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 686} 687 688func (x *DescriptorProto) Reset() { 689 *x = DescriptorProto{} 690 if protoimpl.UnsafeEnabled { 691 mi := &file_google_protobuf_descriptor_proto_msgTypes[2] 692 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 693 ms.StoreMessageInfo(mi) 694 } 695} 696 697func (x *DescriptorProto) String() string { 698 return protoimpl.X.MessageStringOf(x) 699} 700 701func (*DescriptorProto) ProtoMessage() {} 702 703func (x *DescriptorProto) ProtoReflect() protoreflect.Message { 704 mi := &file_google_protobuf_descriptor_proto_msgTypes[2] 705 if protoimpl.UnsafeEnabled && x != nil { 706 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 707 if ms.LoadMessageInfo() == nil { 708 ms.StoreMessageInfo(mi) 709 } 710 return ms 711 } 712 return mi.MessageOf(x) 713} 714 715// Deprecated: Use DescriptorProto.ProtoReflect.Descriptor instead. 716func (*DescriptorProto) Descriptor() ([]byte, []int) { 717 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2} 718} 719 720func (x *DescriptorProto) GetName() string { 721 if x != nil && x.Name != nil { 722 return *x.Name 723 } 724 return "" 725} 726 727func (x *DescriptorProto) GetField() []*FieldDescriptorProto { 728 if x != nil { 729 return x.Field 730 } 731 return nil 732} 733 734func (x *DescriptorProto) GetExtension() []*FieldDescriptorProto { 735 if x != nil { 736 return x.Extension 737 } 738 return nil 739} 740 741func (x *DescriptorProto) GetNestedType() []*DescriptorProto { 742 if x != nil { 743 return x.NestedType 744 } 745 return nil 746} 747 748func (x *DescriptorProto) GetEnumType() []*EnumDescriptorProto { 749 if x != nil { 750 return x.EnumType 751 } 752 return nil 753} 754 755func (x *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange { 756 if x != nil { 757 return x.ExtensionRange 758 } 759 return nil 760} 761 762func (x *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto { 763 if x != nil { 764 return x.OneofDecl 765 } 766 return nil 767} 768 769func (x *DescriptorProto) GetOptions() *MessageOptions { 770 if x != nil { 771 return x.Options 772 } 773 return nil 774} 775 776func (x *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange { 777 if x != nil { 778 return x.ReservedRange 779 } 780 return nil 781} 782 783func (x *DescriptorProto) GetReservedName() []string { 784 if x != nil { 785 return x.ReservedName 786 } 787 return nil 788} 789 790type ExtensionRangeOptions struct { 791 state protoimpl.MessageState 792 sizeCache protoimpl.SizeCache 793 unknownFields protoimpl.UnknownFields 794 extensionFields protoimpl.ExtensionFields 795 796 // The parser stores options it doesn't recognize here. See above. 797 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 798} 799 800func (x *ExtensionRangeOptions) Reset() { 801 *x = ExtensionRangeOptions{} 802 if protoimpl.UnsafeEnabled { 803 mi := &file_google_protobuf_descriptor_proto_msgTypes[3] 804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 805 ms.StoreMessageInfo(mi) 806 } 807} 808 809func (x *ExtensionRangeOptions) String() string { 810 return protoimpl.X.MessageStringOf(x) 811} 812 813func (*ExtensionRangeOptions) ProtoMessage() {} 814 815func (x *ExtensionRangeOptions) ProtoReflect() protoreflect.Message { 816 mi := &file_google_protobuf_descriptor_proto_msgTypes[3] 817 if protoimpl.UnsafeEnabled && x != nil { 818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 819 if ms.LoadMessageInfo() == nil { 820 ms.StoreMessageInfo(mi) 821 } 822 return ms 823 } 824 return mi.MessageOf(x) 825} 826 827// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor instead. 828func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { 829 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3} 830} 831 832var extRange_ExtensionRangeOptions = []protoiface.ExtensionRangeV1{ 833 {Start: 1000, End: 536870911}, 834} 835 836// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 837func (*ExtensionRangeOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 838 return extRange_ExtensionRangeOptions 839} 840 841func (x *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { 842 if x != nil { 843 return x.UninterpretedOption 844 } 845 return nil 846} 847 848// Describes a field within a message. 849type FieldDescriptorProto struct { 850 state protoimpl.MessageState 851 sizeCache protoimpl.SizeCache 852 unknownFields protoimpl.UnknownFields 853 854 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 855 Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"` 856 Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"` 857 // If type_name is set, this need not be set. If both this and type_name 858 // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. 859 Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"` 860 // For message and enum types, this is the name of the type. If the name 861 // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping 862 // rules are used to find the type (i.e. first the nested types within this 863 // message are searched, then within the parent, on up to the root 864 // namespace). 865 TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"` 866 // For extensions, this is the name of the type being extended. It is 867 // resolved in the same manner as type_name. 868 Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"` 869 // For numeric types, contains the original text representation of the value. 870 // For booleans, "true" or "false". 871 // For strings, contains the default text contents (not escaped in any way). 872 // For bytes, contains the C escaped value. All bytes >= 128 are escaped. 873 // TODO(kenton): Base-64 encode? 874 DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"` 875 // If set, gives the index of a oneof in the containing type's oneof_decl 876 // list. This field is a member of that oneof. 877 OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"` 878 // JSON name of this field. The value is set by protocol compiler. If the 879 // user has set a "json_name" option on this field, that option's value 880 // will be used. Otherwise, it's deduced from the field's name by converting 881 // it to camelCase. 882 JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` 883 Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 884 // If true, this is a proto3 "optional". When a proto3 field is optional, it 885 // tracks presence regardless of field type. 886 // 887 // When proto3_optional is true, this field must be belong to a oneof to 888 // signal to old proto3 clients that presence is tracked for this field. This 889 // oneof is known as a "synthetic" oneof, and this field must be its sole 890 // member (each proto3 optional field gets its own synthetic oneof). Synthetic 891 // oneofs exist in the descriptor only, and do not generate any API. Synthetic 892 // oneofs must be ordered after all "real" oneofs. 893 // 894 // For message fields, proto3_optional doesn't create any semantic change, 895 // since non-repeated message fields always track presence. However it still 896 // indicates the semantic detail of whether the user wrote "optional" or not. 897 // This can be useful for round-tripping the .proto file. For consistency we 898 // give message fields a synthetic oneof also, even though it is not required 899 // to track presence. This is especially important because the parser can't 900 // tell if a field is a message or an enum, so it must always create a 901 // synthetic oneof. 902 // 903 // Proto2 optional fields do not set this flag, because they already indicate 904 // optional with `LABEL_OPTIONAL`. 905 Proto3Optional *bool `protobuf:"varint,17,opt,name=proto3_optional,json=proto3Optional" json:"proto3_optional,omitempty"` 906} 907 908func (x *FieldDescriptorProto) Reset() { 909 *x = FieldDescriptorProto{} 910 if protoimpl.UnsafeEnabled { 911 mi := &file_google_protobuf_descriptor_proto_msgTypes[4] 912 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 913 ms.StoreMessageInfo(mi) 914 } 915} 916 917func (x *FieldDescriptorProto) String() string { 918 return protoimpl.X.MessageStringOf(x) 919} 920 921func (*FieldDescriptorProto) ProtoMessage() {} 922 923func (x *FieldDescriptorProto) ProtoReflect() protoreflect.Message { 924 mi := &file_google_protobuf_descriptor_proto_msgTypes[4] 925 if protoimpl.UnsafeEnabled && x != nil { 926 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 927 if ms.LoadMessageInfo() == nil { 928 ms.StoreMessageInfo(mi) 929 } 930 return ms 931 } 932 return mi.MessageOf(x) 933} 934 935// Deprecated: Use FieldDescriptorProto.ProtoReflect.Descriptor instead. 936func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { 937 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4} 938} 939 940func (x *FieldDescriptorProto) GetName() string { 941 if x != nil && x.Name != nil { 942 return *x.Name 943 } 944 return "" 945} 946 947func (x *FieldDescriptorProto) GetNumber() int32 { 948 if x != nil && x.Number != nil { 949 return *x.Number 950 } 951 return 0 952} 953 954func (x *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label { 955 if x != nil && x.Label != nil { 956 return *x.Label 957 } 958 return FieldDescriptorProto_LABEL_OPTIONAL 959} 960 961func (x *FieldDescriptorProto) GetType() FieldDescriptorProto_Type { 962 if x != nil && x.Type != nil { 963 return *x.Type 964 } 965 return FieldDescriptorProto_TYPE_DOUBLE 966} 967 968func (x *FieldDescriptorProto) GetTypeName() string { 969 if x != nil && x.TypeName != nil { 970 return *x.TypeName 971 } 972 return "" 973} 974 975func (x *FieldDescriptorProto) GetExtendee() string { 976 if x != nil && x.Extendee != nil { 977 return *x.Extendee 978 } 979 return "" 980} 981 982func (x *FieldDescriptorProto) GetDefaultValue() string { 983 if x != nil && x.DefaultValue != nil { 984 return *x.DefaultValue 985 } 986 return "" 987} 988 989func (x *FieldDescriptorProto) GetOneofIndex() int32 { 990 if x != nil && x.OneofIndex != nil { 991 return *x.OneofIndex 992 } 993 return 0 994} 995 996func (x *FieldDescriptorProto) GetJsonName() string { 997 if x != nil && x.JsonName != nil { 998 return *x.JsonName 999 } 1000 return "" 1001} 1002 1003func (x *FieldDescriptorProto) GetOptions() *FieldOptions { 1004 if x != nil { 1005 return x.Options 1006 } 1007 return nil 1008} 1009 1010func (x *FieldDescriptorProto) GetProto3Optional() bool { 1011 if x != nil && x.Proto3Optional != nil { 1012 return *x.Proto3Optional 1013 } 1014 return false 1015} 1016 1017// Describes a oneof. 1018type OneofDescriptorProto struct { 1019 state protoimpl.MessageState 1020 sizeCache protoimpl.SizeCache 1021 unknownFields protoimpl.UnknownFields 1022 1023 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1024 Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` 1025} 1026 1027func (x *OneofDescriptorProto) Reset() { 1028 *x = OneofDescriptorProto{} 1029 if protoimpl.UnsafeEnabled { 1030 mi := &file_google_protobuf_descriptor_proto_msgTypes[5] 1031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1032 ms.StoreMessageInfo(mi) 1033 } 1034} 1035 1036func (x *OneofDescriptorProto) String() string { 1037 return protoimpl.X.MessageStringOf(x) 1038} 1039 1040func (*OneofDescriptorProto) ProtoMessage() {} 1041 1042func (x *OneofDescriptorProto) ProtoReflect() protoreflect.Message { 1043 mi := &file_google_protobuf_descriptor_proto_msgTypes[5] 1044 if protoimpl.UnsafeEnabled && x != nil { 1045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1046 if ms.LoadMessageInfo() == nil { 1047 ms.StoreMessageInfo(mi) 1048 } 1049 return ms 1050 } 1051 return mi.MessageOf(x) 1052} 1053 1054// Deprecated: Use OneofDescriptorProto.ProtoReflect.Descriptor instead. 1055func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { 1056 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{5} 1057} 1058 1059func (x *OneofDescriptorProto) GetName() string { 1060 if x != nil && x.Name != nil { 1061 return *x.Name 1062 } 1063 return "" 1064} 1065 1066func (x *OneofDescriptorProto) GetOptions() *OneofOptions { 1067 if x != nil { 1068 return x.Options 1069 } 1070 return nil 1071} 1072 1073// Describes an enum type. 1074type EnumDescriptorProto struct { 1075 state protoimpl.MessageState 1076 sizeCache protoimpl.SizeCache 1077 unknownFields protoimpl.UnknownFields 1078 1079 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1080 Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` 1081 Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1082 // Range of reserved numeric values. Reserved numeric values may not be used 1083 // by enum values in the same enum declaration. Reserved ranges may not 1084 // overlap. 1085 ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 1086 // Reserved enum value names, which may not be reused. A given name may only 1087 // be reserved once. 1088 ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 1089} 1090 1091func (x *EnumDescriptorProto) Reset() { 1092 *x = EnumDescriptorProto{} 1093 if protoimpl.UnsafeEnabled { 1094 mi := &file_google_protobuf_descriptor_proto_msgTypes[6] 1095 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1096 ms.StoreMessageInfo(mi) 1097 } 1098} 1099 1100func (x *EnumDescriptorProto) String() string { 1101 return protoimpl.X.MessageStringOf(x) 1102} 1103 1104func (*EnumDescriptorProto) ProtoMessage() {} 1105 1106func (x *EnumDescriptorProto) ProtoReflect() protoreflect.Message { 1107 mi := &file_google_protobuf_descriptor_proto_msgTypes[6] 1108 if protoimpl.UnsafeEnabled && x != nil { 1109 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1110 if ms.LoadMessageInfo() == nil { 1111 ms.StoreMessageInfo(mi) 1112 } 1113 return ms 1114 } 1115 return mi.MessageOf(x) 1116} 1117 1118// Deprecated: Use EnumDescriptorProto.ProtoReflect.Descriptor instead. 1119func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { 1120 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6} 1121} 1122 1123func (x *EnumDescriptorProto) GetName() string { 1124 if x != nil && x.Name != nil { 1125 return *x.Name 1126 } 1127 return "" 1128} 1129 1130func (x *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto { 1131 if x != nil { 1132 return x.Value 1133 } 1134 return nil 1135} 1136 1137func (x *EnumDescriptorProto) GetOptions() *EnumOptions { 1138 if x != nil { 1139 return x.Options 1140 } 1141 return nil 1142} 1143 1144func (x *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange { 1145 if x != nil { 1146 return x.ReservedRange 1147 } 1148 return nil 1149} 1150 1151func (x *EnumDescriptorProto) GetReservedName() []string { 1152 if x != nil { 1153 return x.ReservedName 1154 } 1155 return nil 1156} 1157 1158// Describes a value within an enum. 1159type EnumValueDescriptorProto struct { 1160 state protoimpl.MessageState 1161 sizeCache protoimpl.SizeCache 1162 unknownFields protoimpl.UnknownFields 1163 1164 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1165 Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` 1166 Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1167} 1168 1169func (x *EnumValueDescriptorProto) Reset() { 1170 *x = EnumValueDescriptorProto{} 1171 if protoimpl.UnsafeEnabled { 1172 mi := &file_google_protobuf_descriptor_proto_msgTypes[7] 1173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1174 ms.StoreMessageInfo(mi) 1175 } 1176} 1177 1178func (x *EnumValueDescriptorProto) String() string { 1179 return protoimpl.X.MessageStringOf(x) 1180} 1181 1182func (*EnumValueDescriptorProto) ProtoMessage() {} 1183 1184func (x *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message { 1185 mi := &file_google_protobuf_descriptor_proto_msgTypes[7] 1186 if protoimpl.UnsafeEnabled && x != nil { 1187 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1188 if ms.LoadMessageInfo() == nil { 1189 ms.StoreMessageInfo(mi) 1190 } 1191 return ms 1192 } 1193 return mi.MessageOf(x) 1194} 1195 1196// Deprecated: Use EnumValueDescriptorProto.ProtoReflect.Descriptor instead. 1197func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { 1198 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{7} 1199} 1200 1201func (x *EnumValueDescriptorProto) GetName() string { 1202 if x != nil && x.Name != nil { 1203 return *x.Name 1204 } 1205 return "" 1206} 1207 1208func (x *EnumValueDescriptorProto) GetNumber() int32 { 1209 if x != nil && x.Number != nil { 1210 return *x.Number 1211 } 1212 return 0 1213} 1214 1215func (x *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { 1216 if x != nil { 1217 return x.Options 1218 } 1219 return nil 1220} 1221 1222// Describes a service. 1223type ServiceDescriptorProto struct { 1224 state protoimpl.MessageState 1225 sizeCache protoimpl.SizeCache 1226 unknownFields protoimpl.UnknownFields 1227 1228 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1229 Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` 1230 Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1231} 1232 1233func (x *ServiceDescriptorProto) Reset() { 1234 *x = ServiceDescriptorProto{} 1235 if protoimpl.UnsafeEnabled { 1236 mi := &file_google_protobuf_descriptor_proto_msgTypes[8] 1237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1238 ms.StoreMessageInfo(mi) 1239 } 1240} 1241 1242func (x *ServiceDescriptorProto) String() string { 1243 return protoimpl.X.MessageStringOf(x) 1244} 1245 1246func (*ServiceDescriptorProto) ProtoMessage() {} 1247 1248func (x *ServiceDescriptorProto) ProtoReflect() protoreflect.Message { 1249 mi := &file_google_protobuf_descriptor_proto_msgTypes[8] 1250 if protoimpl.UnsafeEnabled && x != nil { 1251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1252 if ms.LoadMessageInfo() == nil { 1253 ms.StoreMessageInfo(mi) 1254 } 1255 return ms 1256 } 1257 return mi.MessageOf(x) 1258} 1259 1260// Deprecated: Use ServiceDescriptorProto.ProtoReflect.Descriptor instead. 1261func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { 1262 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{8} 1263} 1264 1265func (x *ServiceDescriptorProto) GetName() string { 1266 if x != nil && x.Name != nil { 1267 return *x.Name 1268 } 1269 return "" 1270} 1271 1272func (x *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto { 1273 if x != nil { 1274 return x.Method 1275 } 1276 return nil 1277} 1278 1279func (x *ServiceDescriptorProto) GetOptions() *ServiceOptions { 1280 if x != nil { 1281 return x.Options 1282 } 1283 return nil 1284} 1285 1286// Describes a method of a service. 1287type MethodDescriptorProto struct { 1288 state protoimpl.MessageState 1289 sizeCache protoimpl.SizeCache 1290 unknownFields protoimpl.UnknownFields 1291 1292 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1293 // Input and output type names. These are resolved in the same way as 1294 // FieldDescriptorProto.type_name, but must refer to a message type. 1295 InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"` 1296 OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"` 1297 Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` 1298 // Identifies if client streams multiple client messages 1299 ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` 1300 // Identifies if server streams multiple server messages 1301 ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` 1302} 1303 1304// Default values for MethodDescriptorProto fields. 1305const ( 1306 Default_MethodDescriptorProto_ClientStreaming = bool(false) 1307 Default_MethodDescriptorProto_ServerStreaming = bool(false) 1308) 1309 1310func (x *MethodDescriptorProto) Reset() { 1311 *x = MethodDescriptorProto{} 1312 if protoimpl.UnsafeEnabled { 1313 mi := &file_google_protobuf_descriptor_proto_msgTypes[9] 1314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1315 ms.StoreMessageInfo(mi) 1316 } 1317} 1318 1319func (x *MethodDescriptorProto) String() string { 1320 return protoimpl.X.MessageStringOf(x) 1321} 1322 1323func (*MethodDescriptorProto) ProtoMessage() {} 1324 1325func (x *MethodDescriptorProto) ProtoReflect() protoreflect.Message { 1326 mi := &file_google_protobuf_descriptor_proto_msgTypes[9] 1327 if protoimpl.UnsafeEnabled && x != nil { 1328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1329 if ms.LoadMessageInfo() == nil { 1330 ms.StoreMessageInfo(mi) 1331 } 1332 return ms 1333 } 1334 return mi.MessageOf(x) 1335} 1336 1337// Deprecated: Use MethodDescriptorProto.ProtoReflect.Descriptor instead. 1338func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { 1339 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{9} 1340} 1341 1342func (x *MethodDescriptorProto) GetName() string { 1343 if x != nil && x.Name != nil { 1344 return *x.Name 1345 } 1346 return "" 1347} 1348 1349func (x *MethodDescriptorProto) GetInputType() string { 1350 if x != nil && x.InputType != nil { 1351 return *x.InputType 1352 } 1353 return "" 1354} 1355 1356func (x *MethodDescriptorProto) GetOutputType() string { 1357 if x != nil && x.OutputType != nil { 1358 return *x.OutputType 1359 } 1360 return "" 1361} 1362 1363func (x *MethodDescriptorProto) GetOptions() *MethodOptions { 1364 if x != nil { 1365 return x.Options 1366 } 1367 return nil 1368} 1369 1370func (x *MethodDescriptorProto) GetClientStreaming() bool { 1371 if x != nil && x.ClientStreaming != nil { 1372 return *x.ClientStreaming 1373 } 1374 return Default_MethodDescriptorProto_ClientStreaming 1375} 1376 1377func (x *MethodDescriptorProto) GetServerStreaming() bool { 1378 if x != nil && x.ServerStreaming != nil { 1379 return *x.ServerStreaming 1380 } 1381 return Default_MethodDescriptorProto_ServerStreaming 1382} 1383 1384type FileOptions struct { 1385 state protoimpl.MessageState 1386 sizeCache protoimpl.SizeCache 1387 unknownFields protoimpl.UnknownFields 1388 extensionFields protoimpl.ExtensionFields 1389 1390 // Sets the Java package where classes generated from this .proto will be 1391 // placed. By default, the proto package is used, but this is often 1392 // inappropriate because proto packages do not normally start with backwards 1393 // domain names. 1394 JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"` 1395 // If set, all the classes from the .proto file are wrapped in a single 1396 // outer class with the given name. This applies to both Proto1 1397 // (equivalent to the old "--one_java_file" option) and Proto2 (where 1398 // a .proto always translates to a single class, but you may want to 1399 // explicitly choose the class name). 1400 JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"` 1401 // If set true, then the Java code generator will generate a separate .java 1402 // file for each top-level message, enum, and service defined in the .proto 1403 // file. Thus, these types will *not* be nested inside the outer class 1404 // named by java_outer_classname. However, the outer class will still be 1405 // generated to contain the file's getDescriptor() method as well as any 1406 // top-level extensions defined in the file. 1407 JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` 1408 // This option does nothing. 1409 // 1410 // Deprecated: Do not use. 1411 JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` 1412 // If set true, then the Java2 code generator will generate code that 1413 // throws an exception whenever an attempt is made to assign a non-UTF-8 1414 // byte sequence to a string field. 1415 // Message reflection will do the same. 1416 // However, an extension field still accepts non-UTF-8 byte sequences. 1417 // This option has no effect on when used with the lite runtime. 1418 JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"` 1419 OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"` 1420 // Sets the Go package where structs generated from this .proto will be 1421 // placed. If omitted, the Go package will be derived from the following: 1422 // - The basename of the package import path, if provided. 1423 // - Otherwise, the package statement in the .proto file, if present. 1424 // - Otherwise, the basename of the .proto file, without extension. 1425 GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"` 1426 // Should generic services be generated in each language? "Generic" services 1427 // are not specific to any particular RPC system. They are generated by the 1428 // main code generators in each language (without additional plugins). 1429 // Generic services were the only kind of service generation supported by 1430 // early versions of google.protobuf. 1431 // 1432 // Generic services are now considered deprecated in favor of using plugins 1433 // that generate code specific to your particular RPC system. Therefore, 1434 // these default to false. Old code which depends on generic services should 1435 // explicitly set them to true. 1436 CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` 1437 JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` 1438 PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` 1439 PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"` 1440 // Is this file deprecated? 1441 // Depending on the target platform, this can emit Deprecated annotations 1442 // for everything in the file, or it will be completely ignored; in the very 1443 // least, this is a formalization for deprecating files. 1444 Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1445 // Enables the use of arenas for the proto messages in this file. This applies 1446 // only to generated classes for C++. 1447 CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=1" json:"cc_enable_arenas,omitempty"` 1448 // Sets the objective c class prefix which is prepended to all objective c 1449 // generated classes from this .proto. There is no default. 1450 ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"` 1451 // Namespace for generated classes; defaults to the package. 1452 CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"` 1453 // By default Swift generators will take the proto package and CamelCase it 1454 // replacing '.' with underscore and use that to prefix the types/symbols 1455 // defined. When this options is provided, they will use this value instead 1456 // to prefix the types/symbols defined. 1457 SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"` 1458 // Sets the php class prefix which is prepended to all php generated classes 1459 // from this .proto. Default is empty. 1460 PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"` 1461 // Use this option to change the namespace of php generated classes. Default 1462 // is empty. When this option is empty, the package name will be used for 1463 // determining the namespace. 1464 PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` 1465 // Use this option to change the namespace of php generated metadata classes. 1466 // Default is empty. When this option is empty, the proto file name will be 1467 // used for determining the namespace. 1468 PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"` 1469 // Use this option to change the package of ruby generated classes. Default 1470 // is empty. When this option is not set, the package name will be used for 1471 // determining the ruby package. 1472 RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"` 1473 // The parser stores options it doesn't recognize here. 1474 // See the documentation for the "Options" section above. 1475 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1476} 1477 1478// Default values for FileOptions fields. 1479const ( 1480 Default_FileOptions_JavaMultipleFiles = bool(false) 1481 Default_FileOptions_JavaStringCheckUtf8 = bool(false) 1482 Default_FileOptions_OptimizeFor = FileOptions_SPEED 1483 Default_FileOptions_CcGenericServices = bool(false) 1484 Default_FileOptions_JavaGenericServices = bool(false) 1485 Default_FileOptions_PyGenericServices = bool(false) 1486 Default_FileOptions_PhpGenericServices = bool(false) 1487 Default_FileOptions_Deprecated = bool(false) 1488 Default_FileOptions_CcEnableArenas = bool(true) 1489) 1490 1491func (x *FileOptions) Reset() { 1492 *x = FileOptions{} 1493 if protoimpl.UnsafeEnabled { 1494 mi := &file_google_protobuf_descriptor_proto_msgTypes[10] 1495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1496 ms.StoreMessageInfo(mi) 1497 } 1498} 1499 1500func (x *FileOptions) String() string { 1501 return protoimpl.X.MessageStringOf(x) 1502} 1503 1504func (*FileOptions) ProtoMessage() {} 1505 1506func (x *FileOptions) ProtoReflect() protoreflect.Message { 1507 mi := &file_google_protobuf_descriptor_proto_msgTypes[10] 1508 if protoimpl.UnsafeEnabled && x != nil { 1509 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1510 if ms.LoadMessageInfo() == nil { 1511 ms.StoreMessageInfo(mi) 1512 } 1513 return ms 1514 } 1515 return mi.MessageOf(x) 1516} 1517 1518// Deprecated: Use FileOptions.ProtoReflect.Descriptor instead. 1519func (*FileOptions) Descriptor() ([]byte, []int) { 1520 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10} 1521} 1522 1523var extRange_FileOptions = []protoiface.ExtensionRangeV1{ 1524 {Start: 1000, End: 536870911}, 1525} 1526 1527// Deprecated: Use FileOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 1528func (*FileOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 1529 return extRange_FileOptions 1530} 1531 1532func (x *FileOptions) GetJavaPackage() string { 1533 if x != nil && x.JavaPackage != nil { 1534 return *x.JavaPackage 1535 } 1536 return "" 1537} 1538 1539func (x *FileOptions) GetJavaOuterClassname() string { 1540 if x != nil && x.JavaOuterClassname != nil { 1541 return *x.JavaOuterClassname 1542 } 1543 return "" 1544} 1545 1546func (x *FileOptions) GetJavaMultipleFiles() bool { 1547 if x != nil && x.JavaMultipleFiles != nil { 1548 return *x.JavaMultipleFiles 1549 } 1550 return Default_FileOptions_JavaMultipleFiles 1551} 1552 1553// Deprecated: Do not use. 1554func (x *FileOptions) GetJavaGenerateEqualsAndHash() bool { 1555 if x != nil && x.JavaGenerateEqualsAndHash != nil { 1556 return *x.JavaGenerateEqualsAndHash 1557 } 1558 return false 1559} 1560 1561func (x *FileOptions) GetJavaStringCheckUtf8() bool { 1562 if x != nil && x.JavaStringCheckUtf8 != nil { 1563 return *x.JavaStringCheckUtf8 1564 } 1565 return Default_FileOptions_JavaStringCheckUtf8 1566} 1567 1568func (x *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode { 1569 if x != nil && x.OptimizeFor != nil { 1570 return *x.OptimizeFor 1571 } 1572 return Default_FileOptions_OptimizeFor 1573} 1574 1575func (x *FileOptions) GetGoPackage() string { 1576 if x != nil && x.GoPackage != nil { 1577 return *x.GoPackage 1578 } 1579 return "" 1580} 1581 1582func (x *FileOptions) GetCcGenericServices() bool { 1583 if x != nil && x.CcGenericServices != nil { 1584 return *x.CcGenericServices 1585 } 1586 return Default_FileOptions_CcGenericServices 1587} 1588 1589func (x *FileOptions) GetJavaGenericServices() bool { 1590 if x != nil && x.JavaGenericServices != nil { 1591 return *x.JavaGenericServices 1592 } 1593 return Default_FileOptions_JavaGenericServices 1594} 1595 1596func (x *FileOptions) GetPyGenericServices() bool { 1597 if x != nil && x.PyGenericServices != nil { 1598 return *x.PyGenericServices 1599 } 1600 return Default_FileOptions_PyGenericServices 1601} 1602 1603func (x *FileOptions) GetPhpGenericServices() bool { 1604 if x != nil && x.PhpGenericServices != nil { 1605 return *x.PhpGenericServices 1606 } 1607 return Default_FileOptions_PhpGenericServices 1608} 1609 1610func (x *FileOptions) GetDeprecated() bool { 1611 if x != nil && x.Deprecated != nil { 1612 return *x.Deprecated 1613 } 1614 return Default_FileOptions_Deprecated 1615} 1616 1617func (x *FileOptions) GetCcEnableArenas() bool { 1618 if x != nil && x.CcEnableArenas != nil { 1619 return *x.CcEnableArenas 1620 } 1621 return Default_FileOptions_CcEnableArenas 1622} 1623 1624func (x *FileOptions) GetObjcClassPrefix() string { 1625 if x != nil && x.ObjcClassPrefix != nil { 1626 return *x.ObjcClassPrefix 1627 } 1628 return "" 1629} 1630 1631func (x *FileOptions) GetCsharpNamespace() string { 1632 if x != nil && x.CsharpNamespace != nil { 1633 return *x.CsharpNamespace 1634 } 1635 return "" 1636} 1637 1638func (x *FileOptions) GetSwiftPrefix() string { 1639 if x != nil && x.SwiftPrefix != nil { 1640 return *x.SwiftPrefix 1641 } 1642 return "" 1643} 1644 1645func (x *FileOptions) GetPhpClassPrefix() string { 1646 if x != nil && x.PhpClassPrefix != nil { 1647 return *x.PhpClassPrefix 1648 } 1649 return "" 1650} 1651 1652func (x *FileOptions) GetPhpNamespace() string { 1653 if x != nil && x.PhpNamespace != nil { 1654 return *x.PhpNamespace 1655 } 1656 return "" 1657} 1658 1659func (x *FileOptions) GetPhpMetadataNamespace() string { 1660 if x != nil && x.PhpMetadataNamespace != nil { 1661 return *x.PhpMetadataNamespace 1662 } 1663 return "" 1664} 1665 1666func (x *FileOptions) GetRubyPackage() string { 1667 if x != nil && x.RubyPackage != nil { 1668 return *x.RubyPackage 1669 } 1670 return "" 1671} 1672 1673func (x *FileOptions) GetUninterpretedOption() []*UninterpretedOption { 1674 if x != nil { 1675 return x.UninterpretedOption 1676 } 1677 return nil 1678} 1679 1680type MessageOptions struct { 1681 state protoimpl.MessageState 1682 sizeCache protoimpl.SizeCache 1683 unknownFields protoimpl.UnknownFields 1684 extensionFields protoimpl.ExtensionFields 1685 1686 // Set true to use the old proto1 MessageSet wire format for extensions. 1687 // This is provided for backwards-compatibility with the MessageSet wire 1688 // format. You should not use this for any other reason: It's less 1689 // efficient, has fewer features, and is more complicated. 1690 // 1691 // The message must be defined exactly as follows: 1692 // message Foo { 1693 // option message_set_wire_format = true; 1694 // extensions 4 to max; 1695 // } 1696 // Note that the message cannot have any defined fields; MessageSets only 1697 // have extensions. 1698 // 1699 // All extensions of your type must be singular messages; e.g. they cannot 1700 // be int32s, enums, or repeated messages. 1701 // 1702 // Because this is an option, the above two restrictions are not enforced by 1703 // the protocol compiler. 1704 MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"` 1705 // Disables the generation of the standard "descriptor()" accessor, which can 1706 // conflict with a field of the same name. This is meant to make migration 1707 // from proto1 easier; new code should avoid fields named "descriptor". 1708 NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"` 1709 // Is this message deprecated? 1710 // Depending on the target platform, this can emit Deprecated annotations 1711 // for the message, or it will be completely ignored; in the very least, 1712 // this is a formalization for deprecating messages. 1713 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1714 // Whether the message is an automatically generated map entry type for the 1715 // maps field. 1716 // 1717 // For maps fields: 1718 // map<KeyType, ValueType> map_field = 1; 1719 // The parsed descriptor looks like: 1720 // message MapFieldEntry { 1721 // option map_entry = true; 1722 // optional KeyType key = 1; 1723 // optional ValueType value = 2; 1724 // } 1725 // repeated MapFieldEntry map_field = 1; 1726 // 1727 // Implementations may choose not to generate the map_entry=true message, but 1728 // use a native map in the target language to hold the keys and values. 1729 // The reflection APIs in such implementations still need to work as 1730 // if the field is a repeated message field. 1731 // 1732 // NOTE: Do not set the option in .proto files. Always use the maps syntax 1733 // instead. The option should only be implicitly set by the proto compiler 1734 // parser. 1735 MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` 1736 // The parser stores options it doesn't recognize here. See above. 1737 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1738} 1739 1740// Default values for MessageOptions fields. 1741const ( 1742 Default_MessageOptions_MessageSetWireFormat = bool(false) 1743 Default_MessageOptions_NoStandardDescriptorAccessor = bool(false) 1744 Default_MessageOptions_Deprecated = bool(false) 1745) 1746 1747func (x *MessageOptions) Reset() { 1748 *x = MessageOptions{} 1749 if protoimpl.UnsafeEnabled { 1750 mi := &file_google_protobuf_descriptor_proto_msgTypes[11] 1751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1752 ms.StoreMessageInfo(mi) 1753 } 1754} 1755 1756func (x *MessageOptions) String() string { 1757 return protoimpl.X.MessageStringOf(x) 1758} 1759 1760func (*MessageOptions) ProtoMessage() {} 1761 1762func (x *MessageOptions) ProtoReflect() protoreflect.Message { 1763 mi := &file_google_protobuf_descriptor_proto_msgTypes[11] 1764 if protoimpl.UnsafeEnabled && x != nil { 1765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1766 if ms.LoadMessageInfo() == nil { 1767 ms.StoreMessageInfo(mi) 1768 } 1769 return ms 1770 } 1771 return mi.MessageOf(x) 1772} 1773 1774// Deprecated: Use MessageOptions.ProtoReflect.Descriptor instead. 1775func (*MessageOptions) Descriptor() ([]byte, []int) { 1776 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{11} 1777} 1778 1779var extRange_MessageOptions = []protoiface.ExtensionRangeV1{ 1780 {Start: 1000, End: 536870911}, 1781} 1782 1783// Deprecated: Use MessageOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 1784func (*MessageOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 1785 return extRange_MessageOptions 1786} 1787 1788func (x *MessageOptions) GetMessageSetWireFormat() bool { 1789 if x != nil && x.MessageSetWireFormat != nil { 1790 return *x.MessageSetWireFormat 1791 } 1792 return Default_MessageOptions_MessageSetWireFormat 1793} 1794 1795func (x *MessageOptions) GetNoStandardDescriptorAccessor() bool { 1796 if x != nil && x.NoStandardDescriptorAccessor != nil { 1797 return *x.NoStandardDescriptorAccessor 1798 } 1799 return Default_MessageOptions_NoStandardDescriptorAccessor 1800} 1801 1802func (x *MessageOptions) GetDeprecated() bool { 1803 if x != nil && x.Deprecated != nil { 1804 return *x.Deprecated 1805 } 1806 return Default_MessageOptions_Deprecated 1807} 1808 1809func (x *MessageOptions) GetMapEntry() bool { 1810 if x != nil && x.MapEntry != nil { 1811 return *x.MapEntry 1812 } 1813 return false 1814} 1815 1816func (x *MessageOptions) GetUninterpretedOption() []*UninterpretedOption { 1817 if x != nil { 1818 return x.UninterpretedOption 1819 } 1820 return nil 1821} 1822 1823type FieldOptions struct { 1824 state protoimpl.MessageState 1825 sizeCache protoimpl.SizeCache 1826 unknownFields protoimpl.UnknownFields 1827 extensionFields protoimpl.ExtensionFields 1828 1829 // The ctype option instructs the C++ code generator to use a different 1830 // representation of the field than it normally would. See the specific 1831 // options below. This option is not yet implemented in the open source 1832 // release -- sorry, we'll try to include it in a future version! 1833 Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"` 1834 // The packed option can be enabled for repeated primitive fields to enable 1835 // a more efficient representation on the wire. Rather than repeatedly 1836 // writing the tag and type for each element, the entire array is encoded as 1837 // a single length-delimited blob. In proto3, only explicit setting it to 1838 // false will avoid using packed encoding. 1839 Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` 1840 // The jstype option determines the JavaScript type used for values of the 1841 // field. The option is permitted only for 64 bit integral and fixed types 1842 // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING 1843 // is represented as JavaScript string, which avoids loss of precision that 1844 // can happen when a large value is converted to a floating point JavaScript. 1845 // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to 1846 // use the JavaScript "number" type. The behavior of the default option 1847 // JS_NORMAL is implementation dependent. 1848 // 1849 // This option is an enum to permit additional types to be added, e.g. 1850 // goog.math.Integer. 1851 Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` 1852 // Should this field be parsed lazily? Lazy applies only to message-type 1853 // fields. It means that when the outer message is initially parsed, the 1854 // inner message's contents will not be parsed but instead stored in encoded 1855 // form. The inner message will actually be parsed when it is first accessed. 1856 // 1857 // This is only a hint. Implementations are free to choose whether to use 1858 // eager or lazy parsing regardless of the value of this option. However, 1859 // setting this option true suggests that the protocol author believes that 1860 // using lazy parsing on this field is worth the additional bookkeeping 1861 // overhead typically needed to implement it. 1862 // 1863 // This option does not affect the public interface of any generated code; 1864 // all method signatures remain the same. Furthermore, thread-safety of the 1865 // interface is not affected by this option; const methods remain safe to 1866 // call from multiple threads concurrently, while non-const methods continue 1867 // to require exclusive access. 1868 // 1869 // 1870 // Note that implementations may choose not to check required fields within 1871 // a lazy sub-message. That is, calling IsInitialized() on the outer message 1872 // may return true even if the inner message has missing required fields. 1873 // This is necessary because otherwise the inner message would have to be 1874 // parsed in order to perform the check, defeating the purpose of lazy 1875 // parsing. An implementation which chooses not to check required fields 1876 // must be consistent about it. That is, for any particular sub-message, the 1877 // implementation must either *always* check its required fields, or *never* 1878 // check its required fields, regardless of whether or not the message has 1879 // been parsed. 1880 Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"` 1881 // Is this field deprecated? 1882 // Depending on the target platform, this can emit Deprecated annotations 1883 // for accessors, or it will be completely ignored; in the very least, this 1884 // is a formalization for deprecating fields. 1885 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1886 // For Google-internal migration only. Do not use. 1887 Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` 1888 // The parser stores options it doesn't recognize here. See above. 1889 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1890} 1891 1892// Default values for FieldOptions fields. 1893const ( 1894 Default_FieldOptions_Ctype = FieldOptions_STRING 1895 Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL 1896 Default_FieldOptions_Lazy = bool(false) 1897 Default_FieldOptions_Deprecated = bool(false) 1898 Default_FieldOptions_Weak = bool(false) 1899) 1900 1901func (x *FieldOptions) Reset() { 1902 *x = FieldOptions{} 1903 if protoimpl.UnsafeEnabled { 1904 mi := &file_google_protobuf_descriptor_proto_msgTypes[12] 1905 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1906 ms.StoreMessageInfo(mi) 1907 } 1908} 1909 1910func (x *FieldOptions) String() string { 1911 return protoimpl.X.MessageStringOf(x) 1912} 1913 1914func (*FieldOptions) ProtoMessage() {} 1915 1916func (x *FieldOptions) ProtoReflect() protoreflect.Message { 1917 mi := &file_google_protobuf_descriptor_proto_msgTypes[12] 1918 if protoimpl.UnsafeEnabled && x != nil { 1919 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1920 if ms.LoadMessageInfo() == nil { 1921 ms.StoreMessageInfo(mi) 1922 } 1923 return ms 1924 } 1925 return mi.MessageOf(x) 1926} 1927 1928// Deprecated: Use FieldOptions.ProtoReflect.Descriptor instead. 1929func (*FieldOptions) Descriptor() ([]byte, []int) { 1930 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12} 1931} 1932 1933var extRange_FieldOptions = []protoiface.ExtensionRangeV1{ 1934 {Start: 1000, End: 536870911}, 1935} 1936 1937// Deprecated: Use FieldOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 1938func (*FieldOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 1939 return extRange_FieldOptions 1940} 1941 1942func (x *FieldOptions) GetCtype() FieldOptions_CType { 1943 if x != nil && x.Ctype != nil { 1944 return *x.Ctype 1945 } 1946 return Default_FieldOptions_Ctype 1947} 1948 1949func (x *FieldOptions) GetPacked() bool { 1950 if x != nil && x.Packed != nil { 1951 return *x.Packed 1952 } 1953 return false 1954} 1955 1956func (x *FieldOptions) GetJstype() FieldOptions_JSType { 1957 if x != nil && x.Jstype != nil { 1958 return *x.Jstype 1959 } 1960 return Default_FieldOptions_Jstype 1961} 1962 1963func (x *FieldOptions) GetLazy() bool { 1964 if x != nil && x.Lazy != nil { 1965 return *x.Lazy 1966 } 1967 return Default_FieldOptions_Lazy 1968} 1969 1970func (x *FieldOptions) GetDeprecated() bool { 1971 if x != nil && x.Deprecated != nil { 1972 return *x.Deprecated 1973 } 1974 return Default_FieldOptions_Deprecated 1975} 1976 1977func (x *FieldOptions) GetWeak() bool { 1978 if x != nil && x.Weak != nil { 1979 return *x.Weak 1980 } 1981 return Default_FieldOptions_Weak 1982} 1983 1984func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { 1985 if x != nil { 1986 return x.UninterpretedOption 1987 } 1988 return nil 1989} 1990 1991type OneofOptions struct { 1992 state protoimpl.MessageState 1993 sizeCache protoimpl.SizeCache 1994 unknownFields protoimpl.UnknownFields 1995 extensionFields protoimpl.ExtensionFields 1996 1997 // The parser stores options it doesn't recognize here. See above. 1998 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1999} 2000 2001func (x *OneofOptions) Reset() { 2002 *x = OneofOptions{} 2003 if protoimpl.UnsafeEnabled { 2004 mi := &file_google_protobuf_descriptor_proto_msgTypes[13] 2005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2006 ms.StoreMessageInfo(mi) 2007 } 2008} 2009 2010func (x *OneofOptions) String() string { 2011 return protoimpl.X.MessageStringOf(x) 2012} 2013 2014func (*OneofOptions) ProtoMessage() {} 2015 2016func (x *OneofOptions) ProtoReflect() protoreflect.Message { 2017 mi := &file_google_protobuf_descriptor_proto_msgTypes[13] 2018 if protoimpl.UnsafeEnabled && x != nil { 2019 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2020 if ms.LoadMessageInfo() == nil { 2021 ms.StoreMessageInfo(mi) 2022 } 2023 return ms 2024 } 2025 return mi.MessageOf(x) 2026} 2027 2028// Deprecated: Use OneofOptions.ProtoReflect.Descriptor instead. 2029func (*OneofOptions) Descriptor() ([]byte, []int) { 2030 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{13} 2031} 2032 2033var extRange_OneofOptions = []protoiface.ExtensionRangeV1{ 2034 {Start: 1000, End: 536870911}, 2035} 2036 2037// Deprecated: Use OneofOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 2038func (*OneofOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 2039 return extRange_OneofOptions 2040} 2041 2042func (x *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { 2043 if x != nil { 2044 return x.UninterpretedOption 2045 } 2046 return nil 2047} 2048 2049type EnumOptions struct { 2050 state protoimpl.MessageState 2051 sizeCache protoimpl.SizeCache 2052 unknownFields protoimpl.UnknownFields 2053 extensionFields protoimpl.ExtensionFields 2054 2055 // Set this option to true to allow mapping different tag names to the same 2056 // value. 2057 AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"` 2058 // Is this enum deprecated? 2059 // Depending on the target platform, this can emit Deprecated annotations 2060 // for the enum, or it will be completely ignored; in the very least, this 2061 // is a formalization for deprecating enums. 2062 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2063 // The parser stores options it doesn't recognize here. See above. 2064 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2065} 2066 2067// Default values for EnumOptions fields. 2068const ( 2069 Default_EnumOptions_Deprecated = bool(false) 2070) 2071 2072func (x *EnumOptions) Reset() { 2073 *x = EnumOptions{} 2074 if protoimpl.UnsafeEnabled { 2075 mi := &file_google_protobuf_descriptor_proto_msgTypes[14] 2076 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2077 ms.StoreMessageInfo(mi) 2078 } 2079} 2080 2081func (x *EnumOptions) String() string { 2082 return protoimpl.X.MessageStringOf(x) 2083} 2084 2085func (*EnumOptions) ProtoMessage() {} 2086 2087func (x *EnumOptions) ProtoReflect() protoreflect.Message { 2088 mi := &file_google_protobuf_descriptor_proto_msgTypes[14] 2089 if protoimpl.UnsafeEnabled && x != nil { 2090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2091 if ms.LoadMessageInfo() == nil { 2092 ms.StoreMessageInfo(mi) 2093 } 2094 return ms 2095 } 2096 return mi.MessageOf(x) 2097} 2098 2099// Deprecated: Use EnumOptions.ProtoReflect.Descriptor instead. 2100func (*EnumOptions) Descriptor() ([]byte, []int) { 2101 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{14} 2102} 2103 2104var extRange_EnumOptions = []protoiface.ExtensionRangeV1{ 2105 {Start: 1000, End: 536870911}, 2106} 2107 2108// Deprecated: Use EnumOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 2109func (*EnumOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 2110 return extRange_EnumOptions 2111} 2112 2113func (x *EnumOptions) GetAllowAlias() bool { 2114 if x != nil && x.AllowAlias != nil { 2115 return *x.AllowAlias 2116 } 2117 return false 2118} 2119 2120func (x *EnumOptions) GetDeprecated() bool { 2121 if x != nil && x.Deprecated != nil { 2122 return *x.Deprecated 2123 } 2124 return Default_EnumOptions_Deprecated 2125} 2126 2127func (x *EnumOptions) GetUninterpretedOption() []*UninterpretedOption { 2128 if x != nil { 2129 return x.UninterpretedOption 2130 } 2131 return nil 2132} 2133 2134type EnumValueOptions struct { 2135 state protoimpl.MessageState 2136 sizeCache protoimpl.SizeCache 2137 unknownFields protoimpl.UnknownFields 2138 extensionFields protoimpl.ExtensionFields 2139 2140 // Is this enum value deprecated? 2141 // Depending on the target platform, this can emit Deprecated annotations 2142 // for the enum value, or it will be completely ignored; in the very least, 2143 // this is a formalization for deprecating enum values. 2144 Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2145 // The parser stores options it doesn't recognize here. See above. 2146 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2147} 2148 2149// Default values for EnumValueOptions fields. 2150const ( 2151 Default_EnumValueOptions_Deprecated = bool(false) 2152) 2153 2154func (x *EnumValueOptions) Reset() { 2155 *x = EnumValueOptions{} 2156 if protoimpl.UnsafeEnabled { 2157 mi := &file_google_protobuf_descriptor_proto_msgTypes[15] 2158 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2159 ms.StoreMessageInfo(mi) 2160 } 2161} 2162 2163func (x *EnumValueOptions) String() string { 2164 return protoimpl.X.MessageStringOf(x) 2165} 2166 2167func (*EnumValueOptions) ProtoMessage() {} 2168 2169func (x *EnumValueOptions) ProtoReflect() protoreflect.Message { 2170 mi := &file_google_protobuf_descriptor_proto_msgTypes[15] 2171 if protoimpl.UnsafeEnabled && x != nil { 2172 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2173 if ms.LoadMessageInfo() == nil { 2174 ms.StoreMessageInfo(mi) 2175 } 2176 return ms 2177 } 2178 return mi.MessageOf(x) 2179} 2180 2181// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor instead. 2182func (*EnumValueOptions) Descriptor() ([]byte, []int) { 2183 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{15} 2184} 2185 2186var extRange_EnumValueOptions = []protoiface.ExtensionRangeV1{ 2187 {Start: 1000, End: 536870911}, 2188} 2189 2190// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 2191func (*EnumValueOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 2192 return extRange_EnumValueOptions 2193} 2194 2195func (x *EnumValueOptions) GetDeprecated() bool { 2196 if x != nil && x.Deprecated != nil { 2197 return *x.Deprecated 2198 } 2199 return Default_EnumValueOptions_Deprecated 2200} 2201 2202func (x *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption { 2203 if x != nil { 2204 return x.UninterpretedOption 2205 } 2206 return nil 2207} 2208 2209type ServiceOptions struct { 2210 state protoimpl.MessageState 2211 sizeCache protoimpl.SizeCache 2212 unknownFields protoimpl.UnknownFields 2213 extensionFields protoimpl.ExtensionFields 2214 2215 // Is this service deprecated? 2216 // Depending on the target platform, this can emit Deprecated annotations 2217 // for the service, or it will be completely ignored; in the very least, 2218 // this is a formalization for deprecating services. 2219 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2220 // The parser stores options it doesn't recognize here. See above. 2221 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2222} 2223 2224// Default values for ServiceOptions fields. 2225const ( 2226 Default_ServiceOptions_Deprecated = bool(false) 2227) 2228 2229func (x *ServiceOptions) Reset() { 2230 *x = ServiceOptions{} 2231 if protoimpl.UnsafeEnabled { 2232 mi := &file_google_protobuf_descriptor_proto_msgTypes[16] 2233 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2234 ms.StoreMessageInfo(mi) 2235 } 2236} 2237 2238func (x *ServiceOptions) String() string { 2239 return protoimpl.X.MessageStringOf(x) 2240} 2241 2242func (*ServiceOptions) ProtoMessage() {} 2243 2244func (x *ServiceOptions) ProtoReflect() protoreflect.Message { 2245 mi := &file_google_protobuf_descriptor_proto_msgTypes[16] 2246 if protoimpl.UnsafeEnabled && x != nil { 2247 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2248 if ms.LoadMessageInfo() == nil { 2249 ms.StoreMessageInfo(mi) 2250 } 2251 return ms 2252 } 2253 return mi.MessageOf(x) 2254} 2255 2256// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor instead. 2257func (*ServiceOptions) Descriptor() ([]byte, []int) { 2258 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{16} 2259} 2260 2261var extRange_ServiceOptions = []protoiface.ExtensionRangeV1{ 2262 {Start: 1000, End: 536870911}, 2263} 2264 2265// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 2266func (*ServiceOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 2267 return extRange_ServiceOptions 2268} 2269 2270func (x *ServiceOptions) GetDeprecated() bool { 2271 if x != nil && x.Deprecated != nil { 2272 return *x.Deprecated 2273 } 2274 return Default_ServiceOptions_Deprecated 2275} 2276 2277func (x *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption { 2278 if x != nil { 2279 return x.UninterpretedOption 2280 } 2281 return nil 2282} 2283 2284type MethodOptions struct { 2285 state protoimpl.MessageState 2286 sizeCache protoimpl.SizeCache 2287 unknownFields protoimpl.UnknownFields 2288 extensionFields protoimpl.ExtensionFields 2289 2290 // Is this method deprecated? 2291 // Depending on the target platform, this can emit Deprecated annotations 2292 // for the method, or it will be completely ignored; in the very least, 2293 // this is a formalization for deprecating methods. 2294 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2295 IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"` 2296 // The parser stores options it doesn't recognize here. See above. 2297 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2298} 2299 2300// Default values for MethodOptions fields. 2301const ( 2302 Default_MethodOptions_Deprecated = bool(false) 2303 Default_MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN 2304) 2305 2306func (x *MethodOptions) Reset() { 2307 *x = MethodOptions{} 2308 if protoimpl.UnsafeEnabled { 2309 mi := &file_google_protobuf_descriptor_proto_msgTypes[17] 2310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2311 ms.StoreMessageInfo(mi) 2312 } 2313} 2314 2315func (x *MethodOptions) String() string { 2316 return protoimpl.X.MessageStringOf(x) 2317} 2318 2319func (*MethodOptions) ProtoMessage() {} 2320 2321func (x *MethodOptions) ProtoReflect() protoreflect.Message { 2322 mi := &file_google_protobuf_descriptor_proto_msgTypes[17] 2323 if protoimpl.UnsafeEnabled && x != nil { 2324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2325 if ms.LoadMessageInfo() == nil { 2326 ms.StoreMessageInfo(mi) 2327 } 2328 return ms 2329 } 2330 return mi.MessageOf(x) 2331} 2332 2333// Deprecated: Use MethodOptions.ProtoReflect.Descriptor instead. 2334func (*MethodOptions) Descriptor() ([]byte, []int) { 2335 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17} 2336} 2337 2338var extRange_MethodOptions = []protoiface.ExtensionRangeV1{ 2339 {Start: 1000, End: 536870911}, 2340} 2341 2342// Deprecated: Use MethodOptions.ProtoReflect.Descriptor.ExtensionRanges instead. 2343func (*MethodOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { 2344 return extRange_MethodOptions 2345} 2346 2347func (x *MethodOptions) GetDeprecated() bool { 2348 if x != nil && x.Deprecated != nil { 2349 return *x.Deprecated 2350 } 2351 return Default_MethodOptions_Deprecated 2352} 2353 2354func (x *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel { 2355 if x != nil && x.IdempotencyLevel != nil { 2356 return *x.IdempotencyLevel 2357 } 2358 return Default_MethodOptions_IdempotencyLevel 2359} 2360 2361func (x *MethodOptions) GetUninterpretedOption() []*UninterpretedOption { 2362 if x != nil { 2363 return x.UninterpretedOption 2364 } 2365 return nil 2366} 2367 2368// A message representing a option the parser does not recognize. This only 2369// appears in options protos created by the compiler::Parser class. 2370// DescriptorPool resolves these when building Descriptor objects. Therefore, 2371// options protos in descriptor objects (e.g. returned by Descriptor::options(), 2372// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions 2373// in them. 2374type UninterpretedOption struct { 2375 state protoimpl.MessageState 2376 sizeCache protoimpl.SizeCache 2377 unknownFields protoimpl.UnknownFields 2378 2379 Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` 2380 // The value of the uninterpreted option, in whatever type the tokenizer 2381 // identified it as during parsing. Exactly one of these should be set. 2382 IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` 2383 PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` 2384 NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` 2385 DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` 2386 StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` 2387 AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` 2388} 2389 2390func (x *UninterpretedOption) Reset() { 2391 *x = UninterpretedOption{} 2392 if protoimpl.UnsafeEnabled { 2393 mi := &file_google_protobuf_descriptor_proto_msgTypes[18] 2394 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2395 ms.StoreMessageInfo(mi) 2396 } 2397} 2398 2399func (x *UninterpretedOption) String() string { 2400 return protoimpl.X.MessageStringOf(x) 2401} 2402 2403func (*UninterpretedOption) ProtoMessage() {} 2404 2405func (x *UninterpretedOption) ProtoReflect() protoreflect.Message { 2406 mi := &file_google_protobuf_descriptor_proto_msgTypes[18] 2407 if protoimpl.UnsafeEnabled && x != nil { 2408 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2409 if ms.LoadMessageInfo() == nil { 2410 ms.StoreMessageInfo(mi) 2411 } 2412 return ms 2413 } 2414 return mi.MessageOf(x) 2415} 2416 2417// Deprecated: Use UninterpretedOption.ProtoReflect.Descriptor instead. 2418func (*UninterpretedOption) Descriptor() ([]byte, []int) { 2419 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18} 2420} 2421 2422func (x *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { 2423 if x != nil { 2424 return x.Name 2425 } 2426 return nil 2427} 2428 2429func (x *UninterpretedOption) GetIdentifierValue() string { 2430 if x != nil && x.IdentifierValue != nil { 2431 return *x.IdentifierValue 2432 } 2433 return "" 2434} 2435 2436func (x *UninterpretedOption) GetPositiveIntValue() uint64 { 2437 if x != nil && x.PositiveIntValue != nil { 2438 return *x.PositiveIntValue 2439 } 2440 return 0 2441} 2442 2443func (x *UninterpretedOption) GetNegativeIntValue() int64 { 2444 if x != nil && x.NegativeIntValue != nil { 2445 return *x.NegativeIntValue 2446 } 2447 return 0 2448} 2449 2450func (x *UninterpretedOption) GetDoubleValue() float64 { 2451 if x != nil && x.DoubleValue != nil { 2452 return *x.DoubleValue 2453 } 2454 return 0 2455} 2456 2457func (x *UninterpretedOption) GetStringValue() []byte { 2458 if x != nil { 2459 return x.StringValue 2460 } 2461 return nil 2462} 2463 2464func (x *UninterpretedOption) GetAggregateValue() string { 2465 if x != nil && x.AggregateValue != nil { 2466 return *x.AggregateValue 2467 } 2468 return "" 2469} 2470 2471// Encapsulates information about the original source file from which a 2472// FileDescriptorProto was generated. 2473type SourceCodeInfo struct { 2474 state protoimpl.MessageState 2475 sizeCache protoimpl.SizeCache 2476 unknownFields protoimpl.UnknownFields 2477 2478 // A Location identifies a piece of source code in a .proto file which 2479 // corresponds to a particular definition. This information is intended 2480 // to be useful to IDEs, code indexers, documentation generators, and similar 2481 // tools. 2482 // 2483 // For example, say we have a file like: 2484 // message Foo { 2485 // optional string foo = 1; 2486 // } 2487 // Let's look at just the field definition: 2488 // optional string foo = 1; 2489 // ^ ^^ ^^ ^ ^^^ 2490 // a bc de f ghi 2491 // We have the following locations: 2492 // span path represents 2493 // [a,i) [ 4, 0, 2, 0 ] The whole field definition. 2494 // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 2495 // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 2496 // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 2497 // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 2498 // 2499 // Notes: 2500 // - A location may refer to a repeated field itself (i.e. not to any 2501 // particular index within it). This is used whenever a set of elements are 2502 // logically enclosed in a single code segment. For example, an entire 2503 // extend block (possibly containing multiple extension definitions) will 2504 // have an outer location whose path refers to the "extensions" repeated 2505 // field without an index. 2506 // - Multiple locations may have the same path. This happens when a single 2507 // logical declaration is spread out across multiple places. The most 2508 // obvious example is the "extend" block again -- there may be multiple 2509 // extend blocks in the same scope, each of which will have the same path. 2510 // - A location's span is not always a subset of its parent's span. For 2511 // example, the "extendee" of an extension declaration appears at the 2512 // beginning of the "extend" block and is shared by all extensions within 2513 // the block. 2514 // - Just because a location's span is a subset of some other location's span 2515 // does not mean that it is a descendant. For example, a "group" defines 2516 // both a type and a field in a single declaration. Thus, the locations 2517 // corresponding to the type and field and their components will overlap. 2518 // - Code which tries to interpret locations should probably be designed to 2519 // ignore those that it doesn't understand, as more types of locations could 2520 // be recorded in the future. 2521 Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` 2522} 2523 2524func (x *SourceCodeInfo) Reset() { 2525 *x = SourceCodeInfo{} 2526 if protoimpl.UnsafeEnabled { 2527 mi := &file_google_protobuf_descriptor_proto_msgTypes[19] 2528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2529 ms.StoreMessageInfo(mi) 2530 } 2531} 2532 2533func (x *SourceCodeInfo) String() string { 2534 return protoimpl.X.MessageStringOf(x) 2535} 2536 2537func (*SourceCodeInfo) ProtoMessage() {} 2538 2539func (x *SourceCodeInfo) ProtoReflect() protoreflect.Message { 2540 mi := &file_google_protobuf_descriptor_proto_msgTypes[19] 2541 if protoimpl.UnsafeEnabled && x != nil { 2542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2543 if ms.LoadMessageInfo() == nil { 2544 ms.StoreMessageInfo(mi) 2545 } 2546 return ms 2547 } 2548 return mi.MessageOf(x) 2549} 2550 2551// Deprecated: Use SourceCodeInfo.ProtoReflect.Descriptor instead. 2552func (*SourceCodeInfo) Descriptor() ([]byte, []int) { 2553 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19} 2554} 2555 2556func (x *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { 2557 if x != nil { 2558 return x.Location 2559 } 2560 return nil 2561} 2562 2563// Describes the relationship between generated code and its original source 2564// file. A GeneratedCodeInfo message is associated with only one generated 2565// source file, but may contain references to different source .proto files. 2566type GeneratedCodeInfo struct { 2567 state protoimpl.MessageState 2568 sizeCache protoimpl.SizeCache 2569 unknownFields protoimpl.UnknownFields 2570 2571 // An Annotation connects some span of text in generated code to an element 2572 // of its generating .proto file. 2573 Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` 2574} 2575 2576func (x *GeneratedCodeInfo) Reset() { 2577 *x = GeneratedCodeInfo{} 2578 if protoimpl.UnsafeEnabled { 2579 mi := &file_google_protobuf_descriptor_proto_msgTypes[20] 2580 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2581 ms.StoreMessageInfo(mi) 2582 } 2583} 2584 2585func (x *GeneratedCodeInfo) String() string { 2586 return protoimpl.X.MessageStringOf(x) 2587} 2588 2589func (*GeneratedCodeInfo) ProtoMessage() {} 2590 2591func (x *GeneratedCodeInfo) ProtoReflect() protoreflect.Message { 2592 mi := &file_google_protobuf_descriptor_proto_msgTypes[20] 2593 if protoimpl.UnsafeEnabled && x != nil { 2594 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2595 if ms.LoadMessageInfo() == nil { 2596 ms.StoreMessageInfo(mi) 2597 } 2598 return ms 2599 } 2600 return mi.MessageOf(x) 2601} 2602 2603// Deprecated: Use GeneratedCodeInfo.ProtoReflect.Descriptor instead. 2604func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { 2605 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20} 2606} 2607 2608func (x *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { 2609 if x != nil { 2610 return x.Annotation 2611 } 2612 return nil 2613} 2614 2615type DescriptorProto_ExtensionRange struct { 2616 state protoimpl.MessageState 2617 sizeCache protoimpl.SizeCache 2618 unknownFields protoimpl.UnknownFields 2619 2620 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2621 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. 2622 Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 2623} 2624 2625func (x *DescriptorProto_ExtensionRange) Reset() { 2626 *x = DescriptorProto_ExtensionRange{} 2627 if protoimpl.UnsafeEnabled { 2628 mi := &file_google_protobuf_descriptor_proto_msgTypes[21] 2629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2630 ms.StoreMessageInfo(mi) 2631 } 2632} 2633 2634func (x *DescriptorProto_ExtensionRange) String() string { 2635 return protoimpl.X.MessageStringOf(x) 2636} 2637 2638func (*DescriptorProto_ExtensionRange) ProtoMessage() {} 2639 2640func (x *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message { 2641 mi := &file_google_protobuf_descriptor_proto_msgTypes[21] 2642 if protoimpl.UnsafeEnabled && x != nil { 2643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2644 if ms.LoadMessageInfo() == nil { 2645 ms.StoreMessageInfo(mi) 2646 } 2647 return ms 2648 } 2649 return mi.MessageOf(x) 2650} 2651 2652// Deprecated: Use DescriptorProto_ExtensionRange.ProtoReflect.Descriptor instead. 2653func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { 2654 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 0} 2655} 2656 2657func (x *DescriptorProto_ExtensionRange) GetStart() int32 { 2658 if x != nil && x.Start != nil { 2659 return *x.Start 2660 } 2661 return 0 2662} 2663 2664func (x *DescriptorProto_ExtensionRange) GetEnd() int32 { 2665 if x != nil && x.End != nil { 2666 return *x.End 2667 } 2668 return 0 2669} 2670 2671func (x *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { 2672 if x != nil { 2673 return x.Options 2674 } 2675 return nil 2676} 2677 2678// Range of reserved tag numbers. Reserved tag numbers may not be used by 2679// fields or extension ranges in the same message. Reserved ranges may 2680// not overlap. 2681type DescriptorProto_ReservedRange struct { 2682 state protoimpl.MessageState 2683 sizeCache protoimpl.SizeCache 2684 unknownFields protoimpl.UnknownFields 2685 2686 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2687 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. 2688} 2689 2690func (x *DescriptorProto_ReservedRange) Reset() { 2691 *x = DescriptorProto_ReservedRange{} 2692 if protoimpl.UnsafeEnabled { 2693 mi := &file_google_protobuf_descriptor_proto_msgTypes[22] 2694 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2695 ms.StoreMessageInfo(mi) 2696 } 2697} 2698 2699func (x *DescriptorProto_ReservedRange) String() string { 2700 return protoimpl.X.MessageStringOf(x) 2701} 2702 2703func (*DescriptorProto_ReservedRange) ProtoMessage() {} 2704 2705func (x *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message { 2706 mi := &file_google_protobuf_descriptor_proto_msgTypes[22] 2707 if protoimpl.UnsafeEnabled && x != nil { 2708 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2709 if ms.LoadMessageInfo() == nil { 2710 ms.StoreMessageInfo(mi) 2711 } 2712 return ms 2713 } 2714 return mi.MessageOf(x) 2715} 2716 2717// Deprecated: Use DescriptorProto_ReservedRange.ProtoReflect.Descriptor instead. 2718func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { 2719 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 1} 2720} 2721 2722func (x *DescriptorProto_ReservedRange) GetStart() int32 { 2723 if x != nil && x.Start != nil { 2724 return *x.Start 2725 } 2726 return 0 2727} 2728 2729func (x *DescriptorProto_ReservedRange) GetEnd() int32 { 2730 if x != nil && x.End != nil { 2731 return *x.End 2732 } 2733 return 0 2734} 2735 2736// Range of reserved numeric values. Reserved values may not be used by 2737// entries in the same enum. Reserved ranges may not overlap. 2738// 2739// Note that this is distinct from DescriptorProto.ReservedRange in that it 2740// is inclusive such that it can appropriately represent the entire int32 2741// domain. 2742type EnumDescriptorProto_EnumReservedRange struct { 2743 state protoimpl.MessageState 2744 sizeCache protoimpl.SizeCache 2745 unknownFields protoimpl.UnknownFields 2746 2747 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2748 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Inclusive. 2749} 2750 2751func (x *EnumDescriptorProto_EnumReservedRange) Reset() { 2752 *x = EnumDescriptorProto_EnumReservedRange{} 2753 if protoimpl.UnsafeEnabled { 2754 mi := &file_google_protobuf_descriptor_proto_msgTypes[23] 2755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2756 ms.StoreMessageInfo(mi) 2757 } 2758} 2759 2760func (x *EnumDescriptorProto_EnumReservedRange) String() string { 2761 return protoimpl.X.MessageStringOf(x) 2762} 2763 2764func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} 2765 2766func (x *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message { 2767 mi := &file_google_protobuf_descriptor_proto_msgTypes[23] 2768 if protoimpl.UnsafeEnabled && x != nil { 2769 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2770 if ms.LoadMessageInfo() == nil { 2771 ms.StoreMessageInfo(mi) 2772 } 2773 return ms 2774 } 2775 return mi.MessageOf(x) 2776} 2777 2778// Deprecated: Use EnumDescriptorProto_EnumReservedRange.ProtoReflect.Descriptor instead. 2779func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { 2780 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6, 0} 2781} 2782 2783func (x *EnumDescriptorProto_EnumReservedRange) GetStart() int32 { 2784 if x != nil && x.Start != nil { 2785 return *x.Start 2786 } 2787 return 0 2788} 2789 2790func (x *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 { 2791 if x != nil && x.End != nil { 2792 return *x.End 2793 } 2794 return 0 2795} 2796 2797// The name of the uninterpreted option. Each string represents a segment in 2798// a dot-separated name. is_extension is true iff a segment represents an 2799// extension (denoted with parentheses in options specs in .proto files). 2800// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents 2801// "foo.(bar.baz).qux". 2802type UninterpretedOption_NamePart struct { 2803 state protoimpl.MessageState 2804 sizeCache protoimpl.SizeCache 2805 unknownFields protoimpl.UnknownFields 2806 2807 NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` 2808 IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` 2809} 2810 2811func (x *UninterpretedOption_NamePart) Reset() { 2812 *x = UninterpretedOption_NamePart{} 2813 if protoimpl.UnsafeEnabled { 2814 mi := &file_google_protobuf_descriptor_proto_msgTypes[24] 2815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2816 ms.StoreMessageInfo(mi) 2817 } 2818} 2819 2820func (x *UninterpretedOption_NamePart) String() string { 2821 return protoimpl.X.MessageStringOf(x) 2822} 2823 2824func (*UninterpretedOption_NamePart) ProtoMessage() {} 2825 2826func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message { 2827 mi := &file_google_protobuf_descriptor_proto_msgTypes[24] 2828 if protoimpl.UnsafeEnabled && x != nil { 2829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2830 if ms.LoadMessageInfo() == nil { 2831 ms.StoreMessageInfo(mi) 2832 } 2833 return ms 2834 } 2835 return mi.MessageOf(x) 2836} 2837 2838// Deprecated: Use UninterpretedOption_NamePart.ProtoReflect.Descriptor instead. 2839func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { 2840 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18, 0} 2841} 2842 2843func (x *UninterpretedOption_NamePart) GetNamePart() string { 2844 if x != nil && x.NamePart != nil { 2845 return *x.NamePart 2846 } 2847 return "" 2848} 2849 2850func (x *UninterpretedOption_NamePart) GetIsExtension() bool { 2851 if x != nil && x.IsExtension != nil { 2852 return *x.IsExtension 2853 } 2854 return false 2855} 2856 2857type SourceCodeInfo_Location struct { 2858 state protoimpl.MessageState 2859 sizeCache protoimpl.SizeCache 2860 unknownFields protoimpl.UnknownFields 2861 2862 // Identifies which part of the FileDescriptorProto was defined at this 2863 // location. 2864 // 2865 // Each element is a field number or an index. They form a path from 2866 // the root FileDescriptorProto to the place where the definition. For 2867 // example, this path: 2868 // [ 4, 3, 2, 7, 1 ] 2869 // refers to: 2870 // file.message_type(3) // 4, 3 2871 // .field(7) // 2, 7 2872 // .name() // 1 2873 // This is because FileDescriptorProto.message_type has field number 4: 2874 // repeated DescriptorProto message_type = 4; 2875 // and DescriptorProto.field has field number 2: 2876 // repeated FieldDescriptorProto field = 2; 2877 // and FieldDescriptorProto.name has field number 1: 2878 // optional string name = 1; 2879 // 2880 // Thus, the above path gives the location of a field name. If we removed 2881 // the last element: 2882 // [ 4, 3, 2, 7 ] 2883 // this path refers to the whole field declaration (from the beginning 2884 // of the label to the terminating semicolon). 2885 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 2886 // Always has exactly three or four elements: start line, start column, 2887 // end line (optional, otherwise assumed same as start line), end column. 2888 // These are packed into a single field for efficiency. Note that line 2889 // and column numbers are zero-based -- typically you will want to add 2890 // 1 to each before displaying to a user. 2891 Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"` 2892 // If this SourceCodeInfo represents a complete declaration, these are any 2893 // comments appearing before and after the declaration which appear to be 2894 // attached to the declaration. 2895 // 2896 // A series of line comments appearing on consecutive lines, with no other 2897 // tokens appearing on those lines, will be treated as a single comment. 2898 // 2899 // leading_detached_comments will keep paragraphs of comments that appear 2900 // before (but not connected to) the current element. Each paragraph, 2901 // separated by empty lines, will be one comment element in the repeated 2902 // field. 2903 // 2904 // Only the comment content is provided; comment markers (e.g. //) are 2905 // stripped out. For block comments, leading whitespace and an asterisk 2906 // will be stripped from the beginning of each line other than the first. 2907 // Newlines are included in the output. 2908 // 2909 // Examples: 2910 // 2911 // optional int32 foo = 1; // Comment attached to foo. 2912 // // Comment attached to bar. 2913 // optional int32 bar = 2; 2914 // 2915 // optional string baz = 3; 2916 // // Comment attached to baz. 2917 // // Another line attached to baz. 2918 // 2919 // // Comment attached to qux. 2920 // // 2921 // // Another line attached to qux. 2922 // optional double qux = 4; 2923 // 2924 // // Detached comment for corge. This is not leading or trailing comments 2925 // // to qux or corge because there are blank lines separating it from 2926 // // both. 2927 // 2928 // // Detached comment for corge paragraph 2. 2929 // 2930 // optional string corge = 5; 2931 // /* Block comment attached 2932 // * to corge. Leading asterisks 2933 // * will be removed. */ 2934 // /* Block comment attached to 2935 // * grault. */ 2936 // optional int32 grault = 6; 2937 // 2938 // // ignored detached comments. 2939 LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` 2940 TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` 2941 LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` 2942} 2943 2944func (x *SourceCodeInfo_Location) Reset() { 2945 *x = SourceCodeInfo_Location{} 2946 if protoimpl.UnsafeEnabled { 2947 mi := &file_google_protobuf_descriptor_proto_msgTypes[25] 2948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2949 ms.StoreMessageInfo(mi) 2950 } 2951} 2952 2953func (x *SourceCodeInfo_Location) String() string { 2954 return protoimpl.X.MessageStringOf(x) 2955} 2956 2957func (*SourceCodeInfo_Location) ProtoMessage() {} 2958 2959func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message { 2960 mi := &file_google_protobuf_descriptor_proto_msgTypes[25] 2961 if protoimpl.UnsafeEnabled && x != nil { 2962 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2963 if ms.LoadMessageInfo() == nil { 2964 ms.StoreMessageInfo(mi) 2965 } 2966 return ms 2967 } 2968 return mi.MessageOf(x) 2969} 2970 2971// Deprecated: Use SourceCodeInfo_Location.ProtoReflect.Descriptor instead. 2972func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { 2973 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0} 2974} 2975 2976func (x *SourceCodeInfo_Location) GetPath() []int32 { 2977 if x != nil { 2978 return x.Path 2979 } 2980 return nil 2981} 2982 2983func (x *SourceCodeInfo_Location) GetSpan() []int32 { 2984 if x != nil { 2985 return x.Span 2986 } 2987 return nil 2988} 2989 2990func (x *SourceCodeInfo_Location) GetLeadingComments() string { 2991 if x != nil && x.LeadingComments != nil { 2992 return *x.LeadingComments 2993 } 2994 return "" 2995} 2996 2997func (x *SourceCodeInfo_Location) GetTrailingComments() string { 2998 if x != nil && x.TrailingComments != nil { 2999 return *x.TrailingComments 3000 } 3001 return "" 3002} 3003 3004func (x *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { 3005 if x != nil { 3006 return x.LeadingDetachedComments 3007 } 3008 return nil 3009} 3010 3011type GeneratedCodeInfo_Annotation struct { 3012 state protoimpl.MessageState 3013 sizeCache protoimpl.SizeCache 3014 unknownFields protoimpl.UnknownFields 3015 3016 // Identifies the element in the original source .proto file. This field 3017 // is formatted the same as SourceCodeInfo.Location.path. 3018 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 3019 // Identifies the filesystem path to the original source .proto. 3020 SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"` 3021 // Identifies the starting offset in bytes in the generated code 3022 // that relates to the identified object. 3023 Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"` 3024 // Identifies the ending offset in bytes in the generated code that 3025 // relates to the identified offset. The end offset should be one past 3026 // the last relevant byte (so the length of the text = end - begin). 3027 End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` 3028} 3029 3030func (x *GeneratedCodeInfo_Annotation) Reset() { 3031 *x = GeneratedCodeInfo_Annotation{} 3032 if protoimpl.UnsafeEnabled { 3033 mi := &file_google_protobuf_descriptor_proto_msgTypes[26] 3034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3035 ms.StoreMessageInfo(mi) 3036 } 3037} 3038 3039func (x *GeneratedCodeInfo_Annotation) String() string { 3040 return protoimpl.X.MessageStringOf(x) 3041} 3042 3043func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} 3044 3045func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message { 3046 mi := &file_google_protobuf_descriptor_proto_msgTypes[26] 3047 if protoimpl.UnsafeEnabled && x != nil { 3048 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3049 if ms.LoadMessageInfo() == nil { 3050 ms.StoreMessageInfo(mi) 3051 } 3052 return ms 3053 } 3054 return mi.MessageOf(x) 3055} 3056 3057// Deprecated: Use GeneratedCodeInfo_Annotation.ProtoReflect.Descriptor instead. 3058func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { 3059 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0} 3060} 3061 3062func (x *GeneratedCodeInfo_Annotation) GetPath() []int32 { 3063 if x != nil { 3064 return x.Path 3065 } 3066 return nil 3067} 3068 3069func (x *GeneratedCodeInfo_Annotation) GetSourceFile() string { 3070 if x != nil && x.SourceFile != nil { 3071 return *x.SourceFile 3072 } 3073 return "" 3074} 3075 3076func (x *GeneratedCodeInfo_Annotation) GetBegin() int32 { 3077 if x != nil && x.Begin != nil { 3078 return *x.Begin 3079 } 3080 return 0 3081} 3082 3083func (x *GeneratedCodeInfo_Annotation) GetEnd() int32 { 3084 if x != nil && x.End != nil { 3085 return *x.End 3086 } 3087 return 0 3088} 3089 3090var File_google_protobuf_descriptor_proto protoreflect.FileDescriptor 3091 3092var file_google_protobuf_descriptor_proto_rawDesc = []byte{ 3093 0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3094 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 3095 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3096 0x62, 0x75, 0x66, 0x22, 0x4d, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 3097 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 3098 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3099 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 3100 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x66, 0x69, 3101 0x6c, 0x65, 0x22, 0xe4, 0x04, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 3102 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 3103 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 3104 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3105 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 3106 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 3107 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 3108 0x69, 0x63, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 3109 0x03, 0x28, 0x05, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x70, 0x65, 0x6e, 3110 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x64, 0x65, 3111 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 3112 0x77, 0x65, 0x61, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x43, 3113 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 3114 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3115 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 3116 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 3117 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 3118 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3119 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 3120 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, 3121 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 3122 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3123 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3124 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 3125 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, 3126 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 3127 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 3128 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 3129 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 3130 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 3131 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3132 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 3133 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3134 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 3135 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3136 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 3137 0x6f, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 3138 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 3139 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x22, 0xb9, 0x06, 0x0a, 0x0f, 0x44, 0x65, 3140 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 3141 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3142 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 3143 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3144 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 3145 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, 3146 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 3147 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3148 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3149 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 3150 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 3151 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3152 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 3153 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, 3154 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 3155 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3156 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 3157 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 3158 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x78, 0x74, 3159 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03, 3160 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3161 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 3162 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 3163 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 3164 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x65, 0x63, 3165 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3166 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 3167 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 3168 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 3169 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 3170 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 3171 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 3172 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 3173 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 3174 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 3175 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 3176 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 3177 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 3178 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 3179 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 3180 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 3181 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 3182 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 3183 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 3184 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 3185 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 3186 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 3187 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x37, 0x0a, 0x0d, 3188 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 3189 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 3190 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 3191 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x7c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 3192 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 3193 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 3194 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 3195 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3196 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 3197 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 3198 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 3199 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 3200 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 3201 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3202 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 3203 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 3204 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3205 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 3206 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 3207 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x74, 3208 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3209 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 3210 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 3211 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 3212 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 3213 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 3214 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 3215 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 3216 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 3217 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 3218 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 3219 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 3220 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 3221 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3222 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3223 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 3224 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3225 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3226 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3227 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xb6, 0x02, 0x0a, 0x04, 0x54, 0x79, 3228 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 3229 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 3230 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 3231 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 3232 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 3233 0x33, 0x32, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 3234 0x45, 0x44, 0x36, 0x34, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 3235 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 3236 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 3237 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 3238 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 3239 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 3240 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 3241 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54, 3242 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 3243 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x11, 0x0a, 3244 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x10, 3245 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 3246 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x36, 0x34, 3247 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 3248 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 3249 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 3250 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x50, 3251 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x63, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 3252 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 3253 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 3254 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 3255 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3256 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 3257 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe3, 0x02, 0x0a, 3258 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 3259 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 3260 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 3261 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3262 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 3263 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 3264 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x70, 0x74, 3265 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 3266 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 3267 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3268 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 3269 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3270 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 3271 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 3272 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 3273 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 3274 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 3275 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 3276 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 3277 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 3278 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 3279 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 3280 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 3281 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 3282 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 3283 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 3284 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x6f, 3285 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 3286 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 3287 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 3288 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, 3289 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 3290 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3291 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 3292 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3293 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 3294 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 3295 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3296 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3297 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 3298 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3299 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 3300 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 3301 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3302 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 3303 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 3304 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 3305 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 3306 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 3307 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3308 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3309 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x63, 0x6c, 3310 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x05, 3311 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 3312 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x10, 3313 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 3314 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x73, 3315 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x91, 3316 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 3317 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 3318 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 3319 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 3320 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 3321 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x6e, 3322 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 3323 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 3324 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x6a, 0x61, 0x76, 0x61, 0x4d, 0x75, 0x6c, 3325 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1d, 0x6a, 0x61, 3326 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x71, 0x75, 0x61, 3327 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 3328 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 3329 0x61, 0x74, 0x65, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 3330 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 3331 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 3332 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x53, 0x74, 0x72, 3333 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x74, 0x66, 0x38, 0x12, 0x53, 0x0a, 0x0c, 3334 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 3335 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3336 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3337 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x05, 0x53, 3338 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, 3339 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 3340 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 3341 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 3342 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 3343 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x63, 0x63, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 3344 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, 0x5f, 3345 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 3346 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 3347 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3348 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 3349 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, 3350 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x70, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 3351 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x14, 0x70, 0x68, 0x70, 3352 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 3353 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x12, 3354 0x70, 0x68, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3355 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 3356 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 3357 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f, 3358 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20, 3359 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61, 3360 0x62, 0x6c, 0x65, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 3361 0x63, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24, 3362 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 3363 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f, 3364 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 3365 0x0f, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 3366 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 3367 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65, 3368 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 3369 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 3370 0x68, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 3371 0x0d, 0x70, 0x68, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29, 3372 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 3373 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 3374 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01, 3375 0x28, 0x09, 0x52, 0x14, 0x70, 0x68, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 3376 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79, 3377 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 3378 0x72, 0x75, 0x62, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x14, 0x75, 3379 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 3380 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 3381 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 3382 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3383 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3384 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 3385 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01, 3386 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x12, 3387 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 3388 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x26, 3389 0x10, 0x27, 0x22, 0xd1, 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 3390 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 3391 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 3392 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d, 3393 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72, 3394 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 3395 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 3396 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 3397 0x6c, 0x73, 0x65, 0x52, 0x1c, 0x6e, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 3398 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 3399 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 3400 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 3401 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 3402 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70, 3403 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 3404 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 3405 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3406 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 3407 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 3408 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 3409 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 3410 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0xe2, 0x03, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 3411 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 3412 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3413 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 3414 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x06, 0x53, 0x54, 0x52, 3415 0x49, 0x4e, 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 3416 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 3417 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 3418 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3419 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3420 0x73, 0x2e, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 3421 0x4d, 0x41, 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x04, 0x6c, 3422 0x61, 0x7a, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 3423 0x52, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 3424 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 3425 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 3426 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 3427 0x73, 0x65, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 3428 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3429 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3430 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 3431 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 3432 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3433 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 3434 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10, 3435 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43, 3436 0x45, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 3437 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 3438 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 3439 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 3440 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x0c, 0x4f, 3441 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 3442 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 3443 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 3444 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 3445 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3446 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3447 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 3448 0x22, 0xc0, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3449 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 3450 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 3451 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 3452 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 3453 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 3454 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3455 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3456 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 3457 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 3458 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3459 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 3460 0x05, 0x10, 0x06, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 3461 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 3462 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 3463 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 3464 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 3465 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 3466 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3467 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 3468 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 3469 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 3470 0x80, 0x80, 0x80, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 3471 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 3472 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 3473 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, 3474 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 3475 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 3476 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3477 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 3478 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 3479 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 3480 0x80, 0x80, 0x02, 0x22, 0xe0, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 3481 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 3482 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 3483 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a, 0x11, 3484 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 3485 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3486 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 3487 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 3488 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 3489 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10, 0x69, 3490 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 3491 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 3492 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 3493 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3494 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 3495 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 3496 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64, 0x65, 3497 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 3498 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 3499 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 0x44, 3500 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 3501 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 3502 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e, 0x74, 3503 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 3504 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 3505 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 3506 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3507 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3508 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 3509 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x65, 3510 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 3511 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 3512 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 3513 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 3514 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 3515 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 3516 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 3517 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 3518 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 3519 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 3520 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 3521 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 3522 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 3523 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x50, 3524 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 3525 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 3526 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 3527 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 3528 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 3529 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3530 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3531 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 3532 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3533 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, 3534 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 3535 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 3536 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 3537 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 3538 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 3539 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 3540 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 3541 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 3542 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 3543 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 3544 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 3545 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 3546 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd1, 0x01, 3547 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 3548 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 3549 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3550 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 3551 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 3552 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 3553 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3554 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 3555 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 3556 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 3557 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 3558 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 3559 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 3560 0x64, 0x42, 0x7e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3561 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3562 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f, 3563 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 3564 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 3565 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 3566 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 3567 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 3568 0x6e, 3569} 3570 3571var ( 3572 file_google_protobuf_descriptor_proto_rawDescOnce sync.Once 3573 file_google_protobuf_descriptor_proto_rawDescData = file_google_protobuf_descriptor_proto_rawDesc 3574) 3575 3576func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte { 3577 file_google_protobuf_descriptor_proto_rawDescOnce.Do(func() { 3578 file_google_protobuf_descriptor_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_descriptor_proto_rawDescData) 3579 }) 3580 return file_google_protobuf_descriptor_proto_rawDescData 3581} 3582 3583var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 6) 3584var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 27) 3585var file_google_protobuf_descriptor_proto_goTypes = []interface{}{ 3586 (FieldDescriptorProto_Type)(0), // 0: google.protobuf.FieldDescriptorProto.Type 3587 (FieldDescriptorProto_Label)(0), // 1: google.protobuf.FieldDescriptorProto.Label 3588 (FileOptions_OptimizeMode)(0), // 2: google.protobuf.FileOptions.OptimizeMode 3589 (FieldOptions_CType)(0), // 3: google.protobuf.FieldOptions.CType 3590 (FieldOptions_JSType)(0), // 4: google.protobuf.FieldOptions.JSType 3591 (MethodOptions_IdempotencyLevel)(0), // 5: google.protobuf.MethodOptions.IdempotencyLevel 3592 (*FileDescriptorSet)(nil), // 6: google.protobuf.FileDescriptorSet 3593 (*FileDescriptorProto)(nil), // 7: google.protobuf.FileDescriptorProto 3594 (*DescriptorProto)(nil), // 8: google.protobuf.DescriptorProto 3595 (*ExtensionRangeOptions)(nil), // 9: google.protobuf.ExtensionRangeOptions 3596 (*FieldDescriptorProto)(nil), // 10: google.protobuf.FieldDescriptorProto 3597 (*OneofDescriptorProto)(nil), // 11: google.protobuf.OneofDescriptorProto 3598 (*EnumDescriptorProto)(nil), // 12: google.protobuf.EnumDescriptorProto 3599 (*EnumValueDescriptorProto)(nil), // 13: google.protobuf.EnumValueDescriptorProto 3600 (*ServiceDescriptorProto)(nil), // 14: google.protobuf.ServiceDescriptorProto 3601 (*MethodDescriptorProto)(nil), // 15: google.protobuf.MethodDescriptorProto 3602 (*FileOptions)(nil), // 16: google.protobuf.FileOptions 3603 (*MessageOptions)(nil), // 17: google.protobuf.MessageOptions 3604 (*FieldOptions)(nil), // 18: google.protobuf.FieldOptions 3605 (*OneofOptions)(nil), // 19: google.protobuf.OneofOptions 3606 (*EnumOptions)(nil), // 20: google.protobuf.EnumOptions 3607 (*EnumValueOptions)(nil), // 21: google.protobuf.EnumValueOptions 3608 (*ServiceOptions)(nil), // 22: google.protobuf.ServiceOptions 3609 (*MethodOptions)(nil), // 23: google.protobuf.MethodOptions 3610 (*UninterpretedOption)(nil), // 24: google.protobuf.UninterpretedOption 3611 (*SourceCodeInfo)(nil), // 25: google.protobuf.SourceCodeInfo 3612 (*GeneratedCodeInfo)(nil), // 26: google.protobuf.GeneratedCodeInfo 3613 (*DescriptorProto_ExtensionRange)(nil), // 27: google.protobuf.DescriptorProto.ExtensionRange 3614 (*DescriptorProto_ReservedRange)(nil), // 28: google.protobuf.DescriptorProto.ReservedRange 3615 (*EnumDescriptorProto_EnumReservedRange)(nil), // 29: google.protobuf.EnumDescriptorProto.EnumReservedRange 3616 (*UninterpretedOption_NamePart)(nil), // 30: google.protobuf.UninterpretedOption.NamePart 3617 (*SourceCodeInfo_Location)(nil), // 31: google.protobuf.SourceCodeInfo.Location 3618 (*GeneratedCodeInfo_Annotation)(nil), // 32: google.protobuf.GeneratedCodeInfo.Annotation 3619} 3620var file_google_protobuf_descriptor_proto_depIdxs = []int32{ 3621 7, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto 3622 8, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto 3623 12, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 3624 14, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto 3625 10, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 3626 16, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions 3627 25, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo 3628 10, // 7: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto 3629 10, // 8: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 3630 8, // 9: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto 3631 12, // 10: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 3632 27, // 11: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange 3633 11, // 12: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto 3634 17, // 13: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions 3635 28, // 14: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange 3636 24, // 15: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3637 1, // 16: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label 3638 0, // 17: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type 3639 18, // 18: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions 3640 19, // 19: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions 3641 13, // 20: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto 3642 20, // 21: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions 3643 29, // 22: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange 3644 21, // 23: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions 3645 15, // 24: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto 3646 22, // 25: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions 3647 23, // 26: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions 3648 2, // 27: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode 3649 24, // 28: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3650 24, // 29: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3651 3, // 30: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType 3652 4, // 31: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType 3653 24, // 32: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3654 24, // 33: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3655 24, // 34: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3656 24, // 35: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3657 24, // 36: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3658 5, // 37: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel 3659 24, // 38: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3660 30, // 39: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart 3661 31, // 40: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location 3662 32, // 41: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation 3663 9, // 42: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions 3664 43, // [43:43] is the sub-list for method output_type 3665 43, // [43:43] is the sub-list for method input_type 3666 43, // [43:43] is the sub-list for extension type_name 3667 43, // [43:43] is the sub-list for extension extendee 3668 0, // [0:43] is the sub-list for field type_name 3669} 3670 3671func init() { file_google_protobuf_descriptor_proto_init() } 3672func file_google_protobuf_descriptor_proto_init() { 3673 if File_google_protobuf_descriptor_proto != nil { 3674 return 3675 } 3676 if !protoimpl.UnsafeEnabled { 3677 file_google_protobuf_descriptor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3678 switch v := v.(*FileDescriptorSet); i { 3679 case 0: 3680 return &v.state 3681 case 1: 3682 return &v.sizeCache 3683 case 2: 3684 return &v.unknownFields 3685 default: 3686 return nil 3687 } 3688 } 3689 file_google_protobuf_descriptor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3690 switch v := v.(*FileDescriptorProto); i { 3691 case 0: 3692 return &v.state 3693 case 1: 3694 return &v.sizeCache 3695 case 2: 3696 return &v.unknownFields 3697 default: 3698 return nil 3699 } 3700 } 3701 file_google_protobuf_descriptor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3702 switch v := v.(*DescriptorProto); i { 3703 case 0: 3704 return &v.state 3705 case 1: 3706 return &v.sizeCache 3707 case 2: 3708 return &v.unknownFields 3709 default: 3710 return nil 3711 } 3712 } 3713 file_google_protobuf_descriptor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3714 switch v := v.(*ExtensionRangeOptions); i { 3715 case 0: 3716 return &v.state 3717 case 1: 3718 return &v.sizeCache 3719 case 2: 3720 return &v.unknownFields 3721 case 3: 3722 return &v.extensionFields 3723 default: 3724 return nil 3725 } 3726 } 3727 file_google_protobuf_descriptor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3728 switch v := v.(*FieldDescriptorProto); i { 3729 case 0: 3730 return &v.state 3731 case 1: 3732 return &v.sizeCache 3733 case 2: 3734 return &v.unknownFields 3735 default: 3736 return nil 3737 } 3738 } 3739 file_google_protobuf_descriptor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3740 switch v := v.(*OneofDescriptorProto); i { 3741 case 0: 3742 return &v.state 3743 case 1: 3744 return &v.sizeCache 3745 case 2: 3746 return &v.unknownFields 3747 default: 3748 return nil 3749 } 3750 } 3751 file_google_protobuf_descriptor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3752 switch v := v.(*EnumDescriptorProto); i { 3753 case 0: 3754 return &v.state 3755 case 1: 3756 return &v.sizeCache 3757 case 2: 3758 return &v.unknownFields 3759 default: 3760 return nil 3761 } 3762 } 3763 file_google_protobuf_descriptor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3764 switch v := v.(*EnumValueDescriptorProto); i { 3765 case 0: 3766 return &v.state 3767 case 1: 3768 return &v.sizeCache 3769 case 2: 3770 return &v.unknownFields 3771 default: 3772 return nil 3773 } 3774 } 3775 file_google_protobuf_descriptor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3776 switch v := v.(*ServiceDescriptorProto); i { 3777 case 0: 3778 return &v.state 3779 case 1: 3780 return &v.sizeCache 3781 case 2: 3782 return &v.unknownFields 3783 default: 3784 return nil 3785 } 3786 } 3787 file_google_protobuf_descriptor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3788 switch v := v.(*MethodDescriptorProto); i { 3789 case 0: 3790 return &v.state 3791 case 1: 3792 return &v.sizeCache 3793 case 2: 3794 return &v.unknownFields 3795 default: 3796 return nil 3797 } 3798 } 3799 file_google_protobuf_descriptor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3800 switch v := v.(*FileOptions); i { 3801 case 0: 3802 return &v.state 3803 case 1: 3804 return &v.sizeCache 3805 case 2: 3806 return &v.unknownFields 3807 case 3: 3808 return &v.extensionFields 3809 default: 3810 return nil 3811 } 3812 } 3813 file_google_protobuf_descriptor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3814 switch v := v.(*MessageOptions); i { 3815 case 0: 3816 return &v.state 3817 case 1: 3818 return &v.sizeCache 3819 case 2: 3820 return &v.unknownFields 3821 case 3: 3822 return &v.extensionFields 3823 default: 3824 return nil 3825 } 3826 } 3827 file_google_protobuf_descriptor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3828 switch v := v.(*FieldOptions); i { 3829 case 0: 3830 return &v.state 3831 case 1: 3832 return &v.sizeCache 3833 case 2: 3834 return &v.unknownFields 3835 case 3: 3836 return &v.extensionFields 3837 default: 3838 return nil 3839 } 3840 } 3841 file_google_protobuf_descriptor_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3842 switch v := v.(*OneofOptions); i { 3843 case 0: 3844 return &v.state 3845 case 1: 3846 return &v.sizeCache 3847 case 2: 3848 return &v.unknownFields 3849 case 3: 3850 return &v.extensionFields 3851 default: 3852 return nil 3853 } 3854 } 3855 file_google_protobuf_descriptor_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3856 switch v := v.(*EnumOptions); i { 3857 case 0: 3858 return &v.state 3859 case 1: 3860 return &v.sizeCache 3861 case 2: 3862 return &v.unknownFields 3863 case 3: 3864 return &v.extensionFields 3865 default: 3866 return nil 3867 } 3868 } 3869 file_google_protobuf_descriptor_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3870 switch v := v.(*EnumValueOptions); i { 3871 case 0: 3872 return &v.state 3873 case 1: 3874 return &v.sizeCache 3875 case 2: 3876 return &v.unknownFields 3877 case 3: 3878 return &v.extensionFields 3879 default: 3880 return nil 3881 } 3882 } 3883 file_google_protobuf_descriptor_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3884 switch v := v.(*ServiceOptions); i { 3885 case 0: 3886 return &v.state 3887 case 1: 3888 return &v.sizeCache 3889 case 2: 3890 return &v.unknownFields 3891 case 3: 3892 return &v.extensionFields 3893 default: 3894 return nil 3895 } 3896 } 3897 file_google_protobuf_descriptor_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3898 switch v := v.(*MethodOptions); i { 3899 case 0: 3900 return &v.state 3901 case 1: 3902 return &v.sizeCache 3903 case 2: 3904 return &v.unknownFields 3905 case 3: 3906 return &v.extensionFields 3907 default: 3908 return nil 3909 } 3910 } 3911 file_google_protobuf_descriptor_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3912 switch v := v.(*UninterpretedOption); i { 3913 case 0: 3914 return &v.state 3915 case 1: 3916 return &v.sizeCache 3917 case 2: 3918 return &v.unknownFields 3919 default: 3920 return nil 3921 } 3922 } 3923 file_google_protobuf_descriptor_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3924 switch v := v.(*SourceCodeInfo); i { 3925 case 0: 3926 return &v.state 3927 case 1: 3928 return &v.sizeCache 3929 case 2: 3930 return &v.unknownFields 3931 default: 3932 return nil 3933 } 3934 } 3935 file_google_protobuf_descriptor_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3936 switch v := v.(*GeneratedCodeInfo); i { 3937 case 0: 3938 return &v.state 3939 case 1: 3940 return &v.sizeCache 3941 case 2: 3942 return &v.unknownFields 3943 default: 3944 return nil 3945 } 3946 } 3947 file_google_protobuf_descriptor_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3948 switch v := v.(*DescriptorProto_ExtensionRange); i { 3949 case 0: 3950 return &v.state 3951 case 1: 3952 return &v.sizeCache 3953 case 2: 3954 return &v.unknownFields 3955 default: 3956 return nil 3957 } 3958 } 3959 file_google_protobuf_descriptor_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3960 switch v := v.(*DescriptorProto_ReservedRange); i { 3961 case 0: 3962 return &v.state 3963 case 1: 3964 return &v.sizeCache 3965 case 2: 3966 return &v.unknownFields 3967 default: 3968 return nil 3969 } 3970 } 3971 file_google_protobuf_descriptor_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3972 switch v := v.(*EnumDescriptorProto_EnumReservedRange); i { 3973 case 0: 3974 return &v.state 3975 case 1: 3976 return &v.sizeCache 3977 case 2: 3978 return &v.unknownFields 3979 default: 3980 return nil 3981 } 3982 } 3983 file_google_protobuf_descriptor_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3984 switch v := v.(*UninterpretedOption_NamePart); i { 3985 case 0: 3986 return &v.state 3987 case 1: 3988 return &v.sizeCache 3989 case 2: 3990 return &v.unknownFields 3991 default: 3992 return nil 3993 } 3994 } 3995 file_google_protobuf_descriptor_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3996 switch v := v.(*SourceCodeInfo_Location); i { 3997 case 0: 3998 return &v.state 3999 case 1: 4000 return &v.sizeCache 4001 case 2: 4002 return &v.unknownFields 4003 default: 4004 return nil 4005 } 4006 } 4007 file_google_protobuf_descriptor_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 4008 switch v := v.(*GeneratedCodeInfo_Annotation); i { 4009 case 0: 4010 return &v.state 4011 case 1: 4012 return &v.sizeCache 4013 case 2: 4014 return &v.unknownFields 4015 default: 4016 return nil 4017 } 4018 } 4019 } 4020 type x struct{} 4021 out := protoimpl.TypeBuilder{ 4022 File: protoimpl.DescBuilder{ 4023 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4024 RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc, 4025 NumEnums: 6, 4026 NumMessages: 27, 4027 NumExtensions: 0, 4028 NumServices: 0, 4029 }, 4030 GoTypes: file_google_protobuf_descriptor_proto_goTypes, 4031 DependencyIndexes: file_google_protobuf_descriptor_proto_depIdxs, 4032 EnumInfos: file_google_protobuf_descriptor_proto_enumTypes, 4033 MessageInfos: file_google_protobuf_descriptor_proto_msgTypes, 4034 }.Build() 4035 File_google_protobuf_descriptor_proto = out.File 4036 file_google_protobuf_descriptor_proto_rawDesc = nil 4037 file_google_protobuf_descriptor_proto_goTypes = nil 4038 file_google_protobuf_descriptor_proto_depIdxs = nil 4039} 4040