1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/cloud/translate/v3beta1/translation_service.proto 20 21package translate 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 longrunning "google.golang.org/genproto/googleapis/longrunning" 30 _ "google.golang.org/genproto/googleapis/rpc/status" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 37) 38 39const ( 40 // Verify that this generated code is sufficiently up-to-date. 41 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 42 // Verify that runtime/protoimpl is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 44) 45 46// State of the job. 47type BatchTranslateMetadata_State int32 48 49const ( 50 // Invalid. 51 BatchTranslateMetadata_STATE_UNSPECIFIED BatchTranslateMetadata_State = 0 52 // Request is being processed. 53 BatchTranslateMetadata_RUNNING BatchTranslateMetadata_State = 1 54 // The batch is processed, and at least one item was successfully 55 // processed. 56 BatchTranslateMetadata_SUCCEEDED BatchTranslateMetadata_State = 2 57 // The batch is done and no item was successfully processed. 58 BatchTranslateMetadata_FAILED BatchTranslateMetadata_State = 3 59 // Request is in the process of being canceled after caller invoked 60 // longrunning.Operations.CancelOperation on the request id. 61 BatchTranslateMetadata_CANCELLING BatchTranslateMetadata_State = 4 62 // The batch is done after the user has called the 63 // longrunning.Operations.CancelOperation. Any records processed before the 64 // cancel command are output as specified in the request. 65 BatchTranslateMetadata_CANCELLED BatchTranslateMetadata_State = 5 66) 67 68// Enum value maps for BatchTranslateMetadata_State. 69var ( 70 BatchTranslateMetadata_State_name = map[int32]string{ 71 0: "STATE_UNSPECIFIED", 72 1: "RUNNING", 73 2: "SUCCEEDED", 74 3: "FAILED", 75 4: "CANCELLING", 76 5: "CANCELLED", 77 } 78 BatchTranslateMetadata_State_value = map[string]int32{ 79 "STATE_UNSPECIFIED": 0, 80 "RUNNING": 1, 81 "SUCCEEDED": 2, 82 "FAILED": 3, 83 "CANCELLING": 4, 84 "CANCELLED": 5, 85 } 86) 87 88func (x BatchTranslateMetadata_State) Enum() *BatchTranslateMetadata_State { 89 p := new(BatchTranslateMetadata_State) 90 *p = x 91 return p 92} 93 94func (x BatchTranslateMetadata_State) String() string { 95 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 96} 97 98func (BatchTranslateMetadata_State) Descriptor() protoreflect.EnumDescriptor { 99 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[0].Descriptor() 100} 101 102func (BatchTranslateMetadata_State) Type() protoreflect.EnumType { 103 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[0] 104} 105 106func (x BatchTranslateMetadata_State) Number() protoreflect.EnumNumber { 107 return protoreflect.EnumNumber(x) 108} 109 110// Deprecated: Use BatchTranslateMetadata_State.Descriptor instead. 111func (BatchTranslateMetadata_State) EnumDescriptor() ([]byte, []int) { 112 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{20, 0} 113} 114 115// Enumerates the possible states that the creation request can be in. 116type CreateGlossaryMetadata_State int32 117 118const ( 119 // Invalid. 120 CreateGlossaryMetadata_STATE_UNSPECIFIED CreateGlossaryMetadata_State = 0 121 // Request is being processed. 122 CreateGlossaryMetadata_RUNNING CreateGlossaryMetadata_State = 1 123 // The glossary was successfully created. 124 CreateGlossaryMetadata_SUCCEEDED CreateGlossaryMetadata_State = 2 125 // Failed to create the glossary. 126 CreateGlossaryMetadata_FAILED CreateGlossaryMetadata_State = 3 127 // Request is in the process of being canceled after caller invoked 128 // longrunning.Operations.CancelOperation on the request id. 129 CreateGlossaryMetadata_CANCELLING CreateGlossaryMetadata_State = 4 130 // The glossary creation request was successfully canceled. 131 CreateGlossaryMetadata_CANCELLED CreateGlossaryMetadata_State = 5 132) 133 134// Enum value maps for CreateGlossaryMetadata_State. 135var ( 136 CreateGlossaryMetadata_State_name = map[int32]string{ 137 0: "STATE_UNSPECIFIED", 138 1: "RUNNING", 139 2: "SUCCEEDED", 140 3: "FAILED", 141 4: "CANCELLING", 142 5: "CANCELLED", 143 } 144 CreateGlossaryMetadata_State_value = map[string]int32{ 145 "STATE_UNSPECIFIED": 0, 146 "RUNNING": 1, 147 "SUCCEEDED": 2, 148 "FAILED": 3, 149 "CANCELLING": 4, 150 "CANCELLED": 5, 151 } 152) 153 154func (x CreateGlossaryMetadata_State) Enum() *CreateGlossaryMetadata_State { 155 p := new(CreateGlossaryMetadata_State) 156 *p = x 157 return p 158} 159 160func (x CreateGlossaryMetadata_State) String() string { 161 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 162} 163 164func (CreateGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor { 165 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[1].Descriptor() 166} 167 168func (CreateGlossaryMetadata_State) Type() protoreflect.EnumType { 169 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[1] 170} 171 172func (x CreateGlossaryMetadata_State) Number() protoreflect.EnumNumber { 173 return protoreflect.EnumNumber(x) 174} 175 176// Deprecated: Use CreateGlossaryMetadata_State.Descriptor instead. 177func (CreateGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) { 178 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{29, 0} 179} 180 181// Enumerates the possible states that the creation request can be in. 182type DeleteGlossaryMetadata_State int32 183 184const ( 185 // Invalid. 186 DeleteGlossaryMetadata_STATE_UNSPECIFIED DeleteGlossaryMetadata_State = 0 187 // Request is being processed. 188 DeleteGlossaryMetadata_RUNNING DeleteGlossaryMetadata_State = 1 189 // The glossary was successfully deleted. 190 DeleteGlossaryMetadata_SUCCEEDED DeleteGlossaryMetadata_State = 2 191 // Failed to delete the glossary. 192 DeleteGlossaryMetadata_FAILED DeleteGlossaryMetadata_State = 3 193 // Request is in the process of being canceled after caller invoked 194 // longrunning.Operations.CancelOperation on the request id. 195 DeleteGlossaryMetadata_CANCELLING DeleteGlossaryMetadata_State = 4 196 // The glossary deletion request was successfully canceled. 197 DeleteGlossaryMetadata_CANCELLED DeleteGlossaryMetadata_State = 5 198) 199 200// Enum value maps for DeleteGlossaryMetadata_State. 201var ( 202 DeleteGlossaryMetadata_State_name = map[int32]string{ 203 0: "STATE_UNSPECIFIED", 204 1: "RUNNING", 205 2: "SUCCEEDED", 206 3: "FAILED", 207 4: "CANCELLING", 208 5: "CANCELLED", 209 } 210 DeleteGlossaryMetadata_State_value = map[string]int32{ 211 "STATE_UNSPECIFIED": 0, 212 "RUNNING": 1, 213 "SUCCEEDED": 2, 214 "FAILED": 3, 215 "CANCELLING": 4, 216 "CANCELLED": 5, 217 } 218) 219 220func (x DeleteGlossaryMetadata_State) Enum() *DeleteGlossaryMetadata_State { 221 p := new(DeleteGlossaryMetadata_State) 222 *p = x 223 return p 224} 225 226func (x DeleteGlossaryMetadata_State) String() string { 227 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 228} 229 230func (DeleteGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor { 231 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[2].Descriptor() 232} 233 234func (DeleteGlossaryMetadata_State) Type() protoreflect.EnumType { 235 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[2] 236} 237 238func (x DeleteGlossaryMetadata_State) Number() protoreflect.EnumNumber { 239 return protoreflect.EnumNumber(x) 240} 241 242// Deprecated: Use DeleteGlossaryMetadata_State.Descriptor instead. 243func (DeleteGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) { 244 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{30, 0} 245} 246 247// State of the job. 248type BatchTranslateDocumentMetadata_State int32 249 250const ( 251 // Invalid. 252 BatchTranslateDocumentMetadata_STATE_UNSPECIFIED BatchTranslateDocumentMetadata_State = 0 253 // Request is being processed. 254 BatchTranslateDocumentMetadata_RUNNING BatchTranslateDocumentMetadata_State = 1 255 // The batch is processed, and at least one item was successfully processed. 256 BatchTranslateDocumentMetadata_SUCCEEDED BatchTranslateDocumentMetadata_State = 2 257 // The batch is done and no item was successfully processed. 258 BatchTranslateDocumentMetadata_FAILED BatchTranslateDocumentMetadata_State = 3 259 // Request is in the process of being canceled after caller invoked 260 // longrunning.Operations.CancelOperation on the request id. 261 BatchTranslateDocumentMetadata_CANCELLING BatchTranslateDocumentMetadata_State = 4 262 // The batch is done after the user has called the 263 // longrunning.Operations.CancelOperation. Any records processed before the 264 // cancel command are output as specified in the request. 265 BatchTranslateDocumentMetadata_CANCELLED BatchTranslateDocumentMetadata_State = 5 266) 267 268// Enum value maps for BatchTranslateDocumentMetadata_State. 269var ( 270 BatchTranslateDocumentMetadata_State_name = map[int32]string{ 271 0: "STATE_UNSPECIFIED", 272 1: "RUNNING", 273 2: "SUCCEEDED", 274 3: "FAILED", 275 4: "CANCELLING", 276 5: "CANCELLED", 277 } 278 BatchTranslateDocumentMetadata_State_value = map[string]int32{ 279 "STATE_UNSPECIFIED": 0, 280 "RUNNING": 1, 281 "SUCCEEDED": 2, 282 "FAILED": 3, 283 "CANCELLING": 4, 284 "CANCELLED": 5, 285 } 286) 287 288func (x BatchTranslateDocumentMetadata_State) Enum() *BatchTranslateDocumentMetadata_State { 289 p := new(BatchTranslateDocumentMetadata_State) 290 *p = x 291 return p 292} 293 294func (x BatchTranslateDocumentMetadata_State) String() string { 295 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 296} 297 298func (BatchTranslateDocumentMetadata_State) Descriptor() protoreflect.EnumDescriptor { 299 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[3].Descriptor() 300} 301 302func (BatchTranslateDocumentMetadata_State) Type() protoreflect.EnumType { 303 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[3] 304} 305 306func (x BatchTranslateDocumentMetadata_State) Number() protoreflect.EnumNumber { 307 return protoreflect.EnumNumber(x) 308} 309 310// Deprecated: Use BatchTranslateDocumentMetadata_State.Descriptor instead. 311func (BatchTranslateDocumentMetadata_State) EnumDescriptor() ([]byte, []int) { 312 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{36, 0} 313} 314 315// Configures which glossary should be used for a specific target language, 316// and defines options for applying that glossary. 317type TranslateTextGlossaryConfig struct { 318 state protoimpl.MessageState 319 sizeCache protoimpl.SizeCache 320 unknownFields protoimpl.UnknownFields 321 322 // Required. Specifies the glossary used for this translation. Use 323 // this format: projects/*/locations/*/glossaries/* 324 Glossary string `protobuf:"bytes,1,opt,name=glossary,proto3" json:"glossary,omitempty"` 325 // Optional. Indicates match is case-insensitive. 326 // Default value is false if missing. 327 IgnoreCase bool `protobuf:"varint,2,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"` 328} 329 330func (x *TranslateTextGlossaryConfig) Reset() { 331 *x = TranslateTextGlossaryConfig{} 332 if protoimpl.UnsafeEnabled { 333 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0] 334 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 335 ms.StoreMessageInfo(mi) 336 } 337} 338 339func (x *TranslateTextGlossaryConfig) String() string { 340 return protoimpl.X.MessageStringOf(x) 341} 342 343func (*TranslateTextGlossaryConfig) ProtoMessage() {} 344 345func (x *TranslateTextGlossaryConfig) ProtoReflect() protoreflect.Message { 346 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0] 347 if protoimpl.UnsafeEnabled && x != nil { 348 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 349 if ms.LoadMessageInfo() == nil { 350 ms.StoreMessageInfo(mi) 351 } 352 return ms 353 } 354 return mi.MessageOf(x) 355} 356 357// Deprecated: Use TranslateTextGlossaryConfig.ProtoReflect.Descriptor instead. 358func (*TranslateTextGlossaryConfig) Descriptor() ([]byte, []int) { 359 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{0} 360} 361 362func (x *TranslateTextGlossaryConfig) GetGlossary() string { 363 if x != nil { 364 return x.Glossary 365 } 366 return "" 367} 368 369func (x *TranslateTextGlossaryConfig) GetIgnoreCase() bool { 370 if x != nil { 371 return x.IgnoreCase 372 } 373 return false 374} 375 376// The request message for synchronous translation. 377type TranslateTextRequest struct { 378 state protoimpl.MessageState 379 sizeCache protoimpl.SizeCache 380 unknownFields protoimpl.UnknownFields 381 382 // Required. The content of the input in string format. 383 // We recommend the total content be less than 30k codepoints. The max length 384 // of this field is 1024. 385 // Use BatchTranslateText for larger text. 386 Contents []string `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` 387 // Optional. The format of the source text, for example, "text/html", 388 // "text/plain". If left blank, the MIME type defaults to "text/html". 389 MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 390 // Optional. The BCP-47 language code of the input text if 391 // known, for example, "en-US" or "sr-Latn". Supported language codes are 392 // listed in Language Support. If the source language isn't specified, the API 393 // attempts to identify the source language automatically and returns the 394 // source language within the response. 395 SourceLanguageCode string `protobuf:"bytes,4,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 396 // Required. The BCP-47 language code to use for translation of the input 397 // text, set to one of the language codes listed in Language Support. 398 TargetLanguageCode string `protobuf:"bytes,5,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` 399 // Required. Project or location to make a call. Must refer to a caller's 400 // project. 401 // 402 // Format: `projects/{project-number-or-id}` or 403 // `projects/{project-number-or-id}/locations/{location-id}`. 404 // 405 // For global calls, use `projects/{project-number-or-id}/locations/global` or 406 // `projects/{project-number-or-id}`. 407 // 408 // Non-global location is required for requests using AutoML models or 409 // custom glossaries. 410 // 411 // Models and glossaries must be within the same region (have same 412 // location-id), otherwise an INVALID_ARGUMENT (400) error is returned. 413 Parent string `protobuf:"bytes,8,opt,name=parent,proto3" json:"parent,omitempty"` 414 // Optional. The `model` type requested for this translation. 415 // 416 // The format depends on model type: 417 // 418 // - AutoML Translation models: 419 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 420 // 421 // - General (built-in) models: 422 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 423 // 424 // 425 // For global (non-regionalized) requests, use `location-id` `global`. 426 // For example, 427 // `projects/{project-number-or-id}/locations/global/models/general/nmt`. 428 // 429 // If not provided, the default Google model (NMT) will be used 430 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"` 431 // Optional. Glossary to be applied. The glossary must be 432 // within the same region (have the same location-id) as the model, otherwise 433 // an INVALID_ARGUMENT (400) error is returned. 434 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 435 // Optional. The labels with user-defined metadata for the request. 436 // 437 // Label keys and values can be no longer than 63 characters 438 // (Unicode codepoints), can only contain lowercase letters, numeric 439 // characters, underscores and dashes. International characters are allowed. 440 // Label values are optional. Label keys must start with a letter. 441 // 442 // See https://cloud.google.com/translate/docs/labels for more information. 443 Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 444} 445 446func (x *TranslateTextRequest) Reset() { 447 *x = TranslateTextRequest{} 448 if protoimpl.UnsafeEnabled { 449 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1] 450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 451 ms.StoreMessageInfo(mi) 452 } 453} 454 455func (x *TranslateTextRequest) String() string { 456 return protoimpl.X.MessageStringOf(x) 457} 458 459func (*TranslateTextRequest) ProtoMessage() {} 460 461func (x *TranslateTextRequest) ProtoReflect() protoreflect.Message { 462 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1] 463 if protoimpl.UnsafeEnabled && x != nil { 464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 465 if ms.LoadMessageInfo() == nil { 466 ms.StoreMessageInfo(mi) 467 } 468 return ms 469 } 470 return mi.MessageOf(x) 471} 472 473// Deprecated: Use TranslateTextRequest.ProtoReflect.Descriptor instead. 474func (*TranslateTextRequest) Descriptor() ([]byte, []int) { 475 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{1} 476} 477 478func (x *TranslateTextRequest) GetContents() []string { 479 if x != nil { 480 return x.Contents 481 } 482 return nil 483} 484 485func (x *TranslateTextRequest) GetMimeType() string { 486 if x != nil { 487 return x.MimeType 488 } 489 return "" 490} 491 492func (x *TranslateTextRequest) GetSourceLanguageCode() string { 493 if x != nil { 494 return x.SourceLanguageCode 495 } 496 return "" 497} 498 499func (x *TranslateTextRequest) GetTargetLanguageCode() string { 500 if x != nil { 501 return x.TargetLanguageCode 502 } 503 return "" 504} 505 506func (x *TranslateTextRequest) GetParent() string { 507 if x != nil { 508 return x.Parent 509 } 510 return "" 511} 512 513func (x *TranslateTextRequest) GetModel() string { 514 if x != nil { 515 return x.Model 516 } 517 return "" 518} 519 520func (x *TranslateTextRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig { 521 if x != nil { 522 return x.GlossaryConfig 523 } 524 return nil 525} 526 527func (x *TranslateTextRequest) GetLabels() map[string]string { 528 if x != nil { 529 return x.Labels 530 } 531 return nil 532} 533 534type TranslateTextResponse struct { 535 state protoimpl.MessageState 536 sizeCache protoimpl.SizeCache 537 unknownFields protoimpl.UnknownFields 538 539 // Text translation responses with no glossary applied. 540 // This field has the same length as 541 // [`contents`][google.cloud.translation.v3beta1.TranslateTextRequest.contents]. 542 Translations []*Translation `protobuf:"bytes,1,rep,name=translations,proto3" json:"translations,omitempty"` 543 // Text translation responses if a glossary is provided in the request. 544 // This can be the same as 545 // [`translations`][google.cloud.translation.v3beta1.TranslateTextResponse.translations] 546 // if no terms apply. This field has the same length as 547 // [`contents`][google.cloud.translation.v3beta1.TranslateTextRequest.contents]. 548 GlossaryTranslations []*Translation `protobuf:"bytes,3,rep,name=glossary_translations,json=glossaryTranslations,proto3" json:"glossary_translations,omitempty"` 549} 550 551func (x *TranslateTextResponse) Reset() { 552 *x = TranslateTextResponse{} 553 if protoimpl.UnsafeEnabled { 554 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2] 555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 556 ms.StoreMessageInfo(mi) 557 } 558} 559 560func (x *TranslateTextResponse) String() string { 561 return protoimpl.X.MessageStringOf(x) 562} 563 564func (*TranslateTextResponse) ProtoMessage() {} 565 566func (x *TranslateTextResponse) ProtoReflect() protoreflect.Message { 567 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2] 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 TranslateTextResponse.ProtoReflect.Descriptor instead. 579func (*TranslateTextResponse) Descriptor() ([]byte, []int) { 580 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{2} 581} 582 583func (x *TranslateTextResponse) GetTranslations() []*Translation { 584 if x != nil { 585 return x.Translations 586 } 587 return nil 588} 589 590func (x *TranslateTextResponse) GetGlossaryTranslations() []*Translation { 591 if x != nil { 592 return x.GlossaryTranslations 593 } 594 return nil 595} 596 597// A single translation response. 598type Translation struct { 599 state protoimpl.MessageState 600 sizeCache protoimpl.SizeCache 601 unknownFields protoimpl.UnknownFields 602 603 // Text translated into the target language. 604 // If an error occurs during translation, this field might be excluded from 605 // the response. 606 TranslatedText string `protobuf:"bytes,1,opt,name=translated_text,json=translatedText,proto3" json:"translated_text,omitempty"` 607 // Only present when `model` is present in the request. 608 // `model` here is normalized to have project number. 609 // 610 // For example: 611 // If the `model` requested in TranslationTextRequest is 612 // `projects/{project-id}/locations/{location-id}/models/general/nmt` then 613 // `model` here would be normalized to 614 // `projects/{project-number}/locations/{location-id}/models/general/nmt`. 615 Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` 616 // The BCP-47 language code of source text in the initial request, detected 617 // automatically, if no source language was passed within the initial 618 // request. If the source language was passed, auto-detection of the language 619 // does not occur and this field is empty. 620 DetectedLanguageCode string `protobuf:"bytes,4,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"` 621 // The `glossary_config` used for this translation. 622 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,3,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 623} 624 625func (x *Translation) Reset() { 626 *x = Translation{} 627 if protoimpl.UnsafeEnabled { 628 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3] 629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 630 ms.StoreMessageInfo(mi) 631 } 632} 633 634func (x *Translation) String() string { 635 return protoimpl.X.MessageStringOf(x) 636} 637 638func (*Translation) ProtoMessage() {} 639 640func (x *Translation) ProtoReflect() protoreflect.Message { 641 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3] 642 if protoimpl.UnsafeEnabled && x != nil { 643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 644 if ms.LoadMessageInfo() == nil { 645 ms.StoreMessageInfo(mi) 646 } 647 return ms 648 } 649 return mi.MessageOf(x) 650} 651 652// Deprecated: Use Translation.ProtoReflect.Descriptor instead. 653func (*Translation) Descriptor() ([]byte, []int) { 654 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{3} 655} 656 657func (x *Translation) GetTranslatedText() string { 658 if x != nil { 659 return x.TranslatedText 660 } 661 return "" 662} 663 664func (x *Translation) GetModel() string { 665 if x != nil { 666 return x.Model 667 } 668 return "" 669} 670 671func (x *Translation) GetDetectedLanguageCode() string { 672 if x != nil { 673 return x.DetectedLanguageCode 674 } 675 return "" 676} 677 678func (x *Translation) GetGlossaryConfig() *TranslateTextGlossaryConfig { 679 if x != nil { 680 return x.GlossaryConfig 681 } 682 return nil 683} 684 685// The request message for language detection. 686type DetectLanguageRequest struct { 687 state protoimpl.MessageState 688 sizeCache protoimpl.SizeCache 689 unknownFields protoimpl.UnknownFields 690 691 // Required. Project or location to make a call. Must refer to a caller's 692 // project. 693 // 694 // Format: `projects/{project-number-or-id}/locations/{location-id}` or 695 // `projects/{project-number-or-id}`. 696 // 697 // For global calls, use `projects/{project-number-or-id}/locations/global` or 698 // `projects/{project-number-or-id}`. 699 // 700 // Only models within the same region (has same location-id) can be used. 701 // Otherwise an INVALID_ARGUMENT (400) error is returned. 702 Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"` 703 // Optional. The language detection model to be used. 704 // 705 // Format: 706 // `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}` 707 // 708 // Only one language detection model is currently supported: 709 // `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`. 710 // 711 // If not specified, the default model is used. 712 Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"` 713 // Required. The source of the document from which to detect the language. 714 // 715 // Types that are assignable to Source: 716 // *DetectLanguageRequest_Content 717 Source isDetectLanguageRequest_Source `protobuf_oneof:"source"` 718 // Optional. The format of the source text, for example, "text/html", 719 // "text/plain". If left blank, the MIME type defaults to "text/html". 720 MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 721 // Optional. The labels with user-defined metadata for the request. 722 // 723 // Label keys and values can be no longer than 63 characters 724 // (Unicode codepoints), can only contain lowercase letters, numeric 725 // characters, underscores and dashes. International characters are allowed. 726 // Label values are optional. Label keys must start with a letter. 727 // 728 // See https://cloud.google.com/translate/docs/labels for more information. 729 Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 730} 731 732func (x *DetectLanguageRequest) Reset() { 733 *x = DetectLanguageRequest{} 734 if protoimpl.UnsafeEnabled { 735 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4] 736 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 737 ms.StoreMessageInfo(mi) 738 } 739} 740 741func (x *DetectLanguageRequest) String() string { 742 return protoimpl.X.MessageStringOf(x) 743} 744 745func (*DetectLanguageRequest) ProtoMessage() {} 746 747func (x *DetectLanguageRequest) ProtoReflect() protoreflect.Message { 748 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4] 749 if protoimpl.UnsafeEnabled && x != nil { 750 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 751 if ms.LoadMessageInfo() == nil { 752 ms.StoreMessageInfo(mi) 753 } 754 return ms 755 } 756 return mi.MessageOf(x) 757} 758 759// Deprecated: Use DetectLanguageRequest.ProtoReflect.Descriptor instead. 760func (*DetectLanguageRequest) Descriptor() ([]byte, []int) { 761 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{4} 762} 763 764func (x *DetectLanguageRequest) GetParent() string { 765 if x != nil { 766 return x.Parent 767 } 768 return "" 769} 770 771func (x *DetectLanguageRequest) GetModel() string { 772 if x != nil { 773 return x.Model 774 } 775 return "" 776} 777 778func (m *DetectLanguageRequest) GetSource() isDetectLanguageRequest_Source { 779 if m != nil { 780 return m.Source 781 } 782 return nil 783} 784 785func (x *DetectLanguageRequest) GetContent() string { 786 if x, ok := x.GetSource().(*DetectLanguageRequest_Content); ok { 787 return x.Content 788 } 789 return "" 790} 791 792func (x *DetectLanguageRequest) GetMimeType() string { 793 if x != nil { 794 return x.MimeType 795 } 796 return "" 797} 798 799func (x *DetectLanguageRequest) GetLabels() map[string]string { 800 if x != nil { 801 return x.Labels 802 } 803 return nil 804} 805 806type isDetectLanguageRequest_Source interface { 807 isDetectLanguageRequest_Source() 808} 809 810type DetectLanguageRequest_Content struct { 811 // The content of the input stored as a string. 812 Content string `protobuf:"bytes,1,opt,name=content,proto3,oneof"` 813} 814 815func (*DetectLanguageRequest_Content) isDetectLanguageRequest_Source() {} 816 817// The response message for language detection. 818type DetectedLanguage struct { 819 state protoimpl.MessageState 820 sizeCache protoimpl.SizeCache 821 unknownFields protoimpl.UnknownFields 822 823 // The BCP-47 language code of source content in the request, detected 824 // automatically. 825 LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 826 // The confidence of the detection result for this language. 827 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 828} 829 830func (x *DetectedLanguage) Reset() { 831 *x = DetectedLanguage{} 832 if protoimpl.UnsafeEnabled { 833 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5] 834 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 835 ms.StoreMessageInfo(mi) 836 } 837} 838 839func (x *DetectedLanguage) String() string { 840 return protoimpl.X.MessageStringOf(x) 841} 842 843func (*DetectedLanguage) ProtoMessage() {} 844 845func (x *DetectedLanguage) ProtoReflect() protoreflect.Message { 846 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5] 847 if protoimpl.UnsafeEnabled && x != nil { 848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 849 if ms.LoadMessageInfo() == nil { 850 ms.StoreMessageInfo(mi) 851 } 852 return ms 853 } 854 return mi.MessageOf(x) 855} 856 857// Deprecated: Use DetectedLanguage.ProtoReflect.Descriptor instead. 858func (*DetectedLanguage) Descriptor() ([]byte, []int) { 859 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{5} 860} 861 862func (x *DetectedLanguage) GetLanguageCode() string { 863 if x != nil { 864 return x.LanguageCode 865 } 866 return "" 867} 868 869func (x *DetectedLanguage) GetConfidence() float32 { 870 if x != nil { 871 return x.Confidence 872 } 873 return 0 874} 875 876// The response message for language detection. 877type DetectLanguageResponse struct { 878 state protoimpl.MessageState 879 sizeCache protoimpl.SizeCache 880 unknownFields protoimpl.UnknownFields 881 882 // A list of detected languages sorted by detection confidence in descending 883 // order. The most probable language first. 884 Languages []*DetectedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"` 885} 886 887func (x *DetectLanguageResponse) Reset() { 888 *x = DetectLanguageResponse{} 889 if protoimpl.UnsafeEnabled { 890 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6] 891 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 892 ms.StoreMessageInfo(mi) 893 } 894} 895 896func (x *DetectLanguageResponse) String() string { 897 return protoimpl.X.MessageStringOf(x) 898} 899 900func (*DetectLanguageResponse) ProtoMessage() {} 901 902func (x *DetectLanguageResponse) ProtoReflect() protoreflect.Message { 903 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6] 904 if protoimpl.UnsafeEnabled && x != nil { 905 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 906 if ms.LoadMessageInfo() == nil { 907 ms.StoreMessageInfo(mi) 908 } 909 return ms 910 } 911 return mi.MessageOf(x) 912} 913 914// Deprecated: Use DetectLanguageResponse.ProtoReflect.Descriptor instead. 915func (*DetectLanguageResponse) Descriptor() ([]byte, []int) { 916 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{6} 917} 918 919func (x *DetectLanguageResponse) GetLanguages() []*DetectedLanguage { 920 if x != nil { 921 return x.Languages 922 } 923 return nil 924} 925 926// The request message for discovering supported languages. 927type GetSupportedLanguagesRequest struct { 928 state protoimpl.MessageState 929 sizeCache protoimpl.SizeCache 930 unknownFields protoimpl.UnknownFields 931 932 // Required. Project or location to make a call. Must refer to a caller's 933 // project. 934 // 935 // Format: `projects/{project-number-or-id}` or 936 // `projects/{project-number-or-id}/locations/{location-id}`. 937 // 938 // For global calls, use `projects/{project-number-or-id}/locations/global` or 939 // `projects/{project-number-or-id}`. 940 // 941 // Non-global location is required for AutoML models. 942 // 943 // Only models within the same region (have same location-id) can be used, 944 // otherwise an INVALID_ARGUMENT (400) error is returned. 945 Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"` 946 // Optional. The language to use to return localized, human readable names 947 // of supported languages. If missing, then display names are not returned 948 // in a response. 949 DisplayLanguageCode string `protobuf:"bytes,1,opt,name=display_language_code,json=displayLanguageCode,proto3" json:"display_language_code,omitempty"` 950 // Optional. Get supported languages of this model. 951 // 952 // The format depends on model type: 953 // 954 // - AutoML Translation models: 955 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 956 // 957 // - General (built-in) models: 958 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 959 // 960 // 961 // Returns languages supported by the specified model. 962 // If missing, we get supported languages of Google general NMT model. 963 Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` 964} 965 966func (x *GetSupportedLanguagesRequest) Reset() { 967 *x = GetSupportedLanguagesRequest{} 968 if protoimpl.UnsafeEnabled { 969 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7] 970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 971 ms.StoreMessageInfo(mi) 972 } 973} 974 975func (x *GetSupportedLanguagesRequest) String() string { 976 return protoimpl.X.MessageStringOf(x) 977} 978 979func (*GetSupportedLanguagesRequest) ProtoMessage() {} 980 981func (x *GetSupportedLanguagesRequest) ProtoReflect() protoreflect.Message { 982 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7] 983 if protoimpl.UnsafeEnabled && x != nil { 984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 985 if ms.LoadMessageInfo() == nil { 986 ms.StoreMessageInfo(mi) 987 } 988 return ms 989 } 990 return mi.MessageOf(x) 991} 992 993// Deprecated: Use GetSupportedLanguagesRequest.ProtoReflect.Descriptor instead. 994func (*GetSupportedLanguagesRequest) Descriptor() ([]byte, []int) { 995 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{7} 996} 997 998func (x *GetSupportedLanguagesRequest) GetParent() string { 999 if x != nil { 1000 return x.Parent 1001 } 1002 return "" 1003} 1004 1005func (x *GetSupportedLanguagesRequest) GetDisplayLanguageCode() string { 1006 if x != nil { 1007 return x.DisplayLanguageCode 1008 } 1009 return "" 1010} 1011 1012func (x *GetSupportedLanguagesRequest) GetModel() string { 1013 if x != nil { 1014 return x.Model 1015 } 1016 return "" 1017} 1018 1019// The response message for discovering supported languages. 1020type SupportedLanguages struct { 1021 state protoimpl.MessageState 1022 sizeCache protoimpl.SizeCache 1023 unknownFields protoimpl.UnknownFields 1024 1025 // A list of supported language responses. This list contains an entry 1026 // for each language the Translation API supports. 1027 Languages []*SupportedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"` 1028} 1029 1030func (x *SupportedLanguages) Reset() { 1031 *x = SupportedLanguages{} 1032 if protoimpl.UnsafeEnabled { 1033 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8] 1034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1035 ms.StoreMessageInfo(mi) 1036 } 1037} 1038 1039func (x *SupportedLanguages) String() string { 1040 return protoimpl.X.MessageStringOf(x) 1041} 1042 1043func (*SupportedLanguages) ProtoMessage() {} 1044 1045func (x *SupportedLanguages) ProtoReflect() protoreflect.Message { 1046 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8] 1047 if protoimpl.UnsafeEnabled && x != nil { 1048 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1049 if ms.LoadMessageInfo() == nil { 1050 ms.StoreMessageInfo(mi) 1051 } 1052 return ms 1053 } 1054 return mi.MessageOf(x) 1055} 1056 1057// Deprecated: Use SupportedLanguages.ProtoReflect.Descriptor instead. 1058func (*SupportedLanguages) Descriptor() ([]byte, []int) { 1059 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{8} 1060} 1061 1062func (x *SupportedLanguages) GetLanguages() []*SupportedLanguage { 1063 if x != nil { 1064 return x.Languages 1065 } 1066 return nil 1067} 1068 1069// A single supported language response corresponds to information related 1070// to one supported language. 1071type SupportedLanguage struct { 1072 state protoimpl.MessageState 1073 sizeCache protoimpl.SizeCache 1074 unknownFields protoimpl.UnknownFields 1075 1076 // Supported language code, generally consisting of its ISO 639-1 1077 // identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes 1078 // including language and region identifiers are returned (for example, 1079 // 'zh-TW' and 'zh-CN') 1080 LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1081 // Human readable name of the language localized in the display language 1082 // specified in the request. 1083 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 1084 // Can be used as source language. 1085 SupportSource bool `protobuf:"varint,3,opt,name=support_source,json=supportSource,proto3" json:"support_source,omitempty"` 1086 // Can be used as target language. 1087 SupportTarget bool `protobuf:"varint,4,opt,name=support_target,json=supportTarget,proto3" json:"support_target,omitempty"` 1088} 1089 1090func (x *SupportedLanguage) Reset() { 1091 *x = SupportedLanguage{} 1092 if protoimpl.UnsafeEnabled { 1093 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9] 1094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1095 ms.StoreMessageInfo(mi) 1096 } 1097} 1098 1099func (x *SupportedLanguage) String() string { 1100 return protoimpl.X.MessageStringOf(x) 1101} 1102 1103func (*SupportedLanguage) ProtoMessage() {} 1104 1105func (x *SupportedLanguage) ProtoReflect() protoreflect.Message { 1106 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9] 1107 if protoimpl.UnsafeEnabled && x != nil { 1108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1109 if ms.LoadMessageInfo() == nil { 1110 ms.StoreMessageInfo(mi) 1111 } 1112 return ms 1113 } 1114 return mi.MessageOf(x) 1115} 1116 1117// Deprecated: Use SupportedLanguage.ProtoReflect.Descriptor instead. 1118func (*SupportedLanguage) Descriptor() ([]byte, []int) { 1119 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{9} 1120} 1121 1122func (x *SupportedLanguage) GetLanguageCode() string { 1123 if x != nil { 1124 return x.LanguageCode 1125 } 1126 return "" 1127} 1128 1129func (x *SupportedLanguage) GetDisplayName() string { 1130 if x != nil { 1131 return x.DisplayName 1132 } 1133 return "" 1134} 1135 1136func (x *SupportedLanguage) GetSupportSource() bool { 1137 if x != nil { 1138 return x.SupportSource 1139 } 1140 return false 1141} 1142 1143func (x *SupportedLanguage) GetSupportTarget() bool { 1144 if x != nil { 1145 return x.SupportTarget 1146 } 1147 return false 1148} 1149 1150// The Google Cloud Storage location for the input content. 1151type GcsSource struct { 1152 state protoimpl.MessageState 1153 sizeCache protoimpl.SizeCache 1154 unknownFields protoimpl.UnknownFields 1155 1156 // Required. Source data URI. For example, `gs://my_bucket/my_object`. 1157 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"` 1158} 1159 1160func (x *GcsSource) Reset() { 1161 *x = GcsSource{} 1162 if protoimpl.UnsafeEnabled { 1163 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10] 1164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1165 ms.StoreMessageInfo(mi) 1166 } 1167} 1168 1169func (x *GcsSource) String() string { 1170 return protoimpl.X.MessageStringOf(x) 1171} 1172 1173func (*GcsSource) ProtoMessage() {} 1174 1175func (x *GcsSource) ProtoReflect() protoreflect.Message { 1176 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10] 1177 if protoimpl.UnsafeEnabled && x != nil { 1178 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1179 if ms.LoadMessageInfo() == nil { 1180 ms.StoreMessageInfo(mi) 1181 } 1182 return ms 1183 } 1184 return mi.MessageOf(x) 1185} 1186 1187// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead. 1188func (*GcsSource) Descriptor() ([]byte, []int) { 1189 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{10} 1190} 1191 1192func (x *GcsSource) GetInputUri() string { 1193 if x != nil { 1194 return x.InputUri 1195 } 1196 return "" 1197} 1198 1199// Input configuration for BatchTranslateText request. 1200type InputConfig struct { 1201 state protoimpl.MessageState 1202 sizeCache protoimpl.SizeCache 1203 unknownFields protoimpl.UnknownFields 1204 1205 // Optional. Can be "text/plain" or "text/html". 1206 // For `.tsv`, "text/html" is used if mime_type is missing. 1207 // For `.html`, this field must be "text/html" or empty. 1208 // For `.txt`, this field must be "text/plain" or empty. 1209 MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1210 // Required. Specify the input. 1211 // 1212 // Types that are assignable to Source: 1213 // *InputConfig_GcsSource 1214 Source isInputConfig_Source `protobuf_oneof:"source"` 1215} 1216 1217func (x *InputConfig) Reset() { 1218 *x = InputConfig{} 1219 if protoimpl.UnsafeEnabled { 1220 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11] 1221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1222 ms.StoreMessageInfo(mi) 1223 } 1224} 1225 1226func (x *InputConfig) String() string { 1227 return protoimpl.X.MessageStringOf(x) 1228} 1229 1230func (*InputConfig) ProtoMessage() {} 1231 1232func (x *InputConfig) ProtoReflect() protoreflect.Message { 1233 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11] 1234 if protoimpl.UnsafeEnabled && x != nil { 1235 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1236 if ms.LoadMessageInfo() == nil { 1237 ms.StoreMessageInfo(mi) 1238 } 1239 return ms 1240 } 1241 return mi.MessageOf(x) 1242} 1243 1244// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead. 1245func (*InputConfig) Descriptor() ([]byte, []int) { 1246 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{11} 1247} 1248 1249func (x *InputConfig) GetMimeType() string { 1250 if x != nil { 1251 return x.MimeType 1252 } 1253 return "" 1254} 1255 1256func (m *InputConfig) GetSource() isInputConfig_Source { 1257 if m != nil { 1258 return m.Source 1259 } 1260 return nil 1261} 1262 1263func (x *InputConfig) GetGcsSource() *GcsSource { 1264 if x, ok := x.GetSource().(*InputConfig_GcsSource); ok { 1265 return x.GcsSource 1266 } 1267 return nil 1268} 1269 1270type isInputConfig_Source interface { 1271 isInputConfig_Source() 1272} 1273 1274type InputConfig_GcsSource struct { 1275 // Required. Google Cloud Storage location for the source input. 1276 // This can be a single file (for example, 1277 // `gs://translation-test/input.tsv`) or a wildcard (for example, 1278 // `gs://translation-test/*`). If a file extension is `.tsv`, it can 1279 // contain either one or two columns. The first column (optional) is the id 1280 // of the text request. If the first column is missing, we use the row 1281 // number (0-based) from the input file as the ID in the output file. The 1282 // second column is the actual text to be 1283 // translated. We recommend each row be <= 10K Unicode codepoints, 1284 // otherwise an error might be returned. 1285 // Note that the input tsv must be RFC 4180 compliant. 1286 // 1287 // You could use https://github.com/Clever/csvlint to check potential 1288 // formatting errors in your tsv file. 1289 // csvlint --delimiter='\t' your_input_file.tsv 1290 // 1291 // The other supported file extensions are `.txt` or `.html`, which is 1292 // treated as a single large chunk of text. 1293 GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 1294} 1295 1296func (*InputConfig_GcsSource) isInputConfig_Source() {} 1297 1298// The Google Cloud Storage location for the output content. 1299type GcsDestination struct { 1300 state protoimpl.MessageState 1301 sizeCache protoimpl.SizeCache 1302 unknownFields protoimpl.UnknownFields 1303 1304 // Required. There must be no files under 'output_uri_prefix'. 1305 // 'output_uri_prefix' must end with "/" and start with "gs://", otherwise an 1306 // INVALID_ARGUMENT (400) error is returned. 1307 OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` 1308} 1309 1310func (x *GcsDestination) Reset() { 1311 *x = GcsDestination{} 1312 if protoimpl.UnsafeEnabled { 1313 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12] 1314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1315 ms.StoreMessageInfo(mi) 1316 } 1317} 1318 1319func (x *GcsDestination) String() string { 1320 return protoimpl.X.MessageStringOf(x) 1321} 1322 1323func (*GcsDestination) ProtoMessage() {} 1324 1325func (x *GcsDestination) ProtoReflect() protoreflect.Message { 1326 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12] 1327 if protoimpl.UnsafeEnabled && x != nil { 1328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1329 if ms.LoadMessageInfo() == nil { 1330 ms.StoreMessageInfo(mi) 1331 } 1332 return ms 1333 } 1334 return mi.MessageOf(x) 1335} 1336 1337// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead. 1338func (*GcsDestination) Descriptor() ([]byte, []int) { 1339 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{12} 1340} 1341 1342func (x *GcsDestination) GetOutputUriPrefix() string { 1343 if x != nil { 1344 return x.OutputUriPrefix 1345 } 1346 return "" 1347} 1348 1349// Output configuration for BatchTranslateText request. 1350type OutputConfig struct { 1351 state protoimpl.MessageState 1352 sizeCache protoimpl.SizeCache 1353 unknownFields protoimpl.UnknownFields 1354 1355 // Required. The destination of output. 1356 // 1357 // Types that are assignable to Destination: 1358 // *OutputConfig_GcsDestination 1359 Destination isOutputConfig_Destination `protobuf_oneof:"destination"` 1360} 1361 1362func (x *OutputConfig) Reset() { 1363 *x = OutputConfig{} 1364 if protoimpl.UnsafeEnabled { 1365 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13] 1366 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1367 ms.StoreMessageInfo(mi) 1368 } 1369} 1370 1371func (x *OutputConfig) String() string { 1372 return protoimpl.X.MessageStringOf(x) 1373} 1374 1375func (*OutputConfig) ProtoMessage() {} 1376 1377func (x *OutputConfig) ProtoReflect() protoreflect.Message { 1378 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13] 1379 if protoimpl.UnsafeEnabled && x != nil { 1380 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1381 if ms.LoadMessageInfo() == nil { 1382 ms.StoreMessageInfo(mi) 1383 } 1384 return ms 1385 } 1386 return mi.MessageOf(x) 1387} 1388 1389// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. 1390func (*OutputConfig) Descriptor() ([]byte, []int) { 1391 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{13} 1392} 1393 1394func (m *OutputConfig) GetDestination() isOutputConfig_Destination { 1395 if m != nil { 1396 return m.Destination 1397 } 1398 return nil 1399} 1400 1401func (x *OutputConfig) GetGcsDestination() *GcsDestination { 1402 if x, ok := x.GetDestination().(*OutputConfig_GcsDestination); ok { 1403 return x.GcsDestination 1404 } 1405 return nil 1406} 1407 1408type isOutputConfig_Destination interface { 1409 isOutputConfig_Destination() 1410} 1411 1412type OutputConfig_GcsDestination struct { 1413 // Google Cloud Storage destination for output content. 1414 // For every single input file (for example, gs://a/b/c.[extension]), we 1415 // generate at most 2 * n output files. (n is the # of target_language_codes 1416 // in the BatchTranslateTextRequest). 1417 // 1418 // Output files (tsv) generated are compliant with RFC 4180 except that 1419 // record delimiters are '\n' instead of '\r\n'. We don't provide any way to 1420 // change record delimiters. 1421 // 1422 // While the input files are being processed, we write/update an index file 1423 // 'index.csv' under 'output_uri_prefix' (for example, 1424 // gs://translation-test/index.csv) The index file is generated/updated as 1425 // new files are being translated. The format is: 1426 // 1427 // input_file,target_language_code,translations_file,errors_file, 1428 // glossary_translations_file,glossary_errors_file 1429 // 1430 // input_file is one file we matched using gcs_source.input_uri. 1431 // target_language_code is provided in the request. 1432 // translations_file contains the translations. (details provided below) 1433 // errors_file contains the errors during processing of the file. (details 1434 // below). Both translations_file and errors_file could be empty 1435 // strings if we have no content to output. 1436 // glossary_translations_file and glossary_errors_file are always empty 1437 // strings if the input_file is tsv. They could also be empty if we have no 1438 // content to output. 1439 // 1440 // Once a row is present in index.csv, the input/output matching never 1441 // changes. Callers should also expect all the content in input_file are 1442 // processed and ready to be consumed (that is, no partial output file is 1443 // written). 1444 // 1445 // Since index.csv will be keeping updated during the process, please make 1446 // sure there is no custom retention policy applied on the output bucket 1447 // that may avoid file updating. 1448 // (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy) 1449 // 1450 // The format of translations_file (for target language code 'trg') is: 1451 // gs://translation_test/a_b_c_'trg'_translations.[extension] 1452 // 1453 // If the input file extension is tsv, the output has the following 1454 // columns: 1455 // Column 1: ID of the request provided in the input, if it's not 1456 // provided in the input, then the input row number is used (0-based). 1457 // Column 2: source sentence. 1458 // Column 3: translation without applying a glossary. Empty string if there 1459 // is an error. 1460 // Column 4 (only present if a glossary is provided in the request): 1461 // translation after applying the glossary. Empty string if there is an 1462 // error applying the glossary. Could be same string as column 3 if there is 1463 // no glossary applied. 1464 // 1465 // If input file extension is a txt or html, the translation is directly 1466 // written to the output file. If glossary is requested, a separate 1467 // glossary_translations_file has format of 1468 // gs://translation_test/a_b_c_'trg'_glossary_translations.[extension] 1469 // 1470 // The format of errors file (for target language code 'trg') is: 1471 // gs://translation_test/a_b_c_'trg'_errors.[extension] 1472 // 1473 // If the input file extension is tsv, errors_file contains the following: 1474 // Column 1: ID of the request provided in the input, if it's not 1475 // provided in the input, then the input row number is used (0-based). 1476 // Column 2: source sentence. 1477 // Column 3: Error detail for the translation. Could be empty. 1478 // Column 4 (only present if a glossary is provided in the request): 1479 // Error when applying the glossary. 1480 // 1481 // If the input file extension is txt or html, glossary_error_file will be 1482 // generated that contains error details. glossary_error_file has format of 1483 // gs://translation_test/a_b_c_'trg'_glossary_errors.[extension] 1484 GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 1485} 1486 1487func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {} 1488 1489// A document translation request input config. 1490type DocumentInputConfig struct { 1491 state protoimpl.MessageState 1492 sizeCache protoimpl.SizeCache 1493 unknownFields protoimpl.UnknownFields 1494 1495 // Specifies the source for the document's content. 1496 // The input file size should be <= 20MB for 1497 // - application/vnd.openxmlformats-officedocument.wordprocessingml.document 1498 // - application/vnd.openxmlformats-officedocument.presentationml.presentation 1499 // - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 1500 // The input file size should be <= 20MB and the maximum page limit is 20 for 1501 // - application/pdf 1502 // 1503 // Types that are assignable to Source: 1504 // *DocumentInputConfig_Content 1505 // *DocumentInputConfig_GcsSource 1506 Source isDocumentInputConfig_Source `protobuf_oneof:"source"` 1507 // Specifies the input document's mime_type. 1508 // 1509 // If not specified it will be determined using the file extension for 1510 // gcs_source provided files. For a file provided through bytes content the 1511 // mime_type must be provided. 1512 // Currently supported mime types are: 1513 // - application/pdf 1514 // - application/vnd.openxmlformats-officedocument.wordprocessingml.document 1515 // - application/vnd.openxmlformats-officedocument.presentationml.presentation 1516 // - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 1517 MimeType string `protobuf:"bytes,4,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1518} 1519 1520func (x *DocumentInputConfig) Reset() { 1521 *x = DocumentInputConfig{} 1522 if protoimpl.UnsafeEnabled { 1523 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14] 1524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1525 ms.StoreMessageInfo(mi) 1526 } 1527} 1528 1529func (x *DocumentInputConfig) String() string { 1530 return protoimpl.X.MessageStringOf(x) 1531} 1532 1533func (*DocumentInputConfig) ProtoMessage() {} 1534 1535func (x *DocumentInputConfig) ProtoReflect() protoreflect.Message { 1536 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14] 1537 if protoimpl.UnsafeEnabled && x != nil { 1538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1539 if ms.LoadMessageInfo() == nil { 1540 ms.StoreMessageInfo(mi) 1541 } 1542 return ms 1543 } 1544 return mi.MessageOf(x) 1545} 1546 1547// Deprecated: Use DocumentInputConfig.ProtoReflect.Descriptor instead. 1548func (*DocumentInputConfig) Descriptor() ([]byte, []int) { 1549 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{14} 1550} 1551 1552func (m *DocumentInputConfig) GetSource() isDocumentInputConfig_Source { 1553 if m != nil { 1554 return m.Source 1555 } 1556 return nil 1557} 1558 1559func (x *DocumentInputConfig) GetContent() []byte { 1560 if x, ok := x.GetSource().(*DocumentInputConfig_Content); ok { 1561 return x.Content 1562 } 1563 return nil 1564} 1565 1566func (x *DocumentInputConfig) GetGcsSource() *GcsSource { 1567 if x, ok := x.GetSource().(*DocumentInputConfig_GcsSource); ok { 1568 return x.GcsSource 1569 } 1570 return nil 1571} 1572 1573func (x *DocumentInputConfig) GetMimeType() string { 1574 if x != nil { 1575 return x.MimeType 1576 } 1577 return "" 1578} 1579 1580type isDocumentInputConfig_Source interface { 1581 isDocumentInputConfig_Source() 1582} 1583 1584type DocumentInputConfig_Content struct { 1585 // Document's content represented as a stream of bytes. 1586 Content []byte `protobuf:"bytes,1,opt,name=content,proto3,oneof"` 1587} 1588 1589type DocumentInputConfig_GcsSource struct { 1590 // Google Cloud Storage location. This must be a single file. 1591 // For example: gs://example_bucket/example_file.pdf 1592 GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 1593} 1594 1595func (*DocumentInputConfig_Content) isDocumentInputConfig_Source() {} 1596 1597func (*DocumentInputConfig_GcsSource) isDocumentInputConfig_Source() {} 1598 1599// A document translation request output config. 1600type DocumentOutputConfig struct { 1601 state protoimpl.MessageState 1602 sizeCache protoimpl.SizeCache 1603 unknownFields protoimpl.UnknownFields 1604 1605 // A URI destination for the translated document. 1606 // It is optional to provide a destination. If provided the results from 1607 // TranslateDocument will be stored in the destination. 1608 // Whether a destination is provided or not, the translated documents will be 1609 // returned within TranslateDocumentResponse.document_translation and 1610 // TranslateDocumentResponse.glossary_document_translation. 1611 // 1612 // Types that are assignable to Destination: 1613 // *DocumentOutputConfig_GcsDestination 1614 Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"` 1615 // Optional. Specifies the translated document's mime_type. 1616 // If not specified, the translated file's mime type will be the same as the 1617 // input file's mime type. 1618 // Currently only support the output mime type to be the same as input mime 1619 // type. 1620 // - application/pdf 1621 // - application/vnd.openxmlformats-officedocument.wordprocessingml.document 1622 // - application/vnd.openxmlformats-officedocument.presentationml.presentation 1623 // - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 1624 MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1625} 1626 1627func (x *DocumentOutputConfig) Reset() { 1628 *x = DocumentOutputConfig{} 1629 if protoimpl.UnsafeEnabled { 1630 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15] 1631 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1632 ms.StoreMessageInfo(mi) 1633 } 1634} 1635 1636func (x *DocumentOutputConfig) String() string { 1637 return protoimpl.X.MessageStringOf(x) 1638} 1639 1640func (*DocumentOutputConfig) ProtoMessage() {} 1641 1642func (x *DocumentOutputConfig) ProtoReflect() protoreflect.Message { 1643 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15] 1644 if protoimpl.UnsafeEnabled && x != nil { 1645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1646 if ms.LoadMessageInfo() == nil { 1647 ms.StoreMessageInfo(mi) 1648 } 1649 return ms 1650 } 1651 return mi.MessageOf(x) 1652} 1653 1654// Deprecated: Use DocumentOutputConfig.ProtoReflect.Descriptor instead. 1655func (*DocumentOutputConfig) Descriptor() ([]byte, []int) { 1656 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{15} 1657} 1658 1659func (m *DocumentOutputConfig) GetDestination() isDocumentOutputConfig_Destination { 1660 if m != nil { 1661 return m.Destination 1662 } 1663 return nil 1664} 1665 1666func (x *DocumentOutputConfig) GetGcsDestination() *GcsDestination { 1667 if x, ok := x.GetDestination().(*DocumentOutputConfig_GcsDestination); ok { 1668 return x.GcsDestination 1669 } 1670 return nil 1671} 1672 1673func (x *DocumentOutputConfig) GetMimeType() string { 1674 if x != nil { 1675 return x.MimeType 1676 } 1677 return "" 1678} 1679 1680type isDocumentOutputConfig_Destination interface { 1681 isDocumentOutputConfig_Destination() 1682} 1683 1684type DocumentOutputConfig_GcsDestination struct { 1685 // Optional. Google Cloud Storage destination for the translation output, 1686 // e.g., `gs://my_bucket/my_directory/`. 1687 // 1688 // The destination directory provided does not have to be empty, but the 1689 // bucket must exist. If a file with the same name as the output file 1690 // already exists in the destination an error will be returned. 1691 // 1692 // For a DocumentInputConfig.contents provided document, the output file 1693 // will have the name "output_[trg]_translations.[ext]", where 1694 // - [trg] corresponds to the translated file's language code, 1695 // - [ext] corresponds to the translated file's extension according to its 1696 // mime type. 1697 // 1698 // 1699 // For a DocumentInputConfig.gcs_uri provided document, the output file will 1700 // have a name according to its URI. For example: an input file with URI: 1701 // "gs://a/b/c.[extension]" stored in a gcs_destination bucket with name 1702 // "my_bucket" will have an output URI: 1703 // "gs://my_bucket/a_b_c_[trg]_translations.[ext]", where 1704 // - [trg] corresponds to the translated file's language code, 1705 // - [ext] corresponds to the translated file's extension according to its 1706 // mime type. 1707 // 1708 // 1709 // If the document was directly provided through the request, then the 1710 // output document will have the format: 1711 // "gs://my_bucket/translated_document_[trg]_translations.[ext], where 1712 // - [trg] corresponds to the translated file's language code, 1713 // - [ext] corresponds to the translated file's extension according to its 1714 // mime type. 1715 // 1716 // If a glossary was provided, then the output URI for the glossary 1717 // translation will be equal to the default output URI but have 1718 // `glossary_translations` instead of `translations`. For the previous 1719 // example, its glossary URI would be: 1720 // "gs://my_bucket/a_b_c_[trg]_glossary_translations.[ext]". 1721 // 1722 // Thus the max number of output files will be 2 (Translated document, 1723 // Glossary translated document). 1724 // 1725 // Callers should expect no partial outputs. If there is any error during 1726 // document translation, no output will be stored in the Cloud Storage 1727 // bucket. 1728 GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 1729} 1730 1731func (*DocumentOutputConfig_GcsDestination) isDocumentOutputConfig_Destination() {} 1732 1733// A document translation request. 1734type TranslateDocumentRequest struct { 1735 state protoimpl.MessageState 1736 sizeCache protoimpl.SizeCache 1737 unknownFields protoimpl.UnknownFields 1738 1739 // Required. Location to make a regional call. 1740 // 1741 // Format: `projects/{project-number-or-id}/locations/{location-id}`. 1742 // 1743 // For global calls, use `projects/{project-number-or-id}/locations/global`. 1744 // 1745 // Non-global location is required for requests using AutoML models or custom 1746 // glossaries. 1747 // 1748 // Models and glossaries must be within the same region (have the same 1749 // location-id), otherwise an INVALID_ARGUMENT (400) error is returned. 1750 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1751 // Optional. The BCP-47 language code of the input document if known, for 1752 // example, "en-US" or "sr-Latn". Supported language codes are listed in 1753 // Language Support. If the source language isn't specified, the API attempts 1754 // to identify the source language automatically and returns the source 1755 // language within the response. Source language must be specified if the 1756 // request contains a glossary or a custom model. 1757 SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 1758 // Required. The BCP-47 language code to use for translation of the input 1759 // document, set to one of the language codes listed in Language Support. 1760 TargetLanguageCode string `protobuf:"bytes,3,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` 1761 // Required. Input configurations. 1762 DocumentInputConfig *DocumentInputConfig `protobuf:"bytes,4,opt,name=document_input_config,json=documentInputConfig,proto3" json:"document_input_config,omitempty"` 1763 // Optional. Output configurations. 1764 // Defines if the output file should be stored within Cloud Storage as well 1765 // as the desired output format. If not provided the translated file will 1766 // only be returned through a byte-stream and its output mime type will be 1767 // the same as the input file's mime type. 1768 DocumentOutputConfig *DocumentOutputConfig `protobuf:"bytes,5,opt,name=document_output_config,json=documentOutputConfig,proto3" json:"document_output_config,omitempty"` 1769 // Optional. The `model` type requested for this translation. 1770 // 1771 // The format depends on model type: 1772 // 1773 // - AutoML Translation models: 1774 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 1775 // 1776 // - General (built-in) models: 1777 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 1778 // 1779 // 1780 // If not provided, the default Google model (NMT) will be used for 1781 // translation. 1782 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"` 1783 // Optional. Glossary to be applied. The glossary must be within the same 1784 // region (have the same location-id) as the model, otherwise an 1785 // INVALID_ARGUMENT (400) error is returned. 1786 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 1787 // Optional. The labels with user-defined metadata for the request. 1788 // 1789 // Label keys and values can be no longer than 63 characters (Unicode 1790 // codepoints), can only contain lowercase letters, numeric characters, 1791 // underscores and dashes. International characters are allowed. Label values 1792 // are optional. Label keys must start with a letter. 1793 // 1794 // See https://cloud.google.com/translate/docs/advanced/labels for more 1795 // information. 1796 Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1797} 1798 1799func (x *TranslateDocumentRequest) Reset() { 1800 *x = TranslateDocumentRequest{} 1801 if protoimpl.UnsafeEnabled { 1802 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16] 1803 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1804 ms.StoreMessageInfo(mi) 1805 } 1806} 1807 1808func (x *TranslateDocumentRequest) String() string { 1809 return protoimpl.X.MessageStringOf(x) 1810} 1811 1812func (*TranslateDocumentRequest) ProtoMessage() {} 1813 1814func (x *TranslateDocumentRequest) ProtoReflect() protoreflect.Message { 1815 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16] 1816 if protoimpl.UnsafeEnabled && x != nil { 1817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1818 if ms.LoadMessageInfo() == nil { 1819 ms.StoreMessageInfo(mi) 1820 } 1821 return ms 1822 } 1823 return mi.MessageOf(x) 1824} 1825 1826// Deprecated: Use TranslateDocumentRequest.ProtoReflect.Descriptor instead. 1827func (*TranslateDocumentRequest) Descriptor() ([]byte, []int) { 1828 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{16} 1829} 1830 1831func (x *TranslateDocumentRequest) GetParent() string { 1832 if x != nil { 1833 return x.Parent 1834 } 1835 return "" 1836} 1837 1838func (x *TranslateDocumentRequest) GetSourceLanguageCode() string { 1839 if x != nil { 1840 return x.SourceLanguageCode 1841 } 1842 return "" 1843} 1844 1845func (x *TranslateDocumentRequest) GetTargetLanguageCode() string { 1846 if x != nil { 1847 return x.TargetLanguageCode 1848 } 1849 return "" 1850} 1851 1852func (x *TranslateDocumentRequest) GetDocumentInputConfig() *DocumentInputConfig { 1853 if x != nil { 1854 return x.DocumentInputConfig 1855 } 1856 return nil 1857} 1858 1859func (x *TranslateDocumentRequest) GetDocumentOutputConfig() *DocumentOutputConfig { 1860 if x != nil { 1861 return x.DocumentOutputConfig 1862 } 1863 return nil 1864} 1865 1866func (x *TranslateDocumentRequest) GetModel() string { 1867 if x != nil { 1868 return x.Model 1869 } 1870 return "" 1871} 1872 1873func (x *TranslateDocumentRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig { 1874 if x != nil { 1875 return x.GlossaryConfig 1876 } 1877 return nil 1878} 1879 1880func (x *TranslateDocumentRequest) GetLabels() map[string]string { 1881 if x != nil { 1882 return x.Labels 1883 } 1884 return nil 1885} 1886 1887// A translated document message. 1888type DocumentTranslation struct { 1889 state protoimpl.MessageState 1890 sizeCache protoimpl.SizeCache 1891 unknownFields protoimpl.UnknownFields 1892 1893 // The array of translated documents. It is expected to be size 1 for now. We 1894 // may produce multiple translated documents in the future for other type of 1895 // file formats. 1896 ByteStreamOutputs [][]byte `protobuf:"bytes,1,rep,name=byte_stream_outputs,json=byteStreamOutputs,proto3" json:"byte_stream_outputs,omitempty"` 1897 // The translated document's mime type. 1898 MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1899 // The detected language for the input document. 1900 // If the user did not provide the source language for the input document, 1901 // this field will have the language code automatically detected. If the 1902 // source language was passed, auto-detection of the language does not occur 1903 // and this field is empty. 1904 DetectedLanguageCode string `protobuf:"bytes,3,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"` 1905} 1906 1907func (x *DocumentTranslation) Reset() { 1908 *x = DocumentTranslation{} 1909 if protoimpl.UnsafeEnabled { 1910 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17] 1911 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1912 ms.StoreMessageInfo(mi) 1913 } 1914} 1915 1916func (x *DocumentTranslation) String() string { 1917 return protoimpl.X.MessageStringOf(x) 1918} 1919 1920func (*DocumentTranslation) ProtoMessage() {} 1921 1922func (x *DocumentTranslation) ProtoReflect() protoreflect.Message { 1923 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17] 1924 if protoimpl.UnsafeEnabled && x != nil { 1925 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1926 if ms.LoadMessageInfo() == nil { 1927 ms.StoreMessageInfo(mi) 1928 } 1929 return ms 1930 } 1931 return mi.MessageOf(x) 1932} 1933 1934// Deprecated: Use DocumentTranslation.ProtoReflect.Descriptor instead. 1935func (*DocumentTranslation) Descriptor() ([]byte, []int) { 1936 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{17} 1937} 1938 1939func (x *DocumentTranslation) GetByteStreamOutputs() [][]byte { 1940 if x != nil { 1941 return x.ByteStreamOutputs 1942 } 1943 return nil 1944} 1945 1946func (x *DocumentTranslation) GetMimeType() string { 1947 if x != nil { 1948 return x.MimeType 1949 } 1950 return "" 1951} 1952 1953func (x *DocumentTranslation) GetDetectedLanguageCode() string { 1954 if x != nil { 1955 return x.DetectedLanguageCode 1956 } 1957 return "" 1958} 1959 1960// A translated document response message. 1961type TranslateDocumentResponse struct { 1962 state protoimpl.MessageState 1963 sizeCache protoimpl.SizeCache 1964 unknownFields protoimpl.UnknownFields 1965 1966 // Translated document. 1967 DocumentTranslation *DocumentTranslation `protobuf:"bytes,1,opt,name=document_translation,json=documentTranslation,proto3" json:"document_translation,omitempty"` 1968 // The document's translation output if a glossary is provided in the request. 1969 // This can be the same as [TranslateDocumentResponse.document_translation] 1970 // if no glossary terms apply. 1971 GlossaryDocumentTranslation *DocumentTranslation `protobuf:"bytes,2,opt,name=glossary_document_translation,json=glossaryDocumentTranslation,proto3" json:"glossary_document_translation,omitempty"` 1972 // Only present when 'model' is present in the request. 1973 // 'model' is normalized to have a project number. 1974 // 1975 // For example: 1976 // If the 'model' field in TranslateDocumentRequest is: 1977 // `projects/{project-id}/locations/{location-id}/models/general/nmt` then 1978 // `model` here would be normalized to 1979 // `projects/{project-number}/locations/{location-id}/models/general/nmt`. 1980 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 1981 // The `glossary_config` used for this translation. 1982 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,4,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 1983} 1984 1985func (x *TranslateDocumentResponse) Reset() { 1986 *x = TranslateDocumentResponse{} 1987 if protoimpl.UnsafeEnabled { 1988 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18] 1989 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1990 ms.StoreMessageInfo(mi) 1991 } 1992} 1993 1994func (x *TranslateDocumentResponse) String() string { 1995 return protoimpl.X.MessageStringOf(x) 1996} 1997 1998func (*TranslateDocumentResponse) ProtoMessage() {} 1999 2000func (x *TranslateDocumentResponse) ProtoReflect() protoreflect.Message { 2001 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18] 2002 if protoimpl.UnsafeEnabled && x != nil { 2003 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2004 if ms.LoadMessageInfo() == nil { 2005 ms.StoreMessageInfo(mi) 2006 } 2007 return ms 2008 } 2009 return mi.MessageOf(x) 2010} 2011 2012// Deprecated: Use TranslateDocumentResponse.ProtoReflect.Descriptor instead. 2013func (*TranslateDocumentResponse) Descriptor() ([]byte, []int) { 2014 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{18} 2015} 2016 2017func (x *TranslateDocumentResponse) GetDocumentTranslation() *DocumentTranslation { 2018 if x != nil { 2019 return x.DocumentTranslation 2020 } 2021 return nil 2022} 2023 2024func (x *TranslateDocumentResponse) GetGlossaryDocumentTranslation() *DocumentTranslation { 2025 if x != nil { 2026 return x.GlossaryDocumentTranslation 2027 } 2028 return nil 2029} 2030 2031func (x *TranslateDocumentResponse) GetModel() string { 2032 if x != nil { 2033 return x.Model 2034 } 2035 return "" 2036} 2037 2038func (x *TranslateDocumentResponse) GetGlossaryConfig() *TranslateTextGlossaryConfig { 2039 if x != nil { 2040 return x.GlossaryConfig 2041 } 2042 return nil 2043} 2044 2045// The batch translation request. 2046type BatchTranslateTextRequest struct { 2047 state protoimpl.MessageState 2048 sizeCache protoimpl.SizeCache 2049 unknownFields protoimpl.UnknownFields 2050 2051 // Required. Location to make a call. Must refer to a caller's project. 2052 // 2053 // Format: `projects/{project-number-or-id}/locations/{location-id}`. 2054 // 2055 // The `global` location is not supported for batch translation. 2056 // 2057 // Only AutoML Translation models or glossaries within the same region (have 2058 // the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) 2059 // error is returned. 2060 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2061 // Required. Source language code. 2062 SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 2063 // Required. Specify up to 10 language codes here. 2064 TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"` 2065 // Optional. The models to use for translation. Map's key is target language 2066 // code. Map's value is model name. Value can be a built-in general model, 2067 // or an AutoML Translation model. 2068 // 2069 // The value format depends on model type: 2070 // 2071 // - AutoML Translation models: 2072 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 2073 // 2074 // - General (built-in) models: 2075 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 2076 // 2077 // 2078 // If the map is empty or a specific model is 2079 // not requested for a language pair, then default google model (nmt) is used. 2080 Models map[string]string `protobuf:"bytes,4,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2081 // Required. Input configurations. 2082 // The total number of files matched should be <= 100. 2083 // The total content size should be <= 100M Unicode codepoints. 2084 // The files must use UTF-8 encoding. 2085 InputConfigs []*InputConfig `protobuf:"bytes,5,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"` 2086 // Required. Output configuration. 2087 // If 2 input configs match to the same file (that is, same input path), 2088 // we don't generate output for duplicate inputs. 2089 OutputConfig *OutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 2090 // Optional. Glossaries to be applied for translation. 2091 // It's keyed by target language code. 2092 Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2093 // Optional. The labels with user-defined metadata for the request. 2094 // 2095 // Label keys and values can be no longer than 63 characters 2096 // (Unicode codepoints), can only contain lowercase letters, numeric 2097 // characters, underscores and dashes. International characters are allowed. 2098 // Label values are optional. Label keys must start with a letter. 2099 // 2100 // See https://cloud.google.com/translate/docs/labels for more information. 2101 Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2102} 2103 2104func (x *BatchTranslateTextRequest) Reset() { 2105 *x = BatchTranslateTextRequest{} 2106 if protoimpl.UnsafeEnabled { 2107 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19] 2108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2109 ms.StoreMessageInfo(mi) 2110 } 2111} 2112 2113func (x *BatchTranslateTextRequest) String() string { 2114 return protoimpl.X.MessageStringOf(x) 2115} 2116 2117func (*BatchTranslateTextRequest) ProtoMessage() {} 2118 2119func (x *BatchTranslateTextRequest) ProtoReflect() protoreflect.Message { 2120 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19] 2121 if protoimpl.UnsafeEnabled && x != nil { 2122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2123 if ms.LoadMessageInfo() == nil { 2124 ms.StoreMessageInfo(mi) 2125 } 2126 return ms 2127 } 2128 return mi.MessageOf(x) 2129} 2130 2131// Deprecated: Use BatchTranslateTextRequest.ProtoReflect.Descriptor instead. 2132func (*BatchTranslateTextRequest) Descriptor() ([]byte, []int) { 2133 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{19} 2134} 2135 2136func (x *BatchTranslateTextRequest) GetParent() string { 2137 if x != nil { 2138 return x.Parent 2139 } 2140 return "" 2141} 2142 2143func (x *BatchTranslateTextRequest) GetSourceLanguageCode() string { 2144 if x != nil { 2145 return x.SourceLanguageCode 2146 } 2147 return "" 2148} 2149 2150func (x *BatchTranslateTextRequest) GetTargetLanguageCodes() []string { 2151 if x != nil { 2152 return x.TargetLanguageCodes 2153 } 2154 return nil 2155} 2156 2157func (x *BatchTranslateTextRequest) GetModels() map[string]string { 2158 if x != nil { 2159 return x.Models 2160 } 2161 return nil 2162} 2163 2164func (x *BatchTranslateTextRequest) GetInputConfigs() []*InputConfig { 2165 if x != nil { 2166 return x.InputConfigs 2167 } 2168 return nil 2169} 2170 2171func (x *BatchTranslateTextRequest) GetOutputConfig() *OutputConfig { 2172 if x != nil { 2173 return x.OutputConfig 2174 } 2175 return nil 2176} 2177 2178func (x *BatchTranslateTextRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig { 2179 if x != nil { 2180 return x.Glossaries 2181 } 2182 return nil 2183} 2184 2185func (x *BatchTranslateTextRequest) GetLabels() map[string]string { 2186 if x != nil { 2187 return x.Labels 2188 } 2189 return nil 2190} 2191 2192// State metadata for the batch translation operation. 2193type BatchTranslateMetadata struct { 2194 state protoimpl.MessageState 2195 sizeCache protoimpl.SizeCache 2196 unknownFields protoimpl.UnknownFields 2197 2198 // The state of the operation. 2199 State BatchTranslateMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.BatchTranslateMetadata_State" json:"state,omitempty"` 2200 // Number of successfully translated characters so far (Unicode codepoints). 2201 TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 2202 // Number of characters that have failed to process so far (Unicode 2203 // codepoints). 2204 FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 2205 // Total number of characters (Unicode codepoints). 2206 // This is the total number of codepoints from input files times the number of 2207 // target languages and appears here shortly after the call is submitted. 2208 TotalCharacters int64 `protobuf:"varint,4,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 2209 // Time when the operation was submitted. 2210 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2211} 2212 2213func (x *BatchTranslateMetadata) Reset() { 2214 *x = BatchTranslateMetadata{} 2215 if protoimpl.UnsafeEnabled { 2216 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20] 2217 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2218 ms.StoreMessageInfo(mi) 2219 } 2220} 2221 2222func (x *BatchTranslateMetadata) String() string { 2223 return protoimpl.X.MessageStringOf(x) 2224} 2225 2226func (*BatchTranslateMetadata) ProtoMessage() {} 2227 2228func (x *BatchTranslateMetadata) ProtoReflect() protoreflect.Message { 2229 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20] 2230 if protoimpl.UnsafeEnabled && x != nil { 2231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2232 if ms.LoadMessageInfo() == nil { 2233 ms.StoreMessageInfo(mi) 2234 } 2235 return ms 2236 } 2237 return mi.MessageOf(x) 2238} 2239 2240// Deprecated: Use BatchTranslateMetadata.ProtoReflect.Descriptor instead. 2241func (*BatchTranslateMetadata) Descriptor() ([]byte, []int) { 2242 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{20} 2243} 2244 2245func (x *BatchTranslateMetadata) GetState() BatchTranslateMetadata_State { 2246 if x != nil { 2247 return x.State 2248 } 2249 return BatchTranslateMetadata_STATE_UNSPECIFIED 2250} 2251 2252func (x *BatchTranslateMetadata) GetTranslatedCharacters() int64 { 2253 if x != nil { 2254 return x.TranslatedCharacters 2255 } 2256 return 0 2257} 2258 2259func (x *BatchTranslateMetadata) GetFailedCharacters() int64 { 2260 if x != nil { 2261 return x.FailedCharacters 2262 } 2263 return 0 2264} 2265 2266func (x *BatchTranslateMetadata) GetTotalCharacters() int64 { 2267 if x != nil { 2268 return x.TotalCharacters 2269 } 2270 return 0 2271} 2272 2273func (x *BatchTranslateMetadata) GetSubmitTime() *timestamppb.Timestamp { 2274 if x != nil { 2275 return x.SubmitTime 2276 } 2277 return nil 2278} 2279 2280// Stored in the 2281// [google.longrunning.Operation.response][google.longrunning.Operation.response] 2282// field returned by BatchTranslateText if at least one sentence is translated 2283// successfully. 2284type BatchTranslateResponse struct { 2285 state protoimpl.MessageState 2286 sizeCache protoimpl.SizeCache 2287 unknownFields protoimpl.UnknownFields 2288 2289 // Total number of characters (Unicode codepoints). 2290 TotalCharacters int64 `protobuf:"varint,1,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 2291 // Number of successfully translated characters (Unicode codepoints). 2292 TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 2293 // Number of characters that have failed to process (Unicode codepoints). 2294 FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 2295 // Time when the operation was submitted. 2296 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2297 // The time when the operation is finished and 2298 // [google.longrunning.Operation.done][google.longrunning.Operation.done] is 2299 // set to true. 2300 EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2301} 2302 2303func (x *BatchTranslateResponse) Reset() { 2304 *x = BatchTranslateResponse{} 2305 if protoimpl.UnsafeEnabled { 2306 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21] 2307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2308 ms.StoreMessageInfo(mi) 2309 } 2310} 2311 2312func (x *BatchTranslateResponse) String() string { 2313 return protoimpl.X.MessageStringOf(x) 2314} 2315 2316func (*BatchTranslateResponse) ProtoMessage() {} 2317 2318func (x *BatchTranslateResponse) ProtoReflect() protoreflect.Message { 2319 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21] 2320 if protoimpl.UnsafeEnabled && x != nil { 2321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2322 if ms.LoadMessageInfo() == nil { 2323 ms.StoreMessageInfo(mi) 2324 } 2325 return ms 2326 } 2327 return mi.MessageOf(x) 2328} 2329 2330// Deprecated: Use BatchTranslateResponse.ProtoReflect.Descriptor instead. 2331func (*BatchTranslateResponse) Descriptor() ([]byte, []int) { 2332 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{21} 2333} 2334 2335func (x *BatchTranslateResponse) GetTotalCharacters() int64 { 2336 if x != nil { 2337 return x.TotalCharacters 2338 } 2339 return 0 2340} 2341 2342func (x *BatchTranslateResponse) GetTranslatedCharacters() int64 { 2343 if x != nil { 2344 return x.TranslatedCharacters 2345 } 2346 return 0 2347} 2348 2349func (x *BatchTranslateResponse) GetFailedCharacters() int64 { 2350 if x != nil { 2351 return x.FailedCharacters 2352 } 2353 return 0 2354} 2355 2356func (x *BatchTranslateResponse) GetSubmitTime() *timestamppb.Timestamp { 2357 if x != nil { 2358 return x.SubmitTime 2359 } 2360 return nil 2361} 2362 2363func (x *BatchTranslateResponse) GetEndTime() *timestamppb.Timestamp { 2364 if x != nil { 2365 return x.EndTime 2366 } 2367 return nil 2368} 2369 2370// Input configuration for glossaries. 2371type GlossaryInputConfig struct { 2372 state protoimpl.MessageState 2373 sizeCache protoimpl.SizeCache 2374 unknownFields protoimpl.UnknownFields 2375 2376 // Required. Specify the input. 2377 // 2378 // Types that are assignable to Source: 2379 // *GlossaryInputConfig_GcsSource 2380 Source isGlossaryInputConfig_Source `protobuf_oneof:"source"` 2381} 2382 2383func (x *GlossaryInputConfig) Reset() { 2384 *x = GlossaryInputConfig{} 2385 if protoimpl.UnsafeEnabled { 2386 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22] 2387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2388 ms.StoreMessageInfo(mi) 2389 } 2390} 2391 2392func (x *GlossaryInputConfig) String() string { 2393 return protoimpl.X.MessageStringOf(x) 2394} 2395 2396func (*GlossaryInputConfig) ProtoMessage() {} 2397 2398func (x *GlossaryInputConfig) ProtoReflect() protoreflect.Message { 2399 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22] 2400 if protoimpl.UnsafeEnabled && x != nil { 2401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2402 if ms.LoadMessageInfo() == nil { 2403 ms.StoreMessageInfo(mi) 2404 } 2405 return ms 2406 } 2407 return mi.MessageOf(x) 2408} 2409 2410// Deprecated: Use GlossaryInputConfig.ProtoReflect.Descriptor instead. 2411func (*GlossaryInputConfig) Descriptor() ([]byte, []int) { 2412 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{22} 2413} 2414 2415func (m *GlossaryInputConfig) GetSource() isGlossaryInputConfig_Source { 2416 if m != nil { 2417 return m.Source 2418 } 2419 return nil 2420} 2421 2422func (x *GlossaryInputConfig) GetGcsSource() *GcsSource { 2423 if x, ok := x.GetSource().(*GlossaryInputConfig_GcsSource); ok { 2424 return x.GcsSource 2425 } 2426 return nil 2427} 2428 2429type isGlossaryInputConfig_Source interface { 2430 isGlossaryInputConfig_Source() 2431} 2432 2433type GlossaryInputConfig_GcsSource struct { 2434 // Required. Google Cloud Storage location of glossary data. 2435 // File format is determined based on the filename extension. API returns 2436 // [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file 2437 // formats. Wildcards are not allowed. This must be a single file in one of 2438 // the following formats: 2439 // 2440 // For unidirectional glossaries: 2441 // 2442 // - TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated. 2443 // The first column is source text. The second column is target text. 2444 // The file must not contain headers. That is, the first row is data, not 2445 // column names. 2446 // 2447 // - TMX (`.tmx`): TMX file with parallel data defining source/target term 2448 // pairs. 2449 // 2450 // For equivalent term sets glossaries: 2451 // 2452 // - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms 2453 // in multiple languages. The format is defined for Google Translation 2454 // Toolkit and documented in [Use a 2455 // glossary](https://support.google.com/translatortoolkit/answer/6306379?hl=en). 2456 GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 2457} 2458 2459func (*GlossaryInputConfig_GcsSource) isGlossaryInputConfig_Source() {} 2460 2461// Represents a glossary built from user provided data. 2462type Glossary struct { 2463 state protoimpl.MessageState 2464 sizeCache protoimpl.SizeCache 2465 unknownFields protoimpl.UnknownFields 2466 2467 // Required. The resource name of the glossary. Glossary names have the form 2468 // `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`. 2469 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2470 // Languages supported by the glossary. 2471 // 2472 // Types that are assignable to Languages: 2473 // *Glossary_LanguagePair 2474 // *Glossary_LanguageCodesSet_ 2475 Languages isGlossary_Languages `protobuf_oneof:"languages"` 2476 // Required. Provides examples to build the glossary from. 2477 // Total glossary must not exceed 10M Unicode codepoints. 2478 InputConfig *GlossaryInputConfig `protobuf:"bytes,5,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` 2479 // Output only. The number of entries defined in the glossary. 2480 EntryCount int32 `protobuf:"varint,6,opt,name=entry_count,json=entryCount,proto3" json:"entry_count,omitempty"` 2481 // Output only. When CreateGlossary was called. 2482 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2483 // Output only. When the glossary creation was finished. 2484 EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2485} 2486 2487func (x *Glossary) Reset() { 2488 *x = Glossary{} 2489 if protoimpl.UnsafeEnabled { 2490 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23] 2491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2492 ms.StoreMessageInfo(mi) 2493 } 2494} 2495 2496func (x *Glossary) String() string { 2497 return protoimpl.X.MessageStringOf(x) 2498} 2499 2500func (*Glossary) ProtoMessage() {} 2501 2502func (x *Glossary) ProtoReflect() protoreflect.Message { 2503 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23] 2504 if protoimpl.UnsafeEnabled && x != nil { 2505 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2506 if ms.LoadMessageInfo() == nil { 2507 ms.StoreMessageInfo(mi) 2508 } 2509 return ms 2510 } 2511 return mi.MessageOf(x) 2512} 2513 2514// Deprecated: Use Glossary.ProtoReflect.Descriptor instead. 2515func (*Glossary) Descriptor() ([]byte, []int) { 2516 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23} 2517} 2518 2519func (x *Glossary) GetName() string { 2520 if x != nil { 2521 return x.Name 2522 } 2523 return "" 2524} 2525 2526func (m *Glossary) GetLanguages() isGlossary_Languages { 2527 if m != nil { 2528 return m.Languages 2529 } 2530 return nil 2531} 2532 2533func (x *Glossary) GetLanguagePair() *Glossary_LanguageCodePair { 2534 if x, ok := x.GetLanguages().(*Glossary_LanguagePair); ok { 2535 return x.LanguagePair 2536 } 2537 return nil 2538} 2539 2540func (x *Glossary) GetLanguageCodesSet() *Glossary_LanguageCodesSet { 2541 if x, ok := x.GetLanguages().(*Glossary_LanguageCodesSet_); ok { 2542 return x.LanguageCodesSet 2543 } 2544 return nil 2545} 2546 2547func (x *Glossary) GetInputConfig() *GlossaryInputConfig { 2548 if x != nil { 2549 return x.InputConfig 2550 } 2551 return nil 2552} 2553 2554func (x *Glossary) GetEntryCount() int32 { 2555 if x != nil { 2556 return x.EntryCount 2557 } 2558 return 0 2559} 2560 2561func (x *Glossary) GetSubmitTime() *timestamppb.Timestamp { 2562 if x != nil { 2563 return x.SubmitTime 2564 } 2565 return nil 2566} 2567 2568func (x *Glossary) GetEndTime() *timestamppb.Timestamp { 2569 if x != nil { 2570 return x.EndTime 2571 } 2572 return nil 2573} 2574 2575type isGlossary_Languages interface { 2576 isGlossary_Languages() 2577} 2578 2579type Glossary_LanguagePair struct { 2580 // Used with unidirectional glossaries. 2581 LanguagePair *Glossary_LanguageCodePair `protobuf:"bytes,3,opt,name=language_pair,json=languagePair,proto3,oneof"` 2582} 2583 2584type Glossary_LanguageCodesSet_ struct { 2585 // Used with equivalent term set glossaries. 2586 LanguageCodesSet *Glossary_LanguageCodesSet `protobuf:"bytes,4,opt,name=language_codes_set,json=languageCodesSet,proto3,oneof"` 2587} 2588 2589func (*Glossary_LanguagePair) isGlossary_Languages() {} 2590 2591func (*Glossary_LanguageCodesSet_) isGlossary_Languages() {} 2592 2593// Request message for CreateGlossary. 2594type CreateGlossaryRequest struct { 2595 state protoimpl.MessageState 2596 sizeCache protoimpl.SizeCache 2597 unknownFields protoimpl.UnknownFields 2598 2599 // Required. The project name. 2600 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2601 // Required. The glossary to create. 2602 Glossary *Glossary `protobuf:"bytes,2,opt,name=glossary,proto3" json:"glossary,omitempty"` 2603} 2604 2605func (x *CreateGlossaryRequest) Reset() { 2606 *x = CreateGlossaryRequest{} 2607 if protoimpl.UnsafeEnabled { 2608 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24] 2609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2610 ms.StoreMessageInfo(mi) 2611 } 2612} 2613 2614func (x *CreateGlossaryRequest) String() string { 2615 return protoimpl.X.MessageStringOf(x) 2616} 2617 2618func (*CreateGlossaryRequest) ProtoMessage() {} 2619 2620func (x *CreateGlossaryRequest) ProtoReflect() protoreflect.Message { 2621 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24] 2622 if protoimpl.UnsafeEnabled && x != nil { 2623 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2624 if ms.LoadMessageInfo() == nil { 2625 ms.StoreMessageInfo(mi) 2626 } 2627 return ms 2628 } 2629 return mi.MessageOf(x) 2630} 2631 2632// Deprecated: Use CreateGlossaryRequest.ProtoReflect.Descriptor instead. 2633func (*CreateGlossaryRequest) Descriptor() ([]byte, []int) { 2634 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{24} 2635} 2636 2637func (x *CreateGlossaryRequest) GetParent() string { 2638 if x != nil { 2639 return x.Parent 2640 } 2641 return "" 2642} 2643 2644func (x *CreateGlossaryRequest) GetGlossary() *Glossary { 2645 if x != nil { 2646 return x.Glossary 2647 } 2648 return nil 2649} 2650 2651// Request message for GetGlossary. 2652type GetGlossaryRequest struct { 2653 state protoimpl.MessageState 2654 sizeCache protoimpl.SizeCache 2655 unknownFields protoimpl.UnknownFields 2656 2657 // Required. The name of the glossary to retrieve. 2658 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2659} 2660 2661func (x *GetGlossaryRequest) Reset() { 2662 *x = GetGlossaryRequest{} 2663 if protoimpl.UnsafeEnabled { 2664 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25] 2665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2666 ms.StoreMessageInfo(mi) 2667 } 2668} 2669 2670func (x *GetGlossaryRequest) String() string { 2671 return protoimpl.X.MessageStringOf(x) 2672} 2673 2674func (*GetGlossaryRequest) ProtoMessage() {} 2675 2676func (x *GetGlossaryRequest) ProtoReflect() protoreflect.Message { 2677 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25] 2678 if protoimpl.UnsafeEnabled && x != nil { 2679 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2680 if ms.LoadMessageInfo() == nil { 2681 ms.StoreMessageInfo(mi) 2682 } 2683 return ms 2684 } 2685 return mi.MessageOf(x) 2686} 2687 2688// Deprecated: Use GetGlossaryRequest.ProtoReflect.Descriptor instead. 2689func (*GetGlossaryRequest) Descriptor() ([]byte, []int) { 2690 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{25} 2691} 2692 2693func (x *GetGlossaryRequest) GetName() string { 2694 if x != nil { 2695 return x.Name 2696 } 2697 return "" 2698} 2699 2700// Request message for DeleteGlossary. 2701type DeleteGlossaryRequest struct { 2702 state protoimpl.MessageState 2703 sizeCache protoimpl.SizeCache 2704 unknownFields protoimpl.UnknownFields 2705 2706 // Required. The name of the glossary to delete. 2707 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2708} 2709 2710func (x *DeleteGlossaryRequest) Reset() { 2711 *x = DeleteGlossaryRequest{} 2712 if protoimpl.UnsafeEnabled { 2713 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26] 2714 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2715 ms.StoreMessageInfo(mi) 2716 } 2717} 2718 2719func (x *DeleteGlossaryRequest) String() string { 2720 return protoimpl.X.MessageStringOf(x) 2721} 2722 2723func (*DeleteGlossaryRequest) ProtoMessage() {} 2724 2725func (x *DeleteGlossaryRequest) ProtoReflect() protoreflect.Message { 2726 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26] 2727 if protoimpl.UnsafeEnabled && x != nil { 2728 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2729 if ms.LoadMessageInfo() == nil { 2730 ms.StoreMessageInfo(mi) 2731 } 2732 return ms 2733 } 2734 return mi.MessageOf(x) 2735} 2736 2737// Deprecated: Use DeleteGlossaryRequest.ProtoReflect.Descriptor instead. 2738func (*DeleteGlossaryRequest) Descriptor() ([]byte, []int) { 2739 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{26} 2740} 2741 2742func (x *DeleteGlossaryRequest) GetName() string { 2743 if x != nil { 2744 return x.Name 2745 } 2746 return "" 2747} 2748 2749// Request message for ListGlossaries. 2750type ListGlossariesRequest struct { 2751 state protoimpl.MessageState 2752 sizeCache protoimpl.SizeCache 2753 unknownFields protoimpl.UnknownFields 2754 2755 // Required. The name of the project from which to list all of the glossaries. 2756 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2757 // Optional. Requested page size. The server may return fewer glossaries than 2758 // requested. If unspecified, the server picks an appropriate default. 2759 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2760 // Optional. A token identifying a page of results the server should return. 2761 // Typically, this is the value of [ListGlossariesResponse.next_page_token] 2762 // returned from the previous call to `ListGlossaries` method. 2763 // The first page is returned if `page_token`is empty or missing. 2764 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2765 // Optional. Filter specifying constraints of a list operation. 2766 // Specify the constraint by the format of "key=value", where key must be 2767 // "src" or "tgt", and the value must be a valid language code. 2768 // For multiple restrictions, concatenate them by "AND" (uppercase only), 2769 // such as: "src=en-US AND tgt=zh-CN". Notice that the exact match is used 2770 // here, which means using 'en-US' and 'en' can lead to different results, 2771 // which depends on the language code you used when you create the glossary. 2772 // For the unidirectional glossaries, the "src" and "tgt" add restrictions 2773 // on the source and target language code separately. 2774 // For the equivalent term set glossaries, the "src" and/or "tgt" add 2775 // restrictions on the term set. 2776 // For example: "src=en-US AND tgt=zh-CN" will only pick the unidirectional 2777 // glossaries which exactly match the source language code as "en-US" and the 2778 // target language code "zh-CN", but all equivalent term set glossaries which 2779 // contain "en-US" and "zh-CN" in their language set will be picked. 2780 // If missing, no filtering is performed. 2781 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 2782} 2783 2784func (x *ListGlossariesRequest) Reset() { 2785 *x = ListGlossariesRequest{} 2786 if protoimpl.UnsafeEnabled { 2787 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27] 2788 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2789 ms.StoreMessageInfo(mi) 2790 } 2791} 2792 2793func (x *ListGlossariesRequest) String() string { 2794 return protoimpl.X.MessageStringOf(x) 2795} 2796 2797func (*ListGlossariesRequest) ProtoMessage() {} 2798 2799func (x *ListGlossariesRequest) ProtoReflect() protoreflect.Message { 2800 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27] 2801 if protoimpl.UnsafeEnabled && x != nil { 2802 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2803 if ms.LoadMessageInfo() == nil { 2804 ms.StoreMessageInfo(mi) 2805 } 2806 return ms 2807 } 2808 return mi.MessageOf(x) 2809} 2810 2811// Deprecated: Use ListGlossariesRequest.ProtoReflect.Descriptor instead. 2812func (*ListGlossariesRequest) Descriptor() ([]byte, []int) { 2813 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{27} 2814} 2815 2816func (x *ListGlossariesRequest) GetParent() string { 2817 if x != nil { 2818 return x.Parent 2819 } 2820 return "" 2821} 2822 2823func (x *ListGlossariesRequest) GetPageSize() int32 { 2824 if x != nil { 2825 return x.PageSize 2826 } 2827 return 0 2828} 2829 2830func (x *ListGlossariesRequest) GetPageToken() string { 2831 if x != nil { 2832 return x.PageToken 2833 } 2834 return "" 2835} 2836 2837func (x *ListGlossariesRequest) GetFilter() string { 2838 if x != nil { 2839 return x.Filter 2840 } 2841 return "" 2842} 2843 2844// Response message for ListGlossaries. 2845type ListGlossariesResponse struct { 2846 state protoimpl.MessageState 2847 sizeCache protoimpl.SizeCache 2848 unknownFields protoimpl.UnknownFields 2849 2850 // The list of glossaries for a project. 2851 Glossaries []*Glossary `protobuf:"bytes,1,rep,name=glossaries,proto3" json:"glossaries,omitempty"` 2852 // A token to retrieve a page of results. Pass this value in the 2853 // [ListGlossariesRequest.page_token] field in the subsequent call to 2854 // `ListGlossaries` method to retrieve the next page of results. 2855 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2856} 2857 2858func (x *ListGlossariesResponse) Reset() { 2859 *x = ListGlossariesResponse{} 2860 if protoimpl.UnsafeEnabled { 2861 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28] 2862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2863 ms.StoreMessageInfo(mi) 2864 } 2865} 2866 2867func (x *ListGlossariesResponse) String() string { 2868 return protoimpl.X.MessageStringOf(x) 2869} 2870 2871func (*ListGlossariesResponse) ProtoMessage() {} 2872 2873func (x *ListGlossariesResponse) ProtoReflect() protoreflect.Message { 2874 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28] 2875 if protoimpl.UnsafeEnabled && x != nil { 2876 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2877 if ms.LoadMessageInfo() == nil { 2878 ms.StoreMessageInfo(mi) 2879 } 2880 return ms 2881 } 2882 return mi.MessageOf(x) 2883} 2884 2885// Deprecated: Use ListGlossariesResponse.ProtoReflect.Descriptor instead. 2886func (*ListGlossariesResponse) Descriptor() ([]byte, []int) { 2887 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{28} 2888} 2889 2890func (x *ListGlossariesResponse) GetGlossaries() []*Glossary { 2891 if x != nil { 2892 return x.Glossaries 2893 } 2894 return nil 2895} 2896 2897func (x *ListGlossariesResponse) GetNextPageToken() string { 2898 if x != nil { 2899 return x.NextPageToken 2900 } 2901 return "" 2902} 2903 2904// Stored in the 2905// [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata] 2906// field returned by CreateGlossary. 2907type CreateGlossaryMetadata struct { 2908 state protoimpl.MessageState 2909 sizeCache protoimpl.SizeCache 2910 unknownFields protoimpl.UnknownFields 2911 2912 // The name of the glossary that is being created. 2913 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2914 // The current state of the glossary creation operation. 2915 State CreateGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.CreateGlossaryMetadata_State" json:"state,omitempty"` 2916 // The time when the operation was submitted to the server. 2917 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2918} 2919 2920func (x *CreateGlossaryMetadata) Reset() { 2921 *x = CreateGlossaryMetadata{} 2922 if protoimpl.UnsafeEnabled { 2923 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29] 2924 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2925 ms.StoreMessageInfo(mi) 2926 } 2927} 2928 2929func (x *CreateGlossaryMetadata) String() string { 2930 return protoimpl.X.MessageStringOf(x) 2931} 2932 2933func (*CreateGlossaryMetadata) ProtoMessage() {} 2934 2935func (x *CreateGlossaryMetadata) ProtoReflect() protoreflect.Message { 2936 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29] 2937 if protoimpl.UnsafeEnabled && x != nil { 2938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2939 if ms.LoadMessageInfo() == nil { 2940 ms.StoreMessageInfo(mi) 2941 } 2942 return ms 2943 } 2944 return mi.MessageOf(x) 2945} 2946 2947// Deprecated: Use CreateGlossaryMetadata.ProtoReflect.Descriptor instead. 2948func (*CreateGlossaryMetadata) Descriptor() ([]byte, []int) { 2949 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{29} 2950} 2951 2952func (x *CreateGlossaryMetadata) GetName() string { 2953 if x != nil { 2954 return x.Name 2955 } 2956 return "" 2957} 2958 2959func (x *CreateGlossaryMetadata) GetState() CreateGlossaryMetadata_State { 2960 if x != nil { 2961 return x.State 2962 } 2963 return CreateGlossaryMetadata_STATE_UNSPECIFIED 2964} 2965 2966func (x *CreateGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp { 2967 if x != nil { 2968 return x.SubmitTime 2969 } 2970 return nil 2971} 2972 2973// Stored in the 2974// [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata] 2975// field returned by DeleteGlossary. 2976type DeleteGlossaryMetadata struct { 2977 state protoimpl.MessageState 2978 sizeCache protoimpl.SizeCache 2979 unknownFields protoimpl.UnknownFields 2980 2981 // The name of the glossary that is being deleted. 2982 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2983 // The current state of the glossary deletion operation. 2984 State DeleteGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.DeleteGlossaryMetadata_State" json:"state,omitempty"` 2985 // The time when the operation was submitted to the server. 2986 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2987} 2988 2989func (x *DeleteGlossaryMetadata) Reset() { 2990 *x = DeleteGlossaryMetadata{} 2991 if protoimpl.UnsafeEnabled { 2992 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30] 2993 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2994 ms.StoreMessageInfo(mi) 2995 } 2996} 2997 2998func (x *DeleteGlossaryMetadata) String() string { 2999 return protoimpl.X.MessageStringOf(x) 3000} 3001 3002func (*DeleteGlossaryMetadata) ProtoMessage() {} 3003 3004func (x *DeleteGlossaryMetadata) ProtoReflect() protoreflect.Message { 3005 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30] 3006 if protoimpl.UnsafeEnabled && x != nil { 3007 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3008 if ms.LoadMessageInfo() == nil { 3009 ms.StoreMessageInfo(mi) 3010 } 3011 return ms 3012 } 3013 return mi.MessageOf(x) 3014} 3015 3016// Deprecated: Use DeleteGlossaryMetadata.ProtoReflect.Descriptor instead. 3017func (*DeleteGlossaryMetadata) Descriptor() ([]byte, []int) { 3018 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{30} 3019} 3020 3021func (x *DeleteGlossaryMetadata) GetName() string { 3022 if x != nil { 3023 return x.Name 3024 } 3025 return "" 3026} 3027 3028func (x *DeleteGlossaryMetadata) GetState() DeleteGlossaryMetadata_State { 3029 if x != nil { 3030 return x.State 3031 } 3032 return DeleteGlossaryMetadata_STATE_UNSPECIFIED 3033} 3034 3035func (x *DeleteGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp { 3036 if x != nil { 3037 return x.SubmitTime 3038 } 3039 return nil 3040} 3041 3042// Stored in the 3043// [google.longrunning.Operation.response][google.longrunning.Operation.response] 3044// field returned by DeleteGlossary. 3045type DeleteGlossaryResponse struct { 3046 state protoimpl.MessageState 3047 sizeCache protoimpl.SizeCache 3048 unknownFields protoimpl.UnknownFields 3049 3050 // The name of the deleted glossary. 3051 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 3052 // The time when the operation was submitted to the server. 3053 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 3054 // The time when the glossary deletion is finished and 3055 // [google.longrunning.Operation.done][google.longrunning.Operation.done] is 3056 // set to true. 3057 EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3058} 3059 3060func (x *DeleteGlossaryResponse) Reset() { 3061 *x = DeleteGlossaryResponse{} 3062 if protoimpl.UnsafeEnabled { 3063 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31] 3064 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3065 ms.StoreMessageInfo(mi) 3066 } 3067} 3068 3069func (x *DeleteGlossaryResponse) String() string { 3070 return protoimpl.X.MessageStringOf(x) 3071} 3072 3073func (*DeleteGlossaryResponse) ProtoMessage() {} 3074 3075func (x *DeleteGlossaryResponse) ProtoReflect() protoreflect.Message { 3076 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31] 3077 if protoimpl.UnsafeEnabled && x != nil { 3078 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3079 if ms.LoadMessageInfo() == nil { 3080 ms.StoreMessageInfo(mi) 3081 } 3082 return ms 3083 } 3084 return mi.MessageOf(x) 3085} 3086 3087// Deprecated: Use DeleteGlossaryResponse.ProtoReflect.Descriptor instead. 3088func (*DeleteGlossaryResponse) Descriptor() ([]byte, []int) { 3089 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{31} 3090} 3091 3092func (x *DeleteGlossaryResponse) GetName() string { 3093 if x != nil { 3094 return x.Name 3095 } 3096 return "" 3097} 3098 3099func (x *DeleteGlossaryResponse) GetSubmitTime() *timestamppb.Timestamp { 3100 if x != nil { 3101 return x.SubmitTime 3102 } 3103 return nil 3104} 3105 3106func (x *DeleteGlossaryResponse) GetEndTime() *timestamppb.Timestamp { 3107 if x != nil { 3108 return x.EndTime 3109 } 3110 return nil 3111} 3112 3113// The BatchTranslateDocument request. 3114type BatchTranslateDocumentRequest struct { 3115 state protoimpl.MessageState 3116 sizeCache protoimpl.SizeCache 3117 unknownFields protoimpl.UnknownFields 3118 3119 // Required. Location to make a regional call. 3120 // 3121 // Format: `projects/{project-number-or-id}/locations/{location-id}`. 3122 // 3123 // The `global` location is not supported for batch translation. 3124 // 3125 // Only AutoML Translation models or glossaries within the same region (have 3126 // the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) 3127 // error is returned. 3128 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 3129 // Required. The BCP-47 language code of the input document if known, for 3130 // example, "en-US" or "sr-Latn". Supported language codes are listed in 3131 // Language Support (https://cloud.google.com/translate/docs/languages). 3132 SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 3133 // Required. The BCP-47 language code to use for translation of the input 3134 // document. Specify up to 10 language codes here. 3135 TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"` 3136 // Required. Input configurations. 3137 // The total number of files matched should be <= 100. 3138 // The total content size to translate should be <= 100M Unicode codepoints. 3139 // The files must use UTF-8 encoding. 3140 InputConfigs []*BatchDocumentInputConfig `protobuf:"bytes,4,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"` 3141 // Required. Output configuration. 3142 // If 2 input configs match to the same file (that is, same input path), 3143 // we don't generate output for duplicate inputs. 3144 OutputConfig *BatchDocumentOutputConfig `protobuf:"bytes,5,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 3145 // Optional. The models to use for translation. Map's key is target language 3146 // code. Map's value is the model name. Value can be a built-in general model, 3147 // or an AutoML Translation model. 3148 // 3149 // The value format depends on model type: 3150 // 3151 // - AutoML Translation models: 3152 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 3153 // 3154 // - General (built-in) models: 3155 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 3156 // 3157 // 3158 // If the map is empty or a specific model is not requested for a language 3159 // pair, then default google model (nmt) is used. 3160 Models map[string]string `protobuf:"bytes,6,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 3161 // Optional. Glossaries to be applied. It's keyed by target language code. 3162 Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 3163 // Optional. File format conversion map to be applied to all input files. 3164 // Map's key is the original mime_type. Map's value is the target mime_type of 3165 // translated documents. 3166 // 3167 // Supported file format conversion includes: 3168 // - `application/pdf` to 3169 // `application/vnd.openxmlformats-officedocument.wordprocessingml.document` 3170 // 3171 // If nothing specified, output files will be in the same format as the 3172 // original file. 3173 FormatConversions map[string]string `protobuf:"bytes,8,rep,name=format_conversions,json=formatConversions,proto3" json:"format_conversions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 3174} 3175 3176func (x *BatchTranslateDocumentRequest) Reset() { 3177 *x = BatchTranslateDocumentRequest{} 3178 if protoimpl.UnsafeEnabled { 3179 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32] 3180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3181 ms.StoreMessageInfo(mi) 3182 } 3183} 3184 3185func (x *BatchTranslateDocumentRequest) String() string { 3186 return protoimpl.X.MessageStringOf(x) 3187} 3188 3189func (*BatchTranslateDocumentRequest) ProtoMessage() {} 3190 3191func (x *BatchTranslateDocumentRequest) ProtoReflect() protoreflect.Message { 3192 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32] 3193 if protoimpl.UnsafeEnabled && x != nil { 3194 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3195 if ms.LoadMessageInfo() == nil { 3196 ms.StoreMessageInfo(mi) 3197 } 3198 return ms 3199 } 3200 return mi.MessageOf(x) 3201} 3202 3203// Deprecated: Use BatchTranslateDocumentRequest.ProtoReflect.Descriptor instead. 3204func (*BatchTranslateDocumentRequest) Descriptor() ([]byte, []int) { 3205 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{32} 3206} 3207 3208func (x *BatchTranslateDocumentRequest) GetParent() string { 3209 if x != nil { 3210 return x.Parent 3211 } 3212 return "" 3213} 3214 3215func (x *BatchTranslateDocumentRequest) GetSourceLanguageCode() string { 3216 if x != nil { 3217 return x.SourceLanguageCode 3218 } 3219 return "" 3220} 3221 3222func (x *BatchTranslateDocumentRequest) GetTargetLanguageCodes() []string { 3223 if x != nil { 3224 return x.TargetLanguageCodes 3225 } 3226 return nil 3227} 3228 3229func (x *BatchTranslateDocumentRequest) GetInputConfigs() []*BatchDocumentInputConfig { 3230 if x != nil { 3231 return x.InputConfigs 3232 } 3233 return nil 3234} 3235 3236func (x *BatchTranslateDocumentRequest) GetOutputConfig() *BatchDocumentOutputConfig { 3237 if x != nil { 3238 return x.OutputConfig 3239 } 3240 return nil 3241} 3242 3243func (x *BatchTranslateDocumentRequest) GetModels() map[string]string { 3244 if x != nil { 3245 return x.Models 3246 } 3247 return nil 3248} 3249 3250func (x *BatchTranslateDocumentRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig { 3251 if x != nil { 3252 return x.Glossaries 3253 } 3254 return nil 3255} 3256 3257func (x *BatchTranslateDocumentRequest) GetFormatConversions() map[string]string { 3258 if x != nil { 3259 return x.FormatConversions 3260 } 3261 return nil 3262} 3263 3264// Input configuration for BatchTranslateDocument request. 3265type BatchDocumentInputConfig struct { 3266 state protoimpl.MessageState 3267 sizeCache protoimpl.SizeCache 3268 unknownFields protoimpl.UnknownFields 3269 3270 // Specify the input. 3271 // 3272 // Types that are assignable to Source: 3273 // *BatchDocumentInputConfig_GcsSource 3274 Source isBatchDocumentInputConfig_Source `protobuf_oneof:"source"` 3275} 3276 3277func (x *BatchDocumentInputConfig) Reset() { 3278 *x = BatchDocumentInputConfig{} 3279 if protoimpl.UnsafeEnabled { 3280 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33] 3281 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3282 ms.StoreMessageInfo(mi) 3283 } 3284} 3285 3286func (x *BatchDocumentInputConfig) String() string { 3287 return protoimpl.X.MessageStringOf(x) 3288} 3289 3290func (*BatchDocumentInputConfig) ProtoMessage() {} 3291 3292func (x *BatchDocumentInputConfig) ProtoReflect() protoreflect.Message { 3293 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33] 3294 if protoimpl.UnsafeEnabled && x != nil { 3295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3296 if ms.LoadMessageInfo() == nil { 3297 ms.StoreMessageInfo(mi) 3298 } 3299 return ms 3300 } 3301 return mi.MessageOf(x) 3302} 3303 3304// Deprecated: Use BatchDocumentInputConfig.ProtoReflect.Descriptor instead. 3305func (*BatchDocumentInputConfig) Descriptor() ([]byte, []int) { 3306 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{33} 3307} 3308 3309func (m *BatchDocumentInputConfig) GetSource() isBatchDocumentInputConfig_Source { 3310 if m != nil { 3311 return m.Source 3312 } 3313 return nil 3314} 3315 3316func (x *BatchDocumentInputConfig) GetGcsSource() *GcsSource { 3317 if x, ok := x.GetSource().(*BatchDocumentInputConfig_GcsSource); ok { 3318 return x.GcsSource 3319 } 3320 return nil 3321} 3322 3323type isBatchDocumentInputConfig_Source interface { 3324 isBatchDocumentInputConfig_Source() 3325} 3326 3327type BatchDocumentInputConfig_GcsSource struct { 3328 // Google Cloud Storage location for the source input. 3329 // This can be a single file (for example, 3330 // `gs://translation-test/input.docx`) or a wildcard (for example, 3331 // `gs://translation-test/*`). 3332 // 3333 // File mime type is determined based on extension. Supported mime type 3334 // includes: 3335 // - `pdf`, application/pdf 3336 // - `docx`, 3337 // application/vnd.openxmlformats-officedocument.wordprocessingml.document 3338 // - `pptx`, 3339 // application/vnd.openxmlformats-officedocument.presentationml.presentation 3340 // - `xlsx`, 3341 // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 3342 // 3343 // The max file size to support for `.docx`, `.pptx` and `.xlsx` is 100MB. 3344 // The max file size to support for `.pdf` is 1GB and the max page limit is 3345 // 1000 pages. 3346 // The max file size to support for all input documents is 1GB. 3347 GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 3348} 3349 3350func (*BatchDocumentInputConfig_GcsSource) isBatchDocumentInputConfig_Source() {} 3351 3352// Output configuration for BatchTranslateDocument request. 3353type BatchDocumentOutputConfig struct { 3354 state protoimpl.MessageState 3355 sizeCache protoimpl.SizeCache 3356 unknownFields protoimpl.UnknownFields 3357 3358 // The destination of output. The destination directory provided must exist 3359 // and be empty. 3360 // 3361 // Types that are assignable to Destination: 3362 // *BatchDocumentOutputConfig_GcsDestination 3363 Destination isBatchDocumentOutputConfig_Destination `protobuf_oneof:"destination"` 3364} 3365 3366func (x *BatchDocumentOutputConfig) Reset() { 3367 *x = BatchDocumentOutputConfig{} 3368 if protoimpl.UnsafeEnabled { 3369 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34] 3370 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3371 ms.StoreMessageInfo(mi) 3372 } 3373} 3374 3375func (x *BatchDocumentOutputConfig) String() string { 3376 return protoimpl.X.MessageStringOf(x) 3377} 3378 3379func (*BatchDocumentOutputConfig) ProtoMessage() {} 3380 3381func (x *BatchDocumentOutputConfig) ProtoReflect() protoreflect.Message { 3382 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34] 3383 if protoimpl.UnsafeEnabled && x != nil { 3384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3385 if ms.LoadMessageInfo() == nil { 3386 ms.StoreMessageInfo(mi) 3387 } 3388 return ms 3389 } 3390 return mi.MessageOf(x) 3391} 3392 3393// Deprecated: Use BatchDocumentOutputConfig.ProtoReflect.Descriptor instead. 3394func (*BatchDocumentOutputConfig) Descriptor() ([]byte, []int) { 3395 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{34} 3396} 3397 3398func (m *BatchDocumentOutputConfig) GetDestination() isBatchDocumentOutputConfig_Destination { 3399 if m != nil { 3400 return m.Destination 3401 } 3402 return nil 3403} 3404 3405func (x *BatchDocumentOutputConfig) GetGcsDestination() *GcsDestination { 3406 if x, ok := x.GetDestination().(*BatchDocumentOutputConfig_GcsDestination); ok { 3407 return x.GcsDestination 3408 } 3409 return nil 3410} 3411 3412type isBatchDocumentOutputConfig_Destination interface { 3413 isBatchDocumentOutputConfig_Destination() 3414} 3415 3416type BatchDocumentOutputConfig_GcsDestination struct { 3417 // Google Cloud Storage destination for output content. 3418 // For every single input document (for example, gs://a/b/c.[extension]), we 3419 // generate at most 2 * n output files. (n is the # of target_language_codes 3420 // in the BatchTranslateDocumentRequest). 3421 // 3422 // While the input documents are being processed, we write/update an index 3423 // file `index.csv` under `gcs_destination.output_uri_prefix` (for example, 3424 // gs://translation_output/index.csv) The index file is generated/updated as 3425 // new files are being translated. The format is: 3426 // 3427 // input_document,target_language_code,translation_output,error_output, 3428 // glossary_translation_output,glossary_error_output 3429 // 3430 // `input_document` is one file we matched using gcs_source.input_uri. 3431 // `target_language_code` is provided in the request. 3432 // `translation_output` contains the translations. (details provided below) 3433 // `error_output` contains the error message during processing of the file. 3434 // Both translations_file and errors_file could be empty strings if we have 3435 // no content to output. 3436 // `glossary_translation_output` and `glossary_error_output` are the 3437 // translated output/error when we apply glossaries. They could also be 3438 // empty if we have no content to output. 3439 // 3440 // Once a row is present in index.csv, the input/output matching never 3441 // changes. Callers should also expect all the content in input_file are 3442 // processed and ready to be consumed (that is, no partial output file is 3443 // written). 3444 // 3445 // Since index.csv will be keeping updated during the process, please make 3446 // sure there is no custom retention policy applied on the output bucket 3447 // that may avoid file updating. 3448 // (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy) 3449 // 3450 // The naming format of translation output files follows (for target 3451 // language code [trg]): `translation_output`: 3452 // gs://translation_output/a_b_c_[trg]_translation.[extension] 3453 // `glossary_translation_output`: 3454 // gs://translation_test/a_b_c_[trg]_glossary_translation.[extension] The 3455 // output document will maintain the same file format as the input document. 3456 // 3457 // The naming format of error output files follows (for target language code 3458 // [trg]): `error_output`: gs://translation_test/a_b_c_[trg]_errors.txt 3459 // `glossary_error_output`: 3460 // gs://translation_test/a_b_c_[trg]_glossary_translation.txt The error 3461 // output is a txt file containing error details. 3462 GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 3463} 3464 3465func (*BatchDocumentOutputConfig_GcsDestination) isBatchDocumentOutputConfig_Destination() {} 3466 3467// Stored in the 3468// [google.longrunning.Operation.response][google.longrunning.Operation.response] 3469// field returned by BatchTranslateDocument if at least one document is 3470// translated successfully. 3471type BatchTranslateDocumentResponse struct { 3472 state protoimpl.MessageState 3473 sizeCache protoimpl.SizeCache 3474 unknownFields protoimpl.UnknownFields 3475 3476 // Total number of pages to translate in all documents. Documents without 3477 // clear page definition (such as XLSX) are not counted. 3478 TotalPages int64 `protobuf:"varint,1,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"` 3479 // Number of successfully translated pages in all documents. Documents without 3480 // clear page definition (such as XLSX) are not counted. 3481 TranslatedPages int64 `protobuf:"varint,2,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"` 3482 // Number of pages that failed to process in all documents. Documents without 3483 // clear page definition (such as XLSX) are not counted. 3484 FailedPages int64 `protobuf:"varint,3,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"` 3485 // Number of billable pages in documents with clear page definition (such as 3486 // PDF, DOCX, PPTX) 3487 TotalBillablePages int64 `protobuf:"varint,4,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"` 3488 // Total number of characters (Unicode codepoints) in all documents. 3489 TotalCharacters int64 `protobuf:"varint,5,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 3490 // Number of successfully translated characters (Unicode codepoints) in all 3491 // documents. 3492 TranslatedCharacters int64 `protobuf:"varint,6,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 3493 // Number of characters that have failed to process (Unicode codepoints) in 3494 // all documents. 3495 FailedCharacters int64 `protobuf:"varint,7,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 3496 // Number of billable characters (Unicode codepoints) in documents without 3497 // clear page definition, such as XLSX. 3498 TotalBillableCharacters int64 `protobuf:"varint,8,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"` 3499 // Time when the operation was submitted. 3500 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 3501 // The time when the operation is finished and 3502 // [google.longrunning.Operation.done][google.longrunning.Operation.done] is 3503 // set to true. 3504 EndTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3505} 3506 3507func (x *BatchTranslateDocumentResponse) Reset() { 3508 *x = BatchTranslateDocumentResponse{} 3509 if protoimpl.UnsafeEnabled { 3510 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35] 3511 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3512 ms.StoreMessageInfo(mi) 3513 } 3514} 3515 3516func (x *BatchTranslateDocumentResponse) String() string { 3517 return protoimpl.X.MessageStringOf(x) 3518} 3519 3520func (*BatchTranslateDocumentResponse) ProtoMessage() {} 3521 3522func (x *BatchTranslateDocumentResponse) ProtoReflect() protoreflect.Message { 3523 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35] 3524 if protoimpl.UnsafeEnabled && x != nil { 3525 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3526 if ms.LoadMessageInfo() == nil { 3527 ms.StoreMessageInfo(mi) 3528 } 3529 return ms 3530 } 3531 return mi.MessageOf(x) 3532} 3533 3534// Deprecated: Use BatchTranslateDocumentResponse.ProtoReflect.Descriptor instead. 3535func (*BatchTranslateDocumentResponse) Descriptor() ([]byte, []int) { 3536 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{35} 3537} 3538 3539func (x *BatchTranslateDocumentResponse) GetTotalPages() int64 { 3540 if x != nil { 3541 return x.TotalPages 3542 } 3543 return 0 3544} 3545 3546func (x *BatchTranslateDocumentResponse) GetTranslatedPages() int64 { 3547 if x != nil { 3548 return x.TranslatedPages 3549 } 3550 return 0 3551} 3552 3553func (x *BatchTranslateDocumentResponse) GetFailedPages() int64 { 3554 if x != nil { 3555 return x.FailedPages 3556 } 3557 return 0 3558} 3559 3560func (x *BatchTranslateDocumentResponse) GetTotalBillablePages() int64 { 3561 if x != nil { 3562 return x.TotalBillablePages 3563 } 3564 return 0 3565} 3566 3567func (x *BatchTranslateDocumentResponse) GetTotalCharacters() int64 { 3568 if x != nil { 3569 return x.TotalCharacters 3570 } 3571 return 0 3572} 3573 3574func (x *BatchTranslateDocumentResponse) GetTranslatedCharacters() int64 { 3575 if x != nil { 3576 return x.TranslatedCharacters 3577 } 3578 return 0 3579} 3580 3581func (x *BatchTranslateDocumentResponse) GetFailedCharacters() int64 { 3582 if x != nil { 3583 return x.FailedCharacters 3584 } 3585 return 0 3586} 3587 3588func (x *BatchTranslateDocumentResponse) GetTotalBillableCharacters() int64 { 3589 if x != nil { 3590 return x.TotalBillableCharacters 3591 } 3592 return 0 3593} 3594 3595func (x *BatchTranslateDocumentResponse) GetSubmitTime() *timestamppb.Timestamp { 3596 if x != nil { 3597 return x.SubmitTime 3598 } 3599 return nil 3600} 3601 3602func (x *BatchTranslateDocumentResponse) GetEndTime() *timestamppb.Timestamp { 3603 if x != nil { 3604 return x.EndTime 3605 } 3606 return nil 3607} 3608 3609// State metadata for the batch translation operation. 3610type BatchTranslateDocumentMetadata struct { 3611 state protoimpl.MessageState 3612 sizeCache protoimpl.SizeCache 3613 unknownFields protoimpl.UnknownFields 3614 3615 // The state of the operation. 3616 State BatchTranslateDocumentMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata_State" json:"state,omitempty"` 3617 // Total number of pages to translate in all documents so far. Documents 3618 // without clear page definition (such as XLSX) are not counted. 3619 TotalPages int64 `protobuf:"varint,2,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"` 3620 // Number of successfully translated pages in all documents so far. Documents 3621 // without clear page definition (such as XLSX) are not counted. 3622 TranslatedPages int64 `protobuf:"varint,3,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"` 3623 // Number of pages that failed to process in all documents so far. Documents 3624 // without clear page definition (such as XLSX) are not counted. 3625 FailedPages int64 `protobuf:"varint,4,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"` 3626 // Number of billable pages in documents with clear page definition (such as 3627 // PDF, DOCX, PPTX) so far. 3628 TotalBillablePages int64 `protobuf:"varint,5,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"` 3629 // Total number of characters (Unicode codepoints) in all documents so far. 3630 TotalCharacters int64 `protobuf:"varint,6,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 3631 // Number of successfully translated characters (Unicode codepoints) in all 3632 // documents so far. 3633 TranslatedCharacters int64 `protobuf:"varint,7,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 3634 // Number of characters that have failed to process (Unicode codepoints) in 3635 // all documents so far. 3636 FailedCharacters int64 `protobuf:"varint,8,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 3637 // Number of billable characters (Unicode codepoints) in documents without 3638 // clear page definition (such as XLSX) so far. 3639 TotalBillableCharacters int64 `protobuf:"varint,9,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"` 3640 // Time when the operation was submitted. 3641 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 3642} 3643 3644func (x *BatchTranslateDocumentMetadata) Reset() { 3645 *x = BatchTranslateDocumentMetadata{} 3646 if protoimpl.UnsafeEnabled { 3647 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36] 3648 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3649 ms.StoreMessageInfo(mi) 3650 } 3651} 3652 3653func (x *BatchTranslateDocumentMetadata) String() string { 3654 return protoimpl.X.MessageStringOf(x) 3655} 3656 3657func (*BatchTranslateDocumentMetadata) ProtoMessage() {} 3658 3659func (x *BatchTranslateDocumentMetadata) ProtoReflect() protoreflect.Message { 3660 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36] 3661 if protoimpl.UnsafeEnabled && x != nil { 3662 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3663 if ms.LoadMessageInfo() == nil { 3664 ms.StoreMessageInfo(mi) 3665 } 3666 return ms 3667 } 3668 return mi.MessageOf(x) 3669} 3670 3671// Deprecated: Use BatchTranslateDocumentMetadata.ProtoReflect.Descriptor instead. 3672func (*BatchTranslateDocumentMetadata) Descriptor() ([]byte, []int) { 3673 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{36} 3674} 3675 3676func (x *BatchTranslateDocumentMetadata) GetState() BatchTranslateDocumentMetadata_State { 3677 if x != nil { 3678 return x.State 3679 } 3680 return BatchTranslateDocumentMetadata_STATE_UNSPECIFIED 3681} 3682 3683func (x *BatchTranslateDocumentMetadata) GetTotalPages() int64 { 3684 if x != nil { 3685 return x.TotalPages 3686 } 3687 return 0 3688} 3689 3690func (x *BatchTranslateDocumentMetadata) GetTranslatedPages() int64 { 3691 if x != nil { 3692 return x.TranslatedPages 3693 } 3694 return 0 3695} 3696 3697func (x *BatchTranslateDocumentMetadata) GetFailedPages() int64 { 3698 if x != nil { 3699 return x.FailedPages 3700 } 3701 return 0 3702} 3703 3704func (x *BatchTranslateDocumentMetadata) GetTotalBillablePages() int64 { 3705 if x != nil { 3706 return x.TotalBillablePages 3707 } 3708 return 0 3709} 3710 3711func (x *BatchTranslateDocumentMetadata) GetTotalCharacters() int64 { 3712 if x != nil { 3713 return x.TotalCharacters 3714 } 3715 return 0 3716} 3717 3718func (x *BatchTranslateDocumentMetadata) GetTranslatedCharacters() int64 { 3719 if x != nil { 3720 return x.TranslatedCharacters 3721 } 3722 return 0 3723} 3724 3725func (x *BatchTranslateDocumentMetadata) GetFailedCharacters() int64 { 3726 if x != nil { 3727 return x.FailedCharacters 3728 } 3729 return 0 3730} 3731 3732func (x *BatchTranslateDocumentMetadata) GetTotalBillableCharacters() int64 { 3733 if x != nil { 3734 return x.TotalBillableCharacters 3735 } 3736 return 0 3737} 3738 3739func (x *BatchTranslateDocumentMetadata) GetSubmitTime() *timestamppb.Timestamp { 3740 if x != nil { 3741 return x.SubmitTime 3742 } 3743 return nil 3744} 3745 3746// Used with unidirectional glossaries. 3747type Glossary_LanguageCodePair struct { 3748 state protoimpl.MessageState 3749 sizeCache protoimpl.SizeCache 3750 unknownFields protoimpl.UnknownFields 3751 3752 // Required. The BCP-47 language code of the input text, for example, 3753 // "en-US". Expected to be an exact match for GlossaryTerm.language_code. 3754 SourceLanguageCode string `protobuf:"bytes,1,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 3755 // Required. The BCP-47 language code for translation output, for example, 3756 // "zh-CN". Expected to be an exact match for GlossaryTerm.language_code. 3757 TargetLanguageCode string `protobuf:"bytes,2,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` 3758} 3759 3760func (x *Glossary_LanguageCodePair) Reset() { 3761 *x = Glossary_LanguageCodePair{} 3762 if protoimpl.UnsafeEnabled { 3763 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43] 3764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3765 ms.StoreMessageInfo(mi) 3766 } 3767} 3768 3769func (x *Glossary_LanguageCodePair) String() string { 3770 return protoimpl.X.MessageStringOf(x) 3771} 3772 3773func (*Glossary_LanguageCodePair) ProtoMessage() {} 3774 3775func (x *Glossary_LanguageCodePair) ProtoReflect() protoreflect.Message { 3776 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43] 3777 if protoimpl.UnsafeEnabled && x != nil { 3778 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3779 if ms.LoadMessageInfo() == nil { 3780 ms.StoreMessageInfo(mi) 3781 } 3782 return ms 3783 } 3784 return mi.MessageOf(x) 3785} 3786 3787// Deprecated: Use Glossary_LanguageCodePair.ProtoReflect.Descriptor instead. 3788func (*Glossary_LanguageCodePair) Descriptor() ([]byte, []int) { 3789 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23, 0} 3790} 3791 3792func (x *Glossary_LanguageCodePair) GetSourceLanguageCode() string { 3793 if x != nil { 3794 return x.SourceLanguageCode 3795 } 3796 return "" 3797} 3798 3799func (x *Glossary_LanguageCodePair) GetTargetLanguageCode() string { 3800 if x != nil { 3801 return x.TargetLanguageCode 3802 } 3803 return "" 3804} 3805 3806// Used with equivalent term set glossaries. 3807type Glossary_LanguageCodesSet struct { 3808 state protoimpl.MessageState 3809 sizeCache protoimpl.SizeCache 3810 unknownFields protoimpl.UnknownFields 3811 3812 // The BCP-47 language code(s) for terms defined in the glossary. 3813 // All entries are unique. The list contains at least two entries. 3814 // Expected to be an exact match for GlossaryTerm.language_code. 3815 LanguageCodes []string `protobuf:"bytes,1,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"` 3816} 3817 3818func (x *Glossary_LanguageCodesSet) Reset() { 3819 *x = Glossary_LanguageCodesSet{} 3820 if protoimpl.UnsafeEnabled { 3821 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44] 3822 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3823 ms.StoreMessageInfo(mi) 3824 } 3825} 3826 3827func (x *Glossary_LanguageCodesSet) String() string { 3828 return protoimpl.X.MessageStringOf(x) 3829} 3830 3831func (*Glossary_LanguageCodesSet) ProtoMessage() {} 3832 3833func (x *Glossary_LanguageCodesSet) ProtoReflect() protoreflect.Message { 3834 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44] 3835 if protoimpl.UnsafeEnabled && x != nil { 3836 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3837 if ms.LoadMessageInfo() == nil { 3838 ms.StoreMessageInfo(mi) 3839 } 3840 return ms 3841 } 3842 return mi.MessageOf(x) 3843} 3844 3845// Deprecated: Use Glossary_LanguageCodesSet.ProtoReflect.Descriptor instead. 3846func (*Glossary_LanguageCodesSet) Descriptor() ([]byte, []int) { 3847 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23, 1} 3848} 3849 3850func (x *Glossary_LanguageCodesSet) GetLanguageCodes() []string { 3851 if x != nil { 3852 return x.LanguageCodes 3853 } 3854 return nil 3855} 3856 3857var File_google_cloud_translate_v3beta1_translation_service_proto protoreflect.FileDescriptor 3858 3859var file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc = []byte{ 3860 0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 3861 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 3862 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 3863 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 3864 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3865 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 3866 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 3867 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 3868 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 3869 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 3870 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 3871 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 3872 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3873 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 3874 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 3875 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 3876 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 3877 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 3878 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 3879 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 3880 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 3881 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 3882 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x24, 3883 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 3884 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 3885 0x43, 0x61, 0x73, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3886 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 3887 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 3888 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 3889 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3890 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 3891 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 3892 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 3893 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 3894 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 3895 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 3896 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 3897 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x41, 3898 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 3899 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3900 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3901 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3902 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 3903 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, 0x0f, 3904 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 3905 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3906 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3907 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3908 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 3909 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 3910 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 3911 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3912 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3913 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 3914 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3915 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 3916 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 3917 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 3918 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 3919 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 3920 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 3921 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 3922 0x51, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 3923 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3924 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3925 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3926 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 3927 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x74, 3928 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 3929 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3930 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 3931 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3932 0x52, 0x14, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 3933 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 3934 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 3935 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 3936 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 3937 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 3938 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 3939 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 3940 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 3941 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x67, 3942 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 3943 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3944 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 3945 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 3946 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 3947 0x66, 0x69, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 3948 0x66, 0x69, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x15, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 3949 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 3950 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 3951 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3952 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3953 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3954 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 3955 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x07, 0x63, 3956 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 3957 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 3958 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 3959 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x60, 0x0a, 0x06, 0x6c, 0x61, 0x62, 3960 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3961 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3962 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 3963 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 3964 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 3965 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 3966 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 3967 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 3968 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 3969 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3970 0x22, 0x57, 0x0a, 0x10, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 3971 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 3972 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 3973 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 3974 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 3975 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x6a, 0x0a, 0x16, 0x44, 0x65, 0x74, 3976 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 3977 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 3978 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3979 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 3980 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 3981 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 3982 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 3983 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52, 3984 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3985 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 3986 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3987 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3988 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x64, 0x69, 0x73, 3989 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 3990 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 3991 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 3992 0x64, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 3993 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x67, 0x0a, 3994 0x12, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 3995 0x67, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 3996 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3997 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 3998 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 3999 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 4000 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x70, 0x70, 0x6f, 4001 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 4002 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 4003 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 4004 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 4005 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 4006 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 4007 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 4008 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 4009 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 4010 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 4011 0x65, 0x74, 0x22, 0x2d, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 4012 0x20, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 4013 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 4014 0x69, 0x22, 0x87, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 4015 0x67, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 4016 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 4017 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 4018 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4019 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4020 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 4021 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 4022 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, 0x0a, 0x0e, 0x47, 4023 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 4024 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 4025 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 4026 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x7a, 4027 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 4028 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 4029 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4030 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4031 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 4032 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 4033 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 4034 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x44, 4035 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 4036 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 4037 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4c, 4038 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 4039 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 4040 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 4041 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 4042 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 4043 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 4044 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 4045 0x72, 0x63, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 4046 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0f, 4047 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 4048 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4049 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4050 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 4051 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 4052 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 4053 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 4054 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 4055 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 4056 0xb0, 0x05, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 4057 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 4058 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 4059 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 4060 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 4061 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 4062 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 4063 0x12, 0x35, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 4064 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 4065 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 4066 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x64, 0x6f, 0x63, 0x75, 0x6d, 4067 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 4068 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4069 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4070 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 4071 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 4072 0x41, 0x02, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 4073 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x16, 0x64, 0x6f, 0x63, 0x75, 0x6d, 4074 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 4075 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4076 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4077 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 4078 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 4079 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 4080 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 4081 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 4082 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4083 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 4084 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4085 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4086 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 4087 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 4088 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 4089 0x69, 0x67, 0x12, 0x63, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 4090 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 4091 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 4092 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 4093 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 4094 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 4095 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 4096 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 4097 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 4098 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 4099 0x38, 0x01, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 4100 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x79, 4101 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 4102 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11, 0x62, 0x79, 0x74, 0x65, 0x53, 0x74, 0x72, 4103 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 4104 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 4105 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 4106 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 4107 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 4108 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xfe, 0x02, 4109 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 4110 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x14, 0x64, 4111 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4112 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 4113 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4114 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 4115 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4116 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4117 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x1d, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4118 0x79, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 4119 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 4120 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4121 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4122 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4123 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x63, 4124 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4125 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 4126 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x66, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 4127 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 4128 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4129 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 4130 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 4131 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 4132 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb3, 4133 0x07, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4134 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 4135 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 4136 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 4137 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 4138 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 4139 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 4140 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 4141 0x41, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 4142 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 4143 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 4144 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 4145 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 4146 0x64, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 4147 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4148 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 4149 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4150 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 4151 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 4152 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 4153 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 4154 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4155 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4156 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 4157 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x58, 4158 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 4159 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4160 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4161 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 4162 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 4163 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 4164 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 4165 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4166 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4167 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 4168 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 4169 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 4170 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x06, 0x6c, 0x61, 4171 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 4172 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4173 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 4174 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 4175 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 4176 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 4177 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 4178 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 4179 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 4180 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x0f, 0x47, 4181 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 4182 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 4183 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 4184 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4185 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 4186 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 4187 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 4188 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 4189 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 4190 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 4191 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 4192 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 4193 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 4194 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 4195 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4196 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4197 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4198 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 4199 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4200 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 4201 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 4202 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 4203 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 4204 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 4205 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 4206 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 4207 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 4208 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 4209 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4210 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 4211 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 4212 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 4213 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 4214 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 4215 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 4216 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 4217 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 4218 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0x99, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 4219 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 4220 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 4221 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 4222 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 4223 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 4224 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 4225 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 4226 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 4227 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 4228 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 4229 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 4230 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 4231 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 4232 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 4233 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 4234 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 4235 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 4236 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x49, 0x6e, 4237 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 4238 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 4239 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 4240 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 4241 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 4242 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 4243 0x65, 0x22, 0x99, 0x06, 0x0a, 0x08, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x17, 4244 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 4245 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 4246 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 4247 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4248 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4249 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 4250 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x6c, 4251 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x6b, 0x0a, 0x12, 0x6c, 4252 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x73, 0x65, 4253 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4254 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4255 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 4256 0x61, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 4257 0x73, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4258 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 4259 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 4260 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4261 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4262 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 4263 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 4264 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 4265 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 4266 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 4267 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 4268 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 4269 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 4270 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 4271 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 4272 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 4273 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 4274 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x76, 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 4275 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, 4276 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 4277 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 4278 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 4279 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 4280 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 4281 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x39, 4282 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 4283 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 4284 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 4285 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, 0x21, 4286 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4287 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4288 0x79, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 4289 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 4290 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 4291 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x7d, 4292 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa7, 0x01, 4293 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 4294 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 4295 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 4296 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4297 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 4298 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x67, 0x6c, 4299 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 4300 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4301 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4302 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 4303 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x22, 0x53, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x6c, 4304 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 4305 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 4306 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 4307 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 4308 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x15, 4309 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 4310 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 4311 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 4312 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 4313 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 4314 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 4315 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 4316 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 4317 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4318 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 4319 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 4320 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 4321 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 4322 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 4323 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 4324 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 4325 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 4326 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 4327 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 4328 0x4a, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 4329 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4330 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4331 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 4332 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 4333 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 4334 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 4335 0x6b, 0x65, 0x6e, 0x22, 0xa6, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 4336 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 4337 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 4338 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 4339 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4340 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4341 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 4342 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 4343 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 4344 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 4345 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 4346 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 4347 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 4348 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 4349 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 4350 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 4351 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 4352 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 4353 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xa6, 0x02, 0x0a, 4354 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 4355 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 4356 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 4357 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 4358 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4359 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 4360 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 4361 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 4362 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 4363 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4364 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 4365 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 4366 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 4367 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 4368 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 4369 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 4370 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 4371 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 4372 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xa0, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 4373 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 4374 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 4375 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 4376 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 4377 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 4378 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 4379 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 4380 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 4381 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 4382 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8b, 0x08, 0x0a, 0x1d, 0x42, 0x61, 0x74, 4383 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 4384 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 4385 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 4386 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 4387 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 4388 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 4389 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4390 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 4391 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4392 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 4393 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 4394 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 4395 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x64, 0x0a, 4396 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 4397 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4398 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 4399 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 4400 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 4401 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 4402 0x69, 0x67, 0x73, 0x12, 0x65, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 4403 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 4404 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4405 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 4406 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 4407 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 4408 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x06, 0x6d, 0x6f, 4409 0x64, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 4410 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4411 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 4412 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 4413 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 4414 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x6f, 4415 0x64, 0x65, 0x6c, 0x73, 0x12, 0x74, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 4416 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4417 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4418 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 4419 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 4420 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 4421 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 4422 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x12, 0x66, 4423 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 4424 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4425 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4426 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 4427 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 4428 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 4429 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 4430 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x76, 4431 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 4432 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 4433 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 4434 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 4435 0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 4436 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 4437 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 4438 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4439 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4440 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4441 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 4442 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 4443 0x1a, 0x44, 0x0a, 0x16, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 4444 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 4445 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 4446 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 4447 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x72, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 4448 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 4449 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 4450 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4451 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4452 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 4453 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 4454 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x42, 4455 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 4456 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 4457 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 4458 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4459 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4460 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 4461 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 4462 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 4463 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfe, 0x03, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 4464 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 4465 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 4466 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 4467 0x74, 0x61, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 4468 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 4469 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 4470 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 4471 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 4472 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 4473 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 4474 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 4475 0x62, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 4476 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 4477 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 4478 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4479 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 4480 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 4481 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 4482 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 4483 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 4484 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 4485 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 4486 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 4487 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 4488 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 4489 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4490 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 4491 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 4492 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 4493 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 4494 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 4495 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x05, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 4496 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 4497 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 4498 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4499 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4500 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 4501 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 4502 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 4503 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 4504 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 4505 0x61, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 4506 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 4507 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x67, 4508 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 4509 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 4510 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 4511 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 4512 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 4513 0x6c, 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 4514 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 4515 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 4516 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 4517 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 4518 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 4519 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 4520 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 4521 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 4522 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 4523 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 4524 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 4525 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 4526 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 4527 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 4528 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 4529 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 4530 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 4531 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 4532 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 4533 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 4534 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 4535 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 4536 0x45, 0x44, 0x10, 0x05, 0x32, 0xc2, 0x14, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4537 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xf4, 0x01, 0x0a, 0x0d, 4538 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x36, 0x2e, 4539 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 4540 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 4541 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 4542 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4543 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4544 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4545 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 4546 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x36, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 4547 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 4548 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 4549 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 4550 0x2a, 0x5a, 0x2f, 0x22, 0x2a, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 4551 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 4552 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 4553 0x01, 0x2a, 0x12, 0x93, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 4554 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4555 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4556 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 4557 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 4558 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4559 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4560 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4561 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 4562 0x6e, 0x22, 0x37, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 4563 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 4564 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 4565 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x22, 4566 0x2b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 4567 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 4568 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 4569 0x41, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x6d, 4570 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0xab, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 4571 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 4572 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 4573 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 4574 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 4575 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 4576 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 4577 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 4578 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 4579 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 4580 0x70, 0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 4581 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 4582 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 4583 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x5a, 0x31, 4584 0x12, 0x2f, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 4585 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 4586 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4587 0x73, 0xda, 0x41, 0x22, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 4588 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 4589 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0xd3, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 4590 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 4591 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4592 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4593 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 4594 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4595 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4596 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 4597 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 4598 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 4599 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 4600 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 4601 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4602 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xeb, 0x01, 0x0a, 4603 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 4604 0x65, 0x78, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4605 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4606 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4607 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 4608 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 4609 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 4610 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4611 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 4612 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 4613 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4614 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 4615 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 4616 0x73, 0x65, 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4617 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd8, 0x02, 0x0a, 0x16, 0x42, 4618 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 4619 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4620 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4621 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 4622 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 4623 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4624 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 4625 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 4626 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 4627 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 4628 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 4629 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 4630 0x01, 0x2a, 0xda, 0x41, 0x4d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x6f, 0x75, 0x72, 4631 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 4632 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4633 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 4634 0x66, 0x69, 0x67, 0x73, 0x2c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 4635 0x69, 0x67, 0xca, 0x41, 0x40, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4636 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 4637 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4638 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 4639 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 4640 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4641 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4642 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 4643 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 4644 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 4645 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4646 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 4647 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 4648 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 4649 0x2a, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x67, 4650 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 4651 0x2c, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x47, 0x6c, 4652 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 4653 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd0, 4654 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 4655 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4656 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4657 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4658 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 4659 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4660 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 4661 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 4662 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 4663 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 4664 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 4665 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 4666 0x73, 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 4667 0x72, 0x12, 0xb3, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4668 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4669 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4670 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 4671 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4672 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4673 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 4674 0x61, 0x72, 0x79, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x33, 4675 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 4676 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 4677 0x2f, 0x2a, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 4678 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 4679 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 4680 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4681 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 4682 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 4683 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 4684 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 4685 0x6f, 0x6e, 0x22, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x33, 0x62, 4686 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 4687 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 4688 0x2a, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 4689 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 4690 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 4691 0x65, 0x12, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4692 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x7e, 0xca, 0x41, 0x18, 0x74, 0x72, 4693 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 4694 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x60, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 4695 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 4696 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 4697 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 4698 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 4699 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x74, 0x72, 4700 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xf1, 0x01, 0x0a, 0x22, 0x63, 0x6f, 4701 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4702 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 4703 0x42, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 4704 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x6f, 0x6f, 4705 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 4706 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 4707 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4708 0x74, 0x65, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x72, 0x61, 0x6e, 0x73, 4709 0x6c, 0x61, 0x74, 0x65, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4710 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4711 0x2e, 0x56, 0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 4712 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4713 0x65, 0x5c, 0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 4714 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x54, 0x72, 0x61, 0x6e, 0x73, 4715 0x6c, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 4716 0x72, 0x6f, 0x74, 0x6f, 0x33, 4717} 4718 4719var ( 4720 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescOnce sync.Once 4721 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData = file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc 4722) 4723 4724func file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP() []byte { 4725 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescOnce.Do(func() { 4726 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData) 4727 }) 4728 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData 4729} 4730 4731var file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 4732var file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 48) 4733var file_google_cloud_translate_v3beta1_translation_service_proto_goTypes = []interface{}{ 4734 (BatchTranslateMetadata_State)(0), // 0: google.cloud.translation.v3beta1.BatchTranslateMetadata.State 4735 (CreateGlossaryMetadata_State)(0), // 1: google.cloud.translation.v3beta1.CreateGlossaryMetadata.State 4736 (DeleteGlossaryMetadata_State)(0), // 2: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.State 4737 (BatchTranslateDocumentMetadata_State)(0), // 3: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.State 4738 (*TranslateTextGlossaryConfig)(nil), // 4: google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4739 (*TranslateTextRequest)(nil), // 5: google.cloud.translation.v3beta1.TranslateTextRequest 4740 (*TranslateTextResponse)(nil), // 6: google.cloud.translation.v3beta1.TranslateTextResponse 4741 (*Translation)(nil), // 7: google.cloud.translation.v3beta1.Translation 4742 (*DetectLanguageRequest)(nil), // 8: google.cloud.translation.v3beta1.DetectLanguageRequest 4743 (*DetectedLanguage)(nil), // 9: google.cloud.translation.v3beta1.DetectedLanguage 4744 (*DetectLanguageResponse)(nil), // 10: google.cloud.translation.v3beta1.DetectLanguageResponse 4745 (*GetSupportedLanguagesRequest)(nil), // 11: google.cloud.translation.v3beta1.GetSupportedLanguagesRequest 4746 (*SupportedLanguages)(nil), // 12: google.cloud.translation.v3beta1.SupportedLanguages 4747 (*SupportedLanguage)(nil), // 13: google.cloud.translation.v3beta1.SupportedLanguage 4748 (*GcsSource)(nil), // 14: google.cloud.translation.v3beta1.GcsSource 4749 (*InputConfig)(nil), // 15: google.cloud.translation.v3beta1.InputConfig 4750 (*GcsDestination)(nil), // 16: google.cloud.translation.v3beta1.GcsDestination 4751 (*OutputConfig)(nil), // 17: google.cloud.translation.v3beta1.OutputConfig 4752 (*DocumentInputConfig)(nil), // 18: google.cloud.translation.v3beta1.DocumentInputConfig 4753 (*DocumentOutputConfig)(nil), // 19: google.cloud.translation.v3beta1.DocumentOutputConfig 4754 (*TranslateDocumentRequest)(nil), // 20: google.cloud.translation.v3beta1.TranslateDocumentRequest 4755 (*DocumentTranslation)(nil), // 21: google.cloud.translation.v3beta1.DocumentTranslation 4756 (*TranslateDocumentResponse)(nil), // 22: google.cloud.translation.v3beta1.TranslateDocumentResponse 4757 (*BatchTranslateTextRequest)(nil), // 23: google.cloud.translation.v3beta1.BatchTranslateTextRequest 4758 (*BatchTranslateMetadata)(nil), // 24: google.cloud.translation.v3beta1.BatchTranslateMetadata 4759 (*BatchTranslateResponse)(nil), // 25: google.cloud.translation.v3beta1.BatchTranslateResponse 4760 (*GlossaryInputConfig)(nil), // 26: google.cloud.translation.v3beta1.GlossaryInputConfig 4761 (*Glossary)(nil), // 27: google.cloud.translation.v3beta1.Glossary 4762 (*CreateGlossaryRequest)(nil), // 28: google.cloud.translation.v3beta1.CreateGlossaryRequest 4763 (*GetGlossaryRequest)(nil), // 29: google.cloud.translation.v3beta1.GetGlossaryRequest 4764 (*DeleteGlossaryRequest)(nil), // 30: google.cloud.translation.v3beta1.DeleteGlossaryRequest 4765 (*ListGlossariesRequest)(nil), // 31: google.cloud.translation.v3beta1.ListGlossariesRequest 4766 (*ListGlossariesResponse)(nil), // 32: google.cloud.translation.v3beta1.ListGlossariesResponse 4767 (*CreateGlossaryMetadata)(nil), // 33: google.cloud.translation.v3beta1.CreateGlossaryMetadata 4768 (*DeleteGlossaryMetadata)(nil), // 34: google.cloud.translation.v3beta1.DeleteGlossaryMetadata 4769 (*DeleteGlossaryResponse)(nil), // 35: google.cloud.translation.v3beta1.DeleteGlossaryResponse 4770 (*BatchTranslateDocumentRequest)(nil), // 36: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest 4771 (*BatchDocumentInputConfig)(nil), // 37: google.cloud.translation.v3beta1.BatchDocumentInputConfig 4772 (*BatchDocumentOutputConfig)(nil), // 38: google.cloud.translation.v3beta1.BatchDocumentOutputConfig 4773 (*BatchTranslateDocumentResponse)(nil), // 39: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse 4774 (*BatchTranslateDocumentMetadata)(nil), // 40: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata 4775 nil, // 41: google.cloud.translation.v3beta1.TranslateTextRequest.LabelsEntry 4776 nil, // 42: google.cloud.translation.v3beta1.DetectLanguageRequest.LabelsEntry 4777 nil, // 43: google.cloud.translation.v3beta1.TranslateDocumentRequest.LabelsEntry 4778 nil, // 44: google.cloud.translation.v3beta1.BatchTranslateTextRequest.ModelsEntry 4779 nil, // 45: google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry 4780 nil, // 46: google.cloud.translation.v3beta1.BatchTranslateTextRequest.LabelsEntry 4781 (*Glossary_LanguageCodePair)(nil), // 47: google.cloud.translation.v3beta1.Glossary.LanguageCodePair 4782 (*Glossary_LanguageCodesSet)(nil), // 48: google.cloud.translation.v3beta1.Glossary.LanguageCodesSet 4783 nil, // 49: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.ModelsEntry 4784 nil, // 50: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry 4785 nil, // 51: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.FormatConversionsEntry 4786 (*timestamppb.Timestamp)(nil), // 52: google.protobuf.Timestamp 4787 (*longrunning.Operation)(nil), // 53: google.longrunning.Operation 4788} 4789var file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs = []int32{ 4790 4, // 0: google.cloud.translation.v3beta1.TranslateTextRequest.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4791 41, // 1: google.cloud.translation.v3beta1.TranslateTextRequest.labels:type_name -> google.cloud.translation.v3beta1.TranslateTextRequest.LabelsEntry 4792 7, // 2: google.cloud.translation.v3beta1.TranslateTextResponse.translations:type_name -> google.cloud.translation.v3beta1.Translation 4793 7, // 3: google.cloud.translation.v3beta1.TranslateTextResponse.glossary_translations:type_name -> google.cloud.translation.v3beta1.Translation 4794 4, // 4: google.cloud.translation.v3beta1.Translation.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4795 42, // 5: google.cloud.translation.v3beta1.DetectLanguageRequest.labels:type_name -> google.cloud.translation.v3beta1.DetectLanguageRequest.LabelsEntry 4796 9, // 6: google.cloud.translation.v3beta1.DetectLanguageResponse.languages:type_name -> google.cloud.translation.v3beta1.DetectedLanguage 4797 13, // 7: google.cloud.translation.v3beta1.SupportedLanguages.languages:type_name -> google.cloud.translation.v3beta1.SupportedLanguage 4798 14, // 8: google.cloud.translation.v3beta1.InputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4799 16, // 9: google.cloud.translation.v3beta1.OutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination 4800 14, // 10: google.cloud.translation.v3beta1.DocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4801 16, // 11: google.cloud.translation.v3beta1.DocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination 4802 18, // 12: google.cloud.translation.v3beta1.TranslateDocumentRequest.document_input_config:type_name -> google.cloud.translation.v3beta1.DocumentInputConfig 4803 19, // 13: google.cloud.translation.v3beta1.TranslateDocumentRequest.document_output_config:type_name -> google.cloud.translation.v3beta1.DocumentOutputConfig 4804 4, // 14: google.cloud.translation.v3beta1.TranslateDocumentRequest.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4805 43, // 15: google.cloud.translation.v3beta1.TranslateDocumentRequest.labels:type_name -> google.cloud.translation.v3beta1.TranslateDocumentRequest.LabelsEntry 4806 21, // 16: google.cloud.translation.v3beta1.TranslateDocumentResponse.document_translation:type_name -> google.cloud.translation.v3beta1.DocumentTranslation 4807 21, // 17: google.cloud.translation.v3beta1.TranslateDocumentResponse.glossary_document_translation:type_name -> google.cloud.translation.v3beta1.DocumentTranslation 4808 4, // 18: google.cloud.translation.v3beta1.TranslateDocumentResponse.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4809 44, // 19: google.cloud.translation.v3beta1.BatchTranslateTextRequest.models:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.ModelsEntry 4810 15, // 20: google.cloud.translation.v3beta1.BatchTranslateTextRequest.input_configs:type_name -> google.cloud.translation.v3beta1.InputConfig 4811 17, // 21: google.cloud.translation.v3beta1.BatchTranslateTextRequest.output_config:type_name -> google.cloud.translation.v3beta1.OutputConfig 4812 45, // 22: google.cloud.translation.v3beta1.BatchTranslateTextRequest.glossaries:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry 4813 46, // 23: google.cloud.translation.v3beta1.BatchTranslateTextRequest.labels:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.LabelsEntry 4814 0, // 24: google.cloud.translation.v3beta1.BatchTranslateMetadata.state:type_name -> google.cloud.translation.v3beta1.BatchTranslateMetadata.State 4815 52, // 25: google.cloud.translation.v3beta1.BatchTranslateMetadata.submit_time:type_name -> google.protobuf.Timestamp 4816 52, // 26: google.cloud.translation.v3beta1.BatchTranslateResponse.submit_time:type_name -> google.protobuf.Timestamp 4817 52, // 27: google.cloud.translation.v3beta1.BatchTranslateResponse.end_time:type_name -> google.protobuf.Timestamp 4818 14, // 28: google.cloud.translation.v3beta1.GlossaryInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4819 47, // 29: google.cloud.translation.v3beta1.Glossary.language_pair:type_name -> google.cloud.translation.v3beta1.Glossary.LanguageCodePair 4820 48, // 30: google.cloud.translation.v3beta1.Glossary.language_codes_set:type_name -> google.cloud.translation.v3beta1.Glossary.LanguageCodesSet 4821 26, // 31: google.cloud.translation.v3beta1.Glossary.input_config:type_name -> google.cloud.translation.v3beta1.GlossaryInputConfig 4822 52, // 32: google.cloud.translation.v3beta1.Glossary.submit_time:type_name -> google.protobuf.Timestamp 4823 52, // 33: google.cloud.translation.v3beta1.Glossary.end_time:type_name -> google.protobuf.Timestamp 4824 27, // 34: google.cloud.translation.v3beta1.CreateGlossaryRequest.glossary:type_name -> google.cloud.translation.v3beta1.Glossary 4825 27, // 35: google.cloud.translation.v3beta1.ListGlossariesResponse.glossaries:type_name -> google.cloud.translation.v3beta1.Glossary 4826 1, // 36: google.cloud.translation.v3beta1.CreateGlossaryMetadata.state:type_name -> google.cloud.translation.v3beta1.CreateGlossaryMetadata.State 4827 52, // 37: google.cloud.translation.v3beta1.CreateGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp 4828 2, // 38: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.state:type_name -> google.cloud.translation.v3beta1.DeleteGlossaryMetadata.State 4829 52, // 39: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp 4830 52, // 40: google.cloud.translation.v3beta1.DeleteGlossaryResponse.submit_time:type_name -> google.protobuf.Timestamp 4831 52, // 41: google.cloud.translation.v3beta1.DeleteGlossaryResponse.end_time:type_name -> google.protobuf.Timestamp 4832 37, // 42: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.input_configs:type_name -> google.cloud.translation.v3beta1.BatchDocumentInputConfig 4833 38, // 43: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.output_config:type_name -> google.cloud.translation.v3beta1.BatchDocumentOutputConfig 4834 49, // 44: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.models:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.ModelsEntry 4835 50, // 45: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.glossaries:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry 4836 51, // 46: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.format_conversions:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.FormatConversionsEntry 4837 14, // 47: google.cloud.translation.v3beta1.BatchDocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4838 16, // 48: google.cloud.translation.v3beta1.BatchDocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination 4839 52, // 49: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse.submit_time:type_name -> google.protobuf.Timestamp 4840 52, // 50: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse.end_time:type_name -> google.protobuf.Timestamp 4841 3, // 51: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.state:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.State 4842 52, // 52: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.submit_time:type_name -> google.protobuf.Timestamp 4843 4, // 53: google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4844 4, // 54: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4845 5, // 55: google.cloud.translation.v3beta1.TranslationService.TranslateText:input_type -> google.cloud.translation.v3beta1.TranslateTextRequest 4846 8, // 56: google.cloud.translation.v3beta1.TranslationService.DetectLanguage:input_type -> google.cloud.translation.v3beta1.DetectLanguageRequest 4847 11, // 57: google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages:input_type -> google.cloud.translation.v3beta1.GetSupportedLanguagesRequest 4848 20, // 58: google.cloud.translation.v3beta1.TranslationService.TranslateDocument:input_type -> google.cloud.translation.v3beta1.TranslateDocumentRequest 4849 23, // 59: google.cloud.translation.v3beta1.TranslationService.BatchTranslateText:input_type -> google.cloud.translation.v3beta1.BatchTranslateTextRequest 4850 36, // 60: google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument:input_type -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest 4851 28, // 61: google.cloud.translation.v3beta1.TranslationService.CreateGlossary:input_type -> google.cloud.translation.v3beta1.CreateGlossaryRequest 4852 31, // 62: google.cloud.translation.v3beta1.TranslationService.ListGlossaries:input_type -> google.cloud.translation.v3beta1.ListGlossariesRequest 4853 29, // 63: google.cloud.translation.v3beta1.TranslationService.GetGlossary:input_type -> google.cloud.translation.v3beta1.GetGlossaryRequest 4854 30, // 64: google.cloud.translation.v3beta1.TranslationService.DeleteGlossary:input_type -> google.cloud.translation.v3beta1.DeleteGlossaryRequest 4855 6, // 65: google.cloud.translation.v3beta1.TranslationService.TranslateText:output_type -> google.cloud.translation.v3beta1.TranslateTextResponse 4856 10, // 66: google.cloud.translation.v3beta1.TranslationService.DetectLanguage:output_type -> google.cloud.translation.v3beta1.DetectLanguageResponse 4857 12, // 67: google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages:output_type -> google.cloud.translation.v3beta1.SupportedLanguages 4858 22, // 68: google.cloud.translation.v3beta1.TranslationService.TranslateDocument:output_type -> google.cloud.translation.v3beta1.TranslateDocumentResponse 4859 53, // 69: google.cloud.translation.v3beta1.TranslationService.BatchTranslateText:output_type -> google.longrunning.Operation 4860 53, // 70: google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument:output_type -> google.longrunning.Operation 4861 53, // 71: google.cloud.translation.v3beta1.TranslationService.CreateGlossary:output_type -> google.longrunning.Operation 4862 32, // 72: google.cloud.translation.v3beta1.TranslationService.ListGlossaries:output_type -> google.cloud.translation.v3beta1.ListGlossariesResponse 4863 27, // 73: google.cloud.translation.v3beta1.TranslationService.GetGlossary:output_type -> google.cloud.translation.v3beta1.Glossary 4864 53, // 74: google.cloud.translation.v3beta1.TranslationService.DeleteGlossary:output_type -> google.longrunning.Operation 4865 65, // [65:75] is the sub-list for method output_type 4866 55, // [55:65] is the sub-list for method input_type 4867 55, // [55:55] is the sub-list for extension type_name 4868 55, // [55:55] is the sub-list for extension extendee 4869 0, // [0:55] is the sub-list for field type_name 4870} 4871 4872func init() { file_google_cloud_translate_v3beta1_translation_service_proto_init() } 4873func file_google_cloud_translate_v3beta1_translation_service_proto_init() { 4874 if File_google_cloud_translate_v3beta1_translation_service_proto != nil { 4875 return 4876 } 4877 if !protoimpl.UnsafeEnabled { 4878 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 4879 switch v := v.(*TranslateTextGlossaryConfig); i { 4880 case 0: 4881 return &v.state 4882 case 1: 4883 return &v.sizeCache 4884 case 2: 4885 return &v.unknownFields 4886 default: 4887 return nil 4888 } 4889 } 4890 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 4891 switch v := v.(*TranslateTextRequest); i { 4892 case 0: 4893 return &v.state 4894 case 1: 4895 return &v.sizeCache 4896 case 2: 4897 return &v.unknownFields 4898 default: 4899 return nil 4900 } 4901 } 4902 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 4903 switch v := v.(*TranslateTextResponse); i { 4904 case 0: 4905 return &v.state 4906 case 1: 4907 return &v.sizeCache 4908 case 2: 4909 return &v.unknownFields 4910 default: 4911 return nil 4912 } 4913 } 4914 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 4915 switch v := v.(*Translation); i { 4916 case 0: 4917 return &v.state 4918 case 1: 4919 return &v.sizeCache 4920 case 2: 4921 return &v.unknownFields 4922 default: 4923 return nil 4924 } 4925 } 4926 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 4927 switch v := v.(*DetectLanguageRequest); i { 4928 case 0: 4929 return &v.state 4930 case 1: 4931 return &v.sizeCache 4932 case 2: 4933 return &v.unknownFields 4934 default: 4935 return nil 4936 } 4937 } 4938 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 4939 switch v := v.(*DetectedLanguage); i { 4940 case 0: 4941 return &v.state 4942 case 1: 4943 return &v.sizeCache 4944 case 2: 4945 return &v.unknownFields 4946 default: 4947 return nil 4948 } 4949 } 4950 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 4951 switch v := v.(*DetectLanguageResponse); i { 4952 case 0: 4953 return &v.state 4954 case 1: 4955 return &v.sizeCache 4956 case 2: 4957 return &v.unknownFields 4958 default: 4959 return nil 4960 } 4961 } 4962 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 4963 switch v := v.(*GetSupportedLanguagesRequest); i { 4964 case 0: 4965 return &v.state 4966 case 1: 4967 return &v.sizeCache 4968 case 2: 4969 return &v.unknownFields 4970 default: 4971 return nil 4972 } 4973 } 4974 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 4975 switch v := v.(*SupportedLanguages); i { 4976 case 0: 4977 return &v.state 4978 case 1: 4979 return &v.sizeCache 4980 case 2: 4981 return &v.unknownFields 4982 default: 4983 return nil 4984 } 4985 } 4986 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 4987 switch v := v.(*SupportedLanguage); i { 4988 case 0: 4989 return &v.state 4990 case 1: 4991 return &v.sizeCache 4992 case 2: 4993 return &v.unknownFields 4994 default: 4995 return nil 4996 } 4997 } 4998 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 4999 switch v := v.(*GcsSource); i { 5000 case 0: 5001 return &v.state 5002 case 1: 5003 return &v.sizeCache 5004 case 2: 5005 return &v.unknownFields 5006 default: 5007 return nil 5008 } 5009 } 5010 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 5011 switch v := v.(*InputConfig); i { 5012 case 0: 5013 return &v.state 5014 case 1: 5015 return &v.sizeCache 5016 case 2: 5017 return &v.unknownFields 5018 default: 5019 return nil 5020 } 5021 } 5022 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 5023 switch v := v.(*GcsDestination); i { 5024 case 0: 5025 return &v.state 5026 case 1: 5027 return &v.sizeCache 5028 case 2: 5029 return &v.unknownFields 5030 default: 5031 return nil 5032 } 5033 } 5034 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 5035 switch v := v.(*OutputConfig); i { 5036 case 0: 5037 return &v.state 5038 case 1: 5039 return &v.sizeCache 5040 case 2: 5041 return &v.unknownFields 5042 default: 5043 return nil 5044 } 5045 } 5046 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 5047 switch v := v.(*DocumentInputConfig); i { 5048 case 0: 5049 return &v.state 5050 case 1: 5051 return &v.sizeCache 5052 case 2: 5053 return &v.unknownFields 5054 default: 5055 return nil 5056 } 5057 } 5058 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 5059 switch v := v.(*DocumentOutputConfig); i { 5060 case 0: 5061 return &v.state 5062 case 1: 5063 return &v.sizeCache 5064 case 2: 5065 return &v.unknownFields 5066 default: 5067 return nil 5068 } 5069 } 5070 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 5071 switch v := v.(*TranslateDocumentRequest); i { 5072 case 0: 5073 return &v.state 5074 case 1: 5075 return &v.sizeCache 5076 case 2: 5077 return &v.unknownFields 5078 default: 5079 return nil 5080 } 5081 } 5082 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 5083 switch v := v.(*DocumentTranslation); i { 5084 case 0: 5085 return &v.state 5086 case 1: 5087 return &v.sizeCache 5088 case 2: 5089 return &v.unknownFields 5090 default: 5091 return nil 5092 } 5093 } 5094 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 5095 switch v := v.(*TranslateDocumentResponse); i { 5096 case 0: 5097 return &v.state 5098 case 1: 5099 return &v.sizeCache 5100 case 2: 5101 return &v.unknownFields 5102 default: 5103 return nil 5104 } 5105 } 5106 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 5107 switch v := v.(*BatchTranslateTextRequest); i { 5108 case 0: 5109 return &v.state 5110 case 1: 5111 return &v.sizeCache 5112 case 2: 5113 return &v.unknownFields 5114 default: 5115 return nil 5116 } 5117 } 5118 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 5119 switch v := v.(*BatchTranslateMetadata); i { 5120 case 0: 5121 return &v.state 5122 case 1: 5123 return &v.sizeCache 5124 case 2: 5125 return &v.unknownFields 5126 default: 5127 return nil 5128 } 5129 } 5130 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 5131 switch v := v.(*BatchTranslateResponse); i { 5132 case 0: 5133 return &v.state 5134 case 1: 5135 return &v.sizeCache 5136 case 2: 5137 return &v.unknownFields 5138 default: 5139 return nil 5140 } 5141 } 5142 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 5143 switch v := v.(*GlossaryInputConfig); i { 5144 case 0: 5145 return &v.state 5146 case 1: 5147 return &v.sizeCache 5148 case 2: 5149 return &v.unknownFields 5150 default: 5151 return nil 5152 } 5153 } 5154 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 5155 switch v := v.(*Glossary); i { 5156 case 0: 5157 return &v.state 5158 case 1: 5159 return &v.sizeCache 5160 case 2: 5161 return &v.unknownFields 5162 default: 5163 return nil 5164 } 5165 } 5166 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 5167 switch v := v.(*CreateGlossaryRequest); i { 5168 case 0: 5169 return &v.state 5170 case 1: 5171 return &v.sizeCache 5172 case 2: 5173 return &v.unknownFields 5174 default: 5175 return nil 5176 } 5177 } 5178 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 5179 switch v := v.(*GetGlossaryRequest); i { 5180 case 0: 5181 return &v.state 5182 case 1: 5183 return &v.sizeCache 5184 case 2: 5185 return &v.unknownFields 5186 default: 5187 return nil 5188 } 5189 } 5190 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 5191 switch v := v.(*DeleteGlossaryRequest); i { 5192 case 0: 5193 return &v.state 5194 case 1: 5195 return &v.sizeCache 5196 case 2: 5197 return &v.unknownFields 5198 default: 5199 return nil 5200 } 5201 } 5202 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 5203 switch v := v.(*ListGlossariesRequest); i { 5204 case 0: 5205 return &v.state 5206 case 1: 5207 return &v.sizeCache 5208 case 2: 5209 return &v.unknownFields 5210 default: 5211 return nil 5212 } 5213 } 5214 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 5215 switch v := v.(*ListGlossariesResponse); i { 5216 case 0: 5217 return &v.state 5218 case 1: 5219 return &v.sizeCache 5220 case 2: 5221 return &v.unknownFields 5222 default: 5223 return nil 5224 } 5225 } 5226 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 5227 switch v := v.(*CreateGlossaryMetadata); i { 5228 case 0: 5229 return &v.state 5230 case 1: 5231 return &v.sizeCache 5232 case 2: 5233 return &v.unknownFields 5234 default: 5235 return nil 5236 } 5237 } 5238 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 5239 switch v := v.(*DeleteGlossaryMetadata); i { 5240 case 0: 5241 return &v.state 5242 case 1: 5243 return &v.sizeCache 5244 case 2: 5245 return &v.unknownFields 5246 default: 5247 return nil 5248 } 5249 } 5250 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 5251 switch v := v.(*DeleteGlossaryResponse); i { 5252 case 0: 5253 return &v.state 5254 case 1: 5255 return &v.sizeCache 5256 case 2: 5257 return &v.unknownFields 5258 default: 5259 return nil 5260 } 5261 } 5262 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 5263 switch v := v.(*BatchTranslateDocumentRequest); i { 5264 case 0: 5265 return &v.state 5266 case 1: 5267 return &v.sizeCache 5268 case 2: 5269 return &v.unknownFields 5270 default: 5271 return nil 5272 } 5273 } 5274 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 5275 switch v := v.(*BatchDocumentInputConfig); i { 5276 case 0: 5277 return &v.state 5278 case 1: 5279 return &v.sizeCache 5280 case 2: 5281 return &v.unknownFields 5282 default: 5283 return nil 5284 } 5285 } 5286 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 5287 switch v := v.(*BatchDocumentOutputConfig); i { 5288 case 0: 5289 return &v.state 5290 case 1: 5291 return &v.sizeCache 5292 case 2: 5293 return &v.unknownFields 5294 default: 5295 return nil 5296 } 5297 } 5298 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 5299 switch v := v.(*BatchTranslateDocumentResponse); i { 5300 case 0: 5301 return &v.state 5302 case 1: 5303 return &v.sizeCache 5304 case 2: 5305 return &v.unknownFields 5306 default: 5307 return nil 5308 } 5309 } 5310 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 5311 switch v := v.(*BatchTranslateDocumentMetadata); i { 5312 case 0: 5313 return &v.state 5314 case 1: 5315 return &v.sizeCache 5316 case 2: 5317 return &v.unknownFields 5318 default: 5319 return nil 5320 } 5321 } 5322 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 5323 switch v := v.(*Glossary_LanguageCodePair); i { 5324 case 0: 5325 return &v.state 5326 case 1: 5327 return &v.sizeCache 5328 case 2: 5329 return &v.unknownFields 5330 default: 5331 return nil 5332 } 5333 } 5334 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 5335 switch v := v.(*Glossary_LanguageCodesSet); i { 5336 case 0: 5337 return &v.state 5338 case 1: 5339 return &v.sizeCache 5340 case 2: 5341 return &v.unknownFields 5342 default: 5343 return nil 5344 } 5345 } 5346 } 5347 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4].OneofWrappers = []interface{}{ 5348 (*DetectLanguageRequest_Content)(nil), 5349 } 5350 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11].OneofWrappers = []interface{}{ 5351 (*InputConfig_GcsSource)(nil), 5352 } 5353 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13].OneofWrappers = []interface{}{ 5354 (*OutputConfig_GcsDestination)(nil), 5355 } 5356 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14].OneofWrappers = []interface{}{ 5357 (*DocumentInputConfig_Content)(nil), 5358 (*DocumentInputConfig_GcsSource)(nil), 5359 } 5360 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15].OneofWrappers = []interface{}{ 5361 (*DocumentOutputConfig_GcsDestination)(nil), 5362 } 5363 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22].OneofWrappers = []interface{}{ 5364 (*GlossaryInputConfig_GcsSource)(nil), 5365 } 5366 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23].OneofWrappers = []interface{}{ 5367 (*Glossary_LanguagePair)(nil), 5368 (*Glossary_LanguageCodesSet_)(nil), 5369 } 5370 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33].OneofWrappers = []interface{}{ 5371 (*BatchDocumentInputConfig_GcsSource)(nil), 5372 } 5373 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34].OneofWrappers = []interface{}{ 5374 (*BatchDocumentOutputConfig_GcsDestination)(nil), 5375 } 5376 type x struct{} 5377 out := protoimpl.TypeBuilder{ 5378 File: protoimpl.DescBuilder{ 5379 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 5380 RawDescriptor: file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc, 5381 NumEnums: 4, 5382 NumMessages: 48, 5383 NumExtensions: 0, 5384 NumServices: 1, 5385 }, 5386 GoTypes: file_google_cloud_translate_v3beta1_translation_service_proto_goTypes, 5387 DependencyIndexes: file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs, 5388 EnumInfos: file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes, 5389 MessageInfos: file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes, 5390 }.Build() 5391 File_google_cloud_translate_v3beta1_translation_service_proto = out.File 5392 file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc = nil 5393 file_google_cloud_translate_v3beta1_translation_service_proto_goTypes = nil 5394 file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs = nil 5395} 5396 5397// Reference imports to suppress errors if they are not otherwise used. 5398var _ context.Context 5399var _ grpc.ClientConnInterface 5400 5401// This is a compile-time assertion to ensure that this generated file 5402// is compatible with the grpc package it is being compiled against. 5403const _ = grpc.SupportPackageIsVersion6 5404 5405// TranslationServiceClient is the client API for TranslationService service. 5406// 5407// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 5408type TranslationServiceClient interface { 5409 // Translates input text and returns translated text. 5410 TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error) 5411 // Detects the language of text within a request. 5412 DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error) 5413 // Returns a list of supported languages for translation. 5414 GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error) 5415 // Translates documents in synchronous mode. 5416 TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error) 5417 // Translates a large volume of text in asynchronous batch mode. 5418 // This function provides real-time output as the inputs are being processed. 5419 // If caller cancels a request, the partial results (for an input file, it's 5420 // all or nothing) may still be available on the specified output location. 5421 // 5422 // This call returns immediately and you can 5423 // use google.longrunning.Operation.name to poll the status of the call. 5424 BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5425 // Translates a large volume of documents in asynchronous batch mode. 5426 // This function provides real-time output as the inputs are being processed. 5427 // If caller cancels a request, the partial results (for an input file, it's 5428 // all or nothing) may still be available on the specified output location. 5429 // 5430 // This call returns immediately and you can use 5431 // google.longrunning.Operation.name to poll the status of the call. 5432 BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5433 // Creates a glossary and returns the long-running operation. Returns 5434 // NOT_FOUND, if the project doesn't exist. 5435 CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5436 // Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't 5437 // exist. 5438 ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error) 5439 // Gets a glossary. Returns NOT_FOUND, if the glossary doesn't 5440 // exist. 5441 GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error) 5442 // Deletes a glossary, or cancels glossary construction 5443 // if the glossary isn't created yet. 5444 // Returns NOT_FOUND, if the glossary doesn't exist. 5445 DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5446} 5447 5448type translationServiceClient struct { 5449 cc grpc.ClientConnInterface 5450} 5451 5452func NewTranslationServiceClient(cc grpc.ClientConnInterface) TranslationServiceClient { 5453 return &translationServiceClient{cc} 5454} 5455 5456func (c *translationServiceClient) TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error) { 5457 out := new(TranslateTextResponse) 5458 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/TranslateText", in, out, opts...) 5459 if err != nil { 5460 return nil, err 5461 } 5462 return out, nil 5463} 5464 5465func (c *translationServiceClient) DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error) { 5466 out := new(DetectLanguageResponse) 5467 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/DetectLanguage", in, out, opts...) 5468 if err != nil { 5469 return nil, err 5470 } 5471 return out, nil 5472} 5473 5474func (c *translationServiceClient) GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error) { 5475 out := new(SupportedLanguages) 5476 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages", in, out, opts...) 5477 if err != nil { 5478 return nil, err 5479 } 5480 return out, nil 5481} 5482 5483func (c *translationServiceClient) TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error) { 5484 out := new(TranslateDocumentResponse) 5485 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/TranslateDocument", in, out, opts...) 5486 if err != nil { 5487 return nil, err 5488 } 5489 return out, nil 5490} 5491 5492func (c *translationServiceClient) BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5493 out := new(longrunning.Operation) 5494 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateText", in, out, opts...) 5495 if err != nil { 5496 return nil, err 5497 } 5498 return out, nil 5499} 5500 5501func (c *translationServiceClient) BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5502 out := new(longrunning.Operation) 5503 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument", in, out, opts...) 5504 if err != nil { 5505 return nil, err 5506 } 5507 return out, nil 5508} 5509 5510func (c *translationServiceClient) CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5511 out := new(longrunning.Operation) 5512 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/CreateGlossary", in, out, opts...) 5513 if err != nil { 5514 return nil, err 5515 } 5516 return out, nil 5517} 5518 5519func (c *translationServiceClient) ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error) { 5520 out := new(ListGlossariesResponse) 5521 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/ListGlossaries", in, out, opts...) 5522 if err != nil { 5523 return nil, err 5524 } 5525 return out, nil 5526} 5527 5528func (c *translationServiceClient) GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error) { 5529 out := new(Glossary) 5530 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/GetGlossary", in, out, opts...) 5531 if err != nil { 5532 return nil, err 5533 } 5534 return out, nil 5535} 5536 5537func (c *translationServiceClient) DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5538 out := new(longrunning.Operation) 5539 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/DeleteGlossary", in, out, opts...) 5540 if err != nil { 5541 return nil, err 5542 } 5543 return out, nil 5544} 5545 5546// TranslationServiceServer is the server API for TranslationService service. 5547type TranslationServiceServer interface { 5548 // Translates input text and returns translated text. 5549 TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error) 5550 // Detects the language of text within a request. 5551 DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error) 5552 // Returns a list of supported languages for translation. 5553 GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error) 5554 // Translates documents in synchronous mode. 5555 TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error) 5556 // Translates a large volume of text in asynchronous batch mode. 5557 // This function provides real-time output as the inputs are being processed. 5558 // If caller cancels a request, the partial results (for an input file, it's 5559 // all or nothing) may still be available on the specified output location. 5560 // 5561 // This call returns immediately and you can 5562 // use google.longrunning.Operation.name to poll the status of the call. 5563 BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error) 5564 // Translates a large volume of documents in asynchronous batch mode. 5565 // This function provides real-time output as the inputs are being processed. 5566 // If caller cancels a request, the partial results (for an input file, it's 5567 // all or nothing) may still be available on the specified output location. 5568 // 5569 // This call returns immediately and you can use 5570 // google.longrunning.Operation.name to poll the status of the call. 5571 BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error) 5572 // Creates a glossary and returns the long-running operation. Returns 5573 // NOT_FOUND, if the project doesn't exist. 5574 CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error) 5575 // Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't 5576 // exist. 5577 ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error) 5578 // Gets a glossary. Returns NOT_FOUND, if the glossary doesn't 5579 // exist. 5580 GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error) 5581 // Deletes a glossary, or cancels glossary construction 5582 // if the glossary isn't created yet. 5583 // Returns NOT_FOUND, if the glossary doesn't exist. 5584 DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error) 5585} 5586 5587// UnimplementedTranslationServiceServer can be embedded to have forward compatible implementations. 5588type UnimplementedTranslationServiceServer struct { 5589} 5590 5591func (*UnimplementedTranslationServiceServer) TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error) { 5592 return nil, status.Errorf(codes.Unimplemented, "method TranslateText not implemented") 5593} 5594func (*UnimplementedTranslationServiceServer) DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error) { 5595 return nil, status.Errorf(codes.Unimplemented, "method DetectLanguage not implemented") 5596} 5597func (*UnimplementedTranslationServiceServer) GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error) { 5598 return nil, status.Errorf(codes.Unimplemented, "method GetSupportedLanguages not implemented") 5599} 5600func (*UnimplementedTranslationServiceServer) TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error) { 5601 return nil, status.Errorf(codes.Unimplemented, "method TranslateDocument not implemented") 5602} 5603func (*UnimplementedTranslationServiceServer) BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error) { 5604 return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateText not implemented") 5605} 5606func (*UnimplementedTranslationServiceServer) BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error) { 5607 return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateDocument not implemented") 5608} 5609func (*UnimplementedTranslationServiceServer) CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error) { 5610 return nil, status.Errorf(codes.Unimplemented, "method CreateGlossary not implemented") 5611} 5612func (*UnimplementedTranslationServiceServer) ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error) { 5613 return nil, status.Errorf(codes.Unimplemented, "method ListGlossaries not implemented") 5614} 5615func (*UnimplementedTranslationServiceServer) GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error) { 5616 return nil, status.Errorf(codes.Unimplemented, "method GetGlossary not implemented") 5617} 5618func (*UnimplementedTranslationServiceServer) DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error) { 5619 return nil, status.Errorf(codes.Unimplemented, "method DeleteGlossary not implemented") 5620} 5621 5622func RegisterTranslationServiceServer(s *grpc.Server, srv TranslationServiceServer) { 5623 s.RegisterService(&_TranslationService_serviceDesc, srv) 5624} 5625 5626func _TranslationService_TranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5627 in := new(TranslateTextRequest) 5628 if err := dec(in); err != nil { 5629 return nil, err 5630 } 5631 if interceptor == nil { 5632 return srv.(TranslationServiceServer).TranslateText(ctx, in) 5633 } 5634 info := &grpc.UnaryServerInfo{ 5635 Server: srv, 5636 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/TranslateText", 5637 } 5638 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5639 return srv.(TranslationServiceServer).TranslateText(ctx, req.(*TranslateTextRequest)) 5640 } 5641 return interceptor(ctx, in, info, handler) 5642} 5643 5644func _TranslationService_DetectLanguage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5645 in := new(DetectLanguageRequest) 5646 if err := dec(in); err != nil { 5647 return nil, err 5648 } 5649 if interceptor == nil { 5650 return srv.(TranslationServiceServer).DetectLanguage(ctx, in) 5651 } 5652 info := &grpc.UnaryServerInfo{ 5653 Server: srv, 5654 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/DetectLanguage", 5655 } 5656 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5657 return srv.(TranslationServiceServer).DetectLanguage(ctx, req.(*DetectLanguageRequest)) 5658 } 5659 return interceptor(ctx, in, info, handler) 5660} 5661 5662func _TranslationService_GetSupportedLanguages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5663 in := new(GetSupportedLanguagesRequest) 5664 if err := dec(in); err != nil { 5665 return nil, err 5666 } 5667 if interceptor == nil { 5668 return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, in) 5669 } 5670 info := &grpc.UnaryServerInfo{ 5671 Server: srv, 5672 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages", 5673 } 5674 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5675 return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, req.(*GetSupportedLanguagesRequest)) 5676 } 5677 return interceptor(ctx, in, info, handler) 5678} 5679 5680func _TranslationService_TranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5681 in := new(TranslateDocumentRequest) 5682 if err := dec(in); err != nil { 5683 return nil, err 5684 } 5685 if interceptor == nil { 5686 return srv.(TranslationServiceServer).TranslateDocument(ctx, in) 5687 } 5688 info := &grpc.UnaryServerInfo{ 5689 Server: srv, 5690 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/TranslateDocument", 5691 } 5692 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5693 return srv.(TranslationServiceServer).TranslateDocument(ctx, req.(*TranslateDocumentRequest)) 5694 } 5695 return interceptor(ctx, in, info, handler) 5696} 5697 5698func _TranslationService_BatchTranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5699 in := new(BatchTranslateTextRequest) 5700 if err := dec(in); err != nil { 5701 return nil, err 5702 } 5703 if interceptor == nil { 5704 return srv.(TranslationServiceServer).BatchTranslateText(ctx, in) 5705 } 5706 info := &grpc.UnaryServerInfo{ 5707 Server: srv, 5708 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateText", 5709 } 5710 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5711 return srv.(TranslationServiceServer).BatchTranslateText(ctx, req.(*BatchTranslateTextRequest)) 5712 } 5713 return interceptor(ctx, in, info, handler) 5714} 5715 5716func _TranslationService_BatchTranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5717 in := new(BatchTranslateDocumentRequest) 5718 if err := dec(in); err != nil { 5719 return nil, err 5720 } 5721 if interceptor == nil { 5722 return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, in) 5723 } 5724 info := &grpc.UnaryServerInfo{ 5725 Server: srv, 5726 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument", 5727 } 5728 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5729 return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, req.(*BatchTranslateDocumentRequest)) 5730 } 5731 return interceptor(ctx, in, info, handler) 5732} 5733 5734func _TranslationService_CreateGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5735 in := new(CreateGlossaryRequest) 5736 if err := dec(in); err != nil { 5737 return nil, err 5738 } 5739 if interceptor == nil { 5740 return srv.(TranslationServiceServer).CreateGlossary(ctx, in) 5741 } 5742 info := &grpc.UnaryServerInfo{ 5743 Server: srv, 5744 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/CreateGlossary", 5745 } 5746 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5747 return srv.(TranslationServiceServer).CreateGlossary(ctx, req.(*CreateGlossaryRequest)) 5748 } 5749 return interceptor(ctx, in, info, handler) 5750} 5751 5752func _TranslationService_ListGlossaries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5753 in := new(ListGlossariesRequest) 5754 if err := dec(in); err != nil { 5755 return nil, err 5756 } 5757 if interceptor == nil { 5758 return srv.(TranslationServiceServer).ListGlossaries(ctx, in) 5759 } 5760 info := &grpc.UnaryServerInfo{ 5761 Server: srv, 5762 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/ListGlossaries", 5763 } 5764 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5765 return srv.(TranslationServiceServer).ListGlossaries(ctx, req.(*ListGlossariesRequest)) 5766 } 5767 return interceptor(ctx, in, info, handler) 5768} 5769 5770func _TranslationService_GetGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5771 in := new(GetGlossaryRequest) 5772 if err := dec(in); err != nil { 5773 return nil, err 5774 } 5775 if interceptor == nil { 5776 return srv.(TranslationServiceServer).GetGlossary(ctx, in) 5777 } 5778 info := &grpc.UnaryServerInfo{ 5779 Server: srv, 5780 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/GetGlossary", 5781 } 5782 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5783 return srv.(TranslationServiceServer).GetGlossary(ctx, req.(*GetGlossaryRequest)) 5784 } 5785 return interceptor(ctx, in, info, handler) 5786} 5787 5788func _TranslationService_DeleteGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5789 in := new(DeleteGlossaryRequest) 5790 if err := dec(in); err != nil { 5791 return nil, err 5792 } 5793 if interceptor == nil { 5794 return srv.(TranslationServiceServer).DeleteGlossary(ctx, in) 5795 } 5796 info := &grpc.UnaryServerInfo{ 5797 Server: srv, 5798 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/DeleteGlossary", 5799 } 5800 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5801 return srv.(TranslationServiceServer).DeleteGlossary(ctx, req.(*DeleteGlossaryRequest)) 5802 } 5803 return interceptor(ctx, in, info, handler) 5804} 5805 5806var _TranslationService_serviceDesc = grpc.ServiceDesc{ 5807 ServiceName: "google.cloud.translation.v3beta1.TranslationService", 5808 HandlerType: (*TranslationServiceServer)(nil), 5809 Methods: []grpc.MethodDesc{ 5810 { 5811 MethodName: "TranslateText", 5812 Handler: _TranslationService_TranslateText_Handler, 5813 }, 5814 { 5815 MethodName: "DetectLanguage", 5816 Handler: _TranslationService_DetectLanguage_Handler, 5817 }, 5818 { 5819 MethodName: "GetSupportedLanguages", 5820 Handler: _TranslationService_GetSupportedLanguages_Handler, 5821 }, 5822 { 5823 MethodName: "TranslateDocument", 5824 Handler: _TranslationService_TranslateDocument_Handler, 5825 }, 5826 { 5827 MethodName: "BatchTranslateText", 5828 Handler: _TranslationService_BatchTranslateText_Handler, 5829 }, 5830 { 5831 MethodName: "BatchTranslateDocument", 5832 Handler: _TranslationService_BatchTranslateDocument_Handler, 5833 }, 5834 { 5835 MethodName: "CreateGlossary", 5836 Handler: _TranslationService_CreateGlossary_Handler, 5837 }, 5838 { 5839 MethodName: "ListGlossaries", 5840 Handler: _TranslationService_ListGlossaries_Handler, 5841 }, 5842 { 5843 MethodName: "GetGlossary", 5844 Handler: _TranslationService_GetGlossary_Handler, 5845 }, 5846 { 5847 MethodName: "DeleteGlossary", 5848 Handler: _TranslationService_DeleteGlossary_Handler, 5849 }, 5850 }, 5851 Streams: []grpc.StreamDesc{}, 5852 Metadata: "google/cloud/translate/v3beta1/translation_service.proto", 5853} 5854