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