1// Copyright 2020 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/vision/v1/image_annotator.proto
20
21package vision
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	status "google.golang.org/genproto/googleapis/rpc/status"
31	color "google.golang.org/genproto/googleapis/type/color"
32	latlng "google.golang.org/genproto/googleapis/type/latlng"
33	grpc "google.golang.org/grpc"
34	codes "google.golang.org/grpc/codes"
35	status1 "google.golang.org/grpc/status"
36	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
37	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
38	_ "google.golang.org/protobuf/types/known/fieldmaskpb"
39	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// A bucketized representation of likelihood, which is intended to give clients
50// highly stable results across model upgrades.
51type Likelihood int32
52
53const (
54	// Unknown likelihood.
55	Likelihood_UNKNOWN Likelihood = 0
56	// It is very unlikely.
57	Likelihood_VERY_UNLIKELY Likelihood = 1
58	// It is unlikely.
59	Likelihood_UNLIKELY Likelihood = 2
60	// It is possible.
61	Likelihood_POSSIBLE Likelihood = 3
62	// It is likely.
63	Likelihood_LIKELY Likelihood = 4
64	// It is very likely.
65	Likelihood_VERY_LIKELY Likelihood = 5
66)
67
68// Enum value maps for Likelihood.
69var (
70	Likelihood_name = map[int32]string{
71		0: "UNKNOWN",
72		1: "VERY_UNLIKELY",
73		2: "UNLIKELY",
74		3: "POSSIBLE",
75		4: "LIKELY",
76		5: "VERY_LIKELY",
77	}
78	Likelihood_value = map[string]int32{
79		"UNKNOWN":       0,
80		"VERY_UNLIKELY": 1,
81		"UNLIKELY":      2,
82		"POSSIBLE":      3,
83		"LIKELY":        4,
84		"VERY_LIKELY":   5,
85	}
86)
87
88func (x Likelihood) Enum() *Likelihood {
89	p := new(Likelihood)
90	*p = x
91	return p
92}
93
94func (x Likelihood) String() string {
95	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
96}
97
98func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
99	return file_google_cloud_vision_v1_image_annotator_proto_enumTypes[0].Descriptor()
100}
101
102func (Likelihood) Type() protoreflect.EnumType {
103	return &file_google_cloud_vision_v1_image_annotator_proto_enumTypes[0]
104}
105
106func (x Likelihood) Number() protoreflect.EnumNumber {
107	return protoreflect.EnumNumber(x)
108}
109
110// Deprecated: Use Likelihood.Descriptor instead.
111func (Likelihood) EnumDescriptor() ([]byte, []int) {
112	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{0}
113}
114
115// Type of Google Cloud Vision API feature to be extracted.
116type Feature_Type int32
117
118const (
119	// Unspecified feature type.
120	Feature_TYPE_UNSPECIFIED Feature_Type = 0
121	// Run face detection.
122	Feature_FACE_DETECTION Feature_Type = 1
123	// Run landmark detection.
124	Feature_LANDMARK_DETECTION Feature_Type = 2
125	// Run logo detection.
126	Feature_LOGO_DETECTION Feature_Type = 3
127	// Run label detection.
128	Feature_LABEL_DETECTION Feature_Type = 4
129	// Run text detection / optical character recognition (OCR). Text detection
130	// is optimized for areas of text within a larger image; if the image is
131	// a document, use `DOCUMENT_TEXT_DETECTION` instead.
132	Feature_TEXT_DETECTION Feature_Type = 5
133	// Run dense text document OCR. Takes precedence when both
134	// `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present.
135	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
136	// Run Safe Search to detect potentially unsafe
137	// or undesirable content.
138	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
139	// Compute a set of image properties, such as the
140	// image's dominant colors.
141	Feature_IMAGE_PROPERTIES Feature_Type = 7
142	// Run crop hints.
143	Feature_CROP_HINTS Feature_Type = 9
144	// Run web detection.
145	Feature_WEB_DETECTION Feature_Type = 10
146	// Run Product Search.
147	Feature_PRODUCT_SEARCH Feature_Type = 12
148	// Run localizer for object detection.
149	Feature_OBJECT_LOCALIZATION Feature_Type = 19
150)
151
152// Enum value maps for Feature_Type.
153var (
154	Feature_Type_name = map[int32]string{
155		0:  "TYPE_UNSPECIFIED",
156		1:  "FACE_DETECTION",
157		2:  "LANDMARK_DETECTION",
158		3:  "LOGO_DETECTION",
159		4:  "LABEL_DETECTION",
160		5:  "TEXT_DETECTION",
161		11: "DOCUMENT_TEXT_DETECTION",
162		6:  "SAFE_SEARCH_DETECTION",
163		7:  "IMAGE_PROPERTIES",
164		9:  "CROP_HINTS",
165		10: "WEB_DETECTION",
166		12: "PRODUCT_SEARCH",
167		19: "OBJECT_LOCALIZATION",
168	}
169	Feature_Type_value = map[string]int32{
170		"TYPE_UNSPECIFIED":        0,
171		"FACE_DETECTION":          1,
172		"LANDMARK_DETECTION":      2,
173		"LOGO_DETECTION":          3,
174		"LABEL_DETECTION":         4,
175		"TEXT_DETECTION":          5,
176		"DOCUMENT_TEXT_DETECTION": 11,
177		"SAFE_SEARCH_DETECTION":   6,
178		"IMAGE_PROPERTIES":        7,
179		"CROP_HINTS":              9,
180		"WEB_DETECTION":           10,
181		"PRODUCT_SEARCH":          12,
182		"OBJECT_LOCALIZATION":     19,
183	}
184)
185
186func (x Feature_Type) Enum() *Feature_Type {
187	p := new(Feature_Type)
188	*p = x
189	return p
190}
191
192func (x Feature_Type) String() string {
193	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
194}
195
196func (Feature_Type) Descriptor() protoreflect.EnumDescriptor {
197	return file_google_cloud_vision_v1_image_annotator_proto_enumTypes[1].Descriptor()
198}
199
200func (Feature_Type) Type() protoreflect.EnumType {
201	return &file_google_cloud_vision_v1_image_annotator_proto_enumTypes[1]
202}
203
204func (x Feature_Type) Number() protoreflect.EnumNumber {
205	return protoreflect.EnumNumber(x)
206}
207
208// Deprecated: Use Feature_Type.Descriptor instead.
209func (Feature_Type) EnumDescriptor() ([]byte, []int) {
210	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{0, 0}
211}
212
213// Face landmark (feature) type.
214// Left and right are defined from the vantage of the viewer of the image
215// without considering mirror projections typical of photos. So, `LEFT_EYE`,
216// typically, is the person's right eye.
217type FaceAnnotation_Landmark_Type int32
218
219const (
220	// Unknown face landmark detected. Should not be filled.
221	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
222	// Left eye.
223	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
224	// Right eye.
225	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
226	// Left of left eyebrow.
227	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
228	// Right of left eyebrow.
229	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
230	// Left of right eyebrow.
231	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
232	// Right of right eyebrow.
233	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
234	// Midpoint between eyes.
235	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
236	// Nose tip.
237	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
238	// Upper lip.
239	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
240	// Lower lip.
241	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
242	// Mouth left.
243	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
244	// Mouth right.
245	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
246	// Mouth center.
247	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
248	// Nose, bottom right.
249	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
250	// Nose, bottom left.
251	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
252	// Nose, bottom center.
253	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
254	// Left eye, top boundary.
255	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
256	// Left eye, right corner.
257	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
258	// Left eye, bottom boundary.
259	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
260	// Left eye, left corner.
261	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
262	// Right eye, top boundary.
263	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
264	// Right eye, right corner.
265	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
266	// Right eye, bottom boundary.
267	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
268	// Right eye, left corner.
269	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
270	// Left eyebrow, upper midpoint.
271	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
272	// Right eyebrow, upper midpoint.
273	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
274	// Left ear tragion.
275	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
276	// Right ear tragion.
277	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
278	// Left eye pupil.
279	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
280	// Right eye pupil.
281	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
282	// Forehead glabella.
283	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
284	// Chin gnathion.
285	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
286	// Chin left gonion.
287	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
288	// Chin right gonion.
289	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
290	// Left cheek center.
291	FaceAnnotation_Landmark_LEFT_CHEEK_CENTER FaceAnnotation_Landmark_Type = 35
292	// Right cheek center.
293	FaceAnnotation_Landmark_RIGHT_CHEEK_CENTER FaceAnnotation_Landmark_Type = 36
294)
295
296// Enum value maps for FaceAnnotation_Landmark_Type.
297var (
298	FaceAnnotation_Landmark_Type_name = map[int32]string{
299		0:  "UNKNOWN_LANDMARK",
300		1:  "LEFT_EYE",
301		2:  "RIGHT_EYE",
302		3:  "LEFT_OF_LEFT_EYEBROW",
303		4:  "RIGHT_OF_LEFT_EYEBROW",
304		5:  "LEFT_OF_RIGHT_EYEBROW",
305		6:  "RIGHT_OF_RIGHT_EYEBROW",
306		7:  "MIDPOINT_BETWEEN_EYES",
307		8:  "NOSE_TIP",
308		9:  "UPPER_LIP",
309		10: "LOWER_LIP",
310		11: "MOUTH_LEFT",
311		12: "MOUTH_RIGHT",
312		13: "MOUTH_CENTER",
313		14: "NOSE_BOTTOM_RIGHT",
314		15: "NOSE_BOTTOM_LEFT",
315		16: "NOSE_BOTTOM_CENTER",
316		17: "LEFT_EYE_TOP_BOUNDARY",
317		18: "LEFT_EYE_RIGHT_CORNER",
318		19: "LEFT_EYE_BOTTOM_BOUNDARY",
319		20: "LEFT_EYE_LEFT_CORNER",
320		21: "RIGHT_EYE_TOP_BOUNDARY",
321		22: "RIGHT_EYE_RIGHT_CORNER",
322		23: "RIGHT_EYE_BOTTOM_BOUNDARY",
323		24: "RIGHT_EYE_LEFT_CORNER",
324		25: "LEFT_EYEBROW_UPPER_MIDPOINT",
325		26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
326		27: "LEFT_EAR_TRAGION",
327		28: "RIGHT_EAR_TRAGION",
328		29: "LEFT_EYE_PUPIL",
329		30: "RIGHT_EYE_PUPIL",
330		31: "FOREHEAD_GLABELLA",
331		32: "CHIN_GNATHION",
332		33: "CHIN_LEFT_GONION",
333		34: "CHIN_RIGHT_GONION",
334		35: "LEFT_CHEEK_CENTER",
335		36: "RIGHT_CHEEK_CENTER",
336	}
337	FaceAnnotation_Landmark_Type_value = map[string]int32{
338		"UNKNOWN_LANDMARK":             0,
339		"LEFT_EYE":                     1,
340		"RIGHT_EYE":                    2,
341		"LEFT_OF_LEFT_EYEBROW":         3,
342		"RIGHT_OF_LEFT_EYEBROW":        4,
343		"LEFT_OF_RIGHT_EYEBROW":        5,
344		"RIGHT_OF_RIGHT_EYEBROW":       6,
345		"MIDPOINT_BETWEEN_EYES":        7,
346		"NOSE_TIP":                     8,
347		"UPPER_LIP":                    9,
348		"LOWER_LIP":                    10,
349		"MOUTH_LEFT":                   11,
350		"MOUTH_RIGHT":                  12,
351		"MOUTH_CENTER":                 13,
352		"NOSE_BOTTOM_RIGHT":            14,
353		"NOSE_BOTTOM_LEFT":             15,
354		"NOSE_BOTTOM_CENTER":           16,
355		"LEFT_EYE_TOP_BOUNDARY":        17,
356		"LEFT_EYE_RIGHT_CORNER":        18,
357		"LEFT_EYE_BOTTOM_BOUNDARY":     19,
358		"LEFT_EYE_LEFT_CORNER":         20,
359		"RIGHT_EYE_TOP_BOUNDARY":       21,
360		"RIGHT_EYE_RIGHT_CORNER":       22,
361		"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
362		"RIGHT_EYE_LEFT_CORNER":        24,
363		"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
364		"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
365		"LEFT_EAR_TRAGION":             27,
366		"RIGHT_EAR_TRAGION":            28,
367		"LEFT_EYE_PUPIL":               29,
368		"RIGHT_EYE_PUPIL":              30,
369		"FOREHEAD_GLABELLA":            31,
370		"CHIN_GNATHION":                32,
371		"CHIN_LEFT_GONION":             33,
372		"CHIN_RIGHT_GONION":            34,
373		"LEFT_CHEEK_CENTER":            35,
374		"RIGHT_CHEEK_CENTER":           36,
375	}
376)
377
378func (x FaceAnnotation_Landmark_Type) Enum() *FaceAnnotation_Landmark_Type {
379	p := new(FaceAnnotation_Landmark_Type)
380	*p = x
381	return p
382}
383
384func (x FaceAnnotation_Landmark_Type) String() string {
385	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
386}
387
388func (FaceAnnotation_Landmark_Type) Descriptor() protoreflect.EnumDescriptor {
389	return file_google_cloud_vision_v1_image_annotator_proto_enumTypes[2].Descriptor()
390}
391
392func (FaceAnnotation_Landmark_Type) Type() protoreflect.EnumType {
393	return &file_google_cloud_vision_v1_image_annotator_proto_enumTypes[2]
394}
395
396func (x FaceAnnotation_Landmark_Type) Number() protoreflect.EnumNumber {
397	return protoreflect.EnumNumber(x)
398}
399
400// Deprecated: Use FaceAnnotation_Landmark_Type.Descriptor instead.
401func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
402	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{3, 0, 0}
403}
404
405// Batch operation states.
406type OperationMetadata_State int32
407
408const (
409	// Invalid.
410	OperationMetadata_STATE_UNSPECIFIED OperationMetadata_State = 0
411	// Request is received.
412	OperationMetadata_CREATED OperationMetadata_State = 1
413	// Request is actively being processed.
414	OperationMetadata_RUNNING OperationMetadata_State = 2
415	// The batch processing is done.
416	OperationMetadata_DONE OperationMetadata_State = 3
417	// The batch processing was cancelled.
418	OperationMetadata_CANCELLED OperationMetadata_State = 4
419)
420
421// Enum value maps for OperationMetadata_State.
422var (
423	OperationMetadata_State_name = map[int32]string{
424		0: "STATE_UNSPECIFIED",
425		1: "CREATED",
426		2: "RUNNING",
427		3: "DONE",
428		4: "CANCELLED",
429	}
430	OperationMetadata_State_value = map[string]int32{
431		"STATE_UNSPECIFIED": 0,
432		"CREATED":           1,
433		"RUNNING":           2,
434		"DONE":              3,
435		"CANCELLED":         4,
436	}
437)
438
439func (x OperationMetadata_State) Enum() *OperationMetadata_State {
440	p := new(OperationMetadata_State)
441	*p = x
442	return p
443}
444
445func (x OperationMetadata_State) String() string {
446	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
447}
448
449func (OperationMetadata_State) Descriptor() protoreflect.EnumDescriptor {
450	return file_google_cloud_vision_v1_image_annotator_proto_enumTypes[3].Descriptor()
451}
452
453func (OperationMetadata_State) Type() protoreflect.EnumType {
454	return &file_google_cloud_vision_v1_image_annotator_proto_enumTypes[3]
455}
456
457func (x OperationMetadata_State) Number() protoreflect.EnumNumber {
458	return protoreflect.EnumNumber(x)
459}
460
461// Deprecated: Use OperationMetadata_State.Descriptor instead.
462func (OperationMetadata_State) EnumDescriptor() ([]byte, []int) {
463	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{38, 0}
464}
465
466// The type of Google Cloud Vision API detection to perform, and the maximum
467// number of results to return for that type. Multiple `Feature` objects can
468// be specified in the `features` list.
469type Feature struct {
470	state         protoimpl.MessageState
471	sizeCache     protoimpl.SizeCache
472	unknownFields protoimpl.UnknownFields
473
474	// The feature type.
475	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1.Feature_Type" json:"type,omitempty"`
476	// Maximum number of results of this type. Does not apply to
477	// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
478	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
479	// Model to use for the feature.
480	// Supported values: "builtin/stable" (the default if unset) and
481	// "builtin/latest".
482	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
483}
484
485func (x *Feature) Reset() {
486	*x = Feature{}
487	if protoimpl.UnsafeEnabled {
488		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[0]
489		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
490		ms.StoreMessageInfo(mi)
491	}
492}
493
494func (x *Feature) String() string {
495	return protoimpl.X.MessageStringOf(x)
496}
497
498func (*Feature) ProtoMessage() {}
499
500func (x *Feature) ProtoReflect() protoreflect.Message {
501	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[0]
502	if protoimpl.UnsafeEnabled && x != nil {
503		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
504		if ms.LoadMessageInfo() == nil {
505			ms.StoreMessageInfo(mi)
506		}
507		return ms
508	}
509	return mi.MessageOf(x)
510}
511
512// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
513func (*Feature) Descriptor() ([]byte, []int) {
514	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{0}
515}
516
517func (x *Feature) GetType() Feature_Type {
518	if x != nil {
519		return x.Type
520	}
521	return Feature_TYPE_UNSPECIFIED
522}
523
524func (x *Feature) GetMaxResults() int32 {
525	if x != nil {
526		return x.MaxResults
527	}
528	return 0
529}
530
531func (x *Feature) GetModel() string {
532	if x != nil {
533		return x.Model
534	}
535	return ""
536}
537
538// External image source (Google Cloud Storage or web URL image location).
539type ImageSource struct {
540	state         protoimpl.MessageState
541	sizeCache     protoimpl.SizeCache
542	unknownFields protoimpl.UnknownFields
543
544	// **Use `image_uri` instead.**
545	//
546	// The Google Cloud Storage  URI of the form
547	// `gs://bucket_name/object_name`. Object versioning is not supported. See
548	// [Google Cloud Storage Request
549	// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info.
550	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
551	// The URI of the source image. Can be either:
552	//
553	// 1. A Google Cloud Storage URI of the form
554	//    `gs://bucket_name/object_name`. Object versioning is not supported. See
555	//    [Google Cloud Storage Request
556	//    URIs](https://cloud.google.com/storage/docs/reference-uris) for more
557	//    info.
558	//
559	// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from
560	//    HTTP/HTTPS URLs, Google cannot guarantee that the request will be
561	//    completed. Your request may fail if the specified host denies the
562	//    request (e.g. due to request throttling or DOS prevention), or if Google
563	//    throttles requests to the site for abuse prevention. You should not
564	//    depend on externally-hosted images for production applications.
565	//
566	// When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
567	// precedence.
568	ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
569}
570
571func (x *ImageSource) Reset() {
572	*x = ImageSource{}
573	if protoimpl.UnsafeEnabled {
574		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[1]
575		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
576		ms.StoreMessageInfo(mi)
577	}
578}
579
580func (x *ImageSource) String() string {
581	return protoimpl.X.MessageStringOf(x)
582}
583
584func (*ImageSource) ProtoMessage() {}
585
586func (x *ImageSource) ProtoReflect() protoreflect.Message {
587	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[1]
588	if protoimpl.UnsafeEnabled && x != nil {
589		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
590		if ms.LoadMessageInfo() == nil {
591			ms.StoreMessageInfo(mi)
592		}
593		return ms
594	}
595	return mi.MessageOf(x)
596}
597
598// Deprecated: Use ImageSource.ProtoReflect.Descriptor instead.
599func (*ImageSource) Descriptor() ([]byte, []int) {
600	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{1}
601}
602
603func (x *ImageSource) GetGcsImageUri() string {
604	if x != nil {
605		return x.GcsImageUri
606	}
607	return ""
608}
609
610func (x *ImageSource) GetImageUri() string {
611	if x != nil {
612		return x.ImageUri
613	}
614	return ""
615}
616
617// Client image to perform Google Cloud Vision API tasks over.
618type Image struct {
619	state         protoimpl.MessageState
620	sizeCache     protoimpl.SizeCache
621	unknownFields protoimpl.UnknownFields
622
623	// Image content, represented as a stream of bytes.
624	// Note: As with all `bytes` fields, protobuffers use a pure binary
625	// representation, whereas JSON representations use base64.
626	//
627	// Currently, this field only works for BatchAnnotateImages requests. It does
628	// not work for AsyncBatchAnnotateImages requests.
629	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
630	// Google Cloud Storage image location, or publicly-accessible image
631	// URL. If both `content` and `source` are provided for an image, `content`
632	// takes precedence and is used to perform the image annotation request.
633	Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
634}
635
636func (x *Image) Reset() {
637	*x = Image{}
638	if protoimpl.UnsafeEnabled {
639		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[2]
640		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
641		ms.StoreMessageInfo(mi)
642	}
643}
644
645func (x *Image) String() string {
646	return protoimpl.X.MessageStringOf(x)
647}
648
649func (*Image) ProtoMessage() {}
650
651func (x *Image) ProtoReflect() protoreflect.Message {
652	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[2]
653	if protoimpl.UnsafeEnabled && x != nil {
654		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
655		if ms.LoadMessageInfo() == nil {
656			ms.StoreMessageInfo(mi)
657		}
658		return ms
659	}
660	return mi.MessageOf(x)
661}
662
663// Deprecated: Use Image.ProtoReflect.Descriptor instead.
664func (*Image) Descriptor() ([]byte, []int) {
665	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{2}
666}
667
668func (x *Image) GetContent() []byte {
669	if x != nil {
670		return x.Content
671	}
672	return nil
673}
674
675func (x *Image) GetSource() *ImageSource {
676	if x != nil {
677		return x.Source
678	}
679	return nil
680}
681
682// A face annotation object contains the results of face detection.
683type FaceAnnotation struct {
684	state         protoimpl.MessageState
685	sizeCache     protoimpl.SizeCache
686	unknownFields protoimpl.UnknownFields
687
688	// The bounding polygon around the face. The coordinates of the bounding box
689	// are in the original image's scale.
690	// The bounding box is computed to "frame" the face in accordance with human
691	// expectations. It is based on the landmarker results.
692	// Note that one or more x and/or y coordinates may not be generated in the
693	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
694	// appears in the image to be annotated.
695	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
696	// The `fd_bounding_poly` bounding polygon is tighter than the
697	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
698	// is used to eliminate the face from any image analysis that detects the
699	// "amount of skin" visible in an image. It is not based on the
700	// landmarker results, only on the initial face detection, hence
701	// the <code>fd</code> (face detection) prefix.
702	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
703	// Detected face landmarks.
704	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
705	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
706	// of the face relative to the image vertical about the axis perpendicular to
707	// the face. Range [-180,180].
708	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
709	// Yaw angle, which indicates the leftward/rightward angle that the face is
710	// pointing relative to the vertical plane perpendicular to the image. Range
711	// [-180,180].
712	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
713	// Pitch angle, which indicates the upwards/downwards angle that the face is
714	// pointing relative to the image's horizontal plane. Range [-180,180].
715	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
716	// Detection confidence. Range [0, 1].
717	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
718	// Face landmarking confidence. Range [0, 1].
719	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
720	// Joy likelihood.
721	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"joy_likelihood,omitempty"`
722	// Sorrow likelihood.
723	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"sorrow_likelihood,omitempty"`
724	// Anger likelihood.
725	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"anger_likelihood,omitempty"`
726	// Surprise likelihood.
727	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"surprise_likelihood,omitempty"`
728	// Under-exposed likelihood.
729	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"under_exposed_likelihood,omitempty"`
730	// Blurred likelihood.
731	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"blurred_likelihood,omitempty"`
732	// Headwear likelihood.
733	HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1.Likelihood" json:"headwear_likelihood,omitempty"`
734}
735
736func (x *FaceAnnotation) Reset() {
737	*x = FaceAnnotation{}
738	if protoimpl.UnsafeEnabled {
739		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[3]
740		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
741		ms.StoreMessageInfo(mi)
742	}
743}
744
745func (x *FaceAnnotation) String() string {
746	return protoimpl.X.MessageStringOf(x)
747}
748
749func (*FaceAnnotation) ProtoMessage() {}
750
751func (x *FaceAnnotation) ProtoReflect() protoreflect.Message {
752	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[3]
753	if protoimpl.UnsafeEnabled && x != nil {
754		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
755		if ms.LoadMessageInfo() == nil {
756			ms.StoreMessageInfo(mi)
757		}
758		return ms
759	}
760	return mi.MessageOf(x)
761}
762
763// Deprecated: Use FaceAnnotation.ProtoReflect.Descriptor instead.
764func (*FaceAnnotation) Descriptor() ([]byte, []int) {
765	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{3}
766}
767
768func (x *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
769	if x != nil {
770		return x.BoundingPoly
771	}
772	return nil
773}
774
775func (x *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
776	if x != nil {
777		return x.FdBoundingPoly
778	}
779	return nil
780}
781
782func (x *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
783	if x != nil {
784		return x.Landmarks
785	}
786	return nil
787}
788
789func (x *FaceAnnotation) GetRollAngle() float32 {
790	if x != nil {
791		return x.RollAngle
792	}
793	return 0
794}
795
796func (x *FaceAnnotation) GetPanAngle() float32 {
797	if x != nil {
798		return x.PanAngle
799	}
800	return 0
801}
802
803func (x *FaceAnnotation) GetTiltAngle() float32 {
804	if x != nil {
805		return x.TiltAngle
806	}
807	return 0
808}
809
810func (x *FaceAnnotation) GetDetectionConfidence() float32 {
811	if x != nil {
812		return x.DetectionConfidence
813	}
814	return 0
815}
816
817func (x *FaceAnnotation) GetLandmarkingConfidence() float32 {
818	if x != nil {
819		return x.LandmarkingConfidence
820	}
821	return 0
822}
823
824func (x *FaceAnnotation) GetJoyLikelihood() Likelihood {
825	if x != nil {
826		return x.JoyLikelihood
827	}
828	return Likelihood_UNKNOWN
829}
830
831func (x *FaceAnnotation) GetSorrowLikelihood() Likelihood {
832	if x != nil {
833		return x.SorrowLikelihood
834	}
835	return Likelihood_UNKNOWN
836}
837
838func (x *FaceAnnotation) GetAngerLikelihood() Likelihood {
839	if x != nil {
840		return x.AngerLikelihood
841	}
842	return Likelihood_UNKNOWN
843}
844
845func (x *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
846	if x != nil {
847		return x.SurpriseLikelihood
848	}
849	return Likelihood_UNKNOWN
850}
851
852func (x *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
853	if x != nil {
854		return x.UnderExposedLikelihood
855	}
856	return Likelihood_UNKNOWN
857}
858
859func (x *FaceAnnotation) GetBlurredLikelihood() Likelihood {
860	if x != nil {
861		return x.BlurredLikelihood
862	}
863	return Likelihood_UNKNOWN
864}
865
866func (x *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
867	if x != nil {
868		return x.HeadwearLikelihood
869	}
870	return Likelihood_UNKNOWN
871}
872
873// Detected entity location information.
874type LocationInfo struct {
875	state         protoimpl.MessageState
876	sizeCache     protoimpl.SizeCache
877	unknownFields protoimpl.UnknownFields
878
879	// lat/long location coordinates.
880	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
881}
882
883func (x *LocationInfo) Reset() {
884	*x = LocationInfo{}
885	if protoimpl.UnsafeEnabled {
886		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[4]
887		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
888		ms.StoreMessageInfo(mi)
889	}
890}
891
892func (x *LocationInfo) String() string {
893	return protoimpl.X.MessageStringOf(x)
894}
895
896func (*LocationInfo) ProtoMessage() {}
897
898func (x *LocationInfo) ProtoReflect() protoreflect.Message {
899	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[4]
900	if protoimpl.UnsafeEnabled && x != nil {
901		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
902		if ms.LoadMessageInfo() == nil {
903			ms.StoreMessageInfo(mi)
904		}
905		return ms
906	}
907	return mi.MessageOf(x)
908}
909
910// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead.
911func (*LocationInfo) Descriptor() ([]byte, []int) {
912	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{4}
913}
914
915func (x *LocationInfo) GetLatLng() *latlng.LatLng {
916	if x != nil {
917		return x.LatLng
918	}
919	return nil
920}
921
922// A `Property` consists of a user-supplied name/value pair.
923type Property struct {
924	state         protoimpl.MessageState
925	sizeCache     protoimpl.SizeCache
926	unknownFields protoimpl.UnknownFields
927
928	// Name of the property.
929	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
930	// Value of the property.
931	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
932	// Value of numeric properties.
933	Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
934}
935
936func (x *Property) Reset() {
937	*x = Property{}
938	if protoimpl.UnsafeEnabled {
939		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[5]
940		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
941		ms.StoreMessageInfo(mi)
942	}
943}
944
945func (x *Property) String() string {
946	return protoimpl.X.MessageStringOf(x)
947}
948
949func (*Property) ProtoMessage() {}
950
951func (x *Property) ProtoReflect() protoreflect.Message {
952	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[5]
953	if protoimpl.UnsafeEnabled && x != nil {
954		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
955		if ms.LoadMessageInfo() == nil {
956			ms.StoreMessageInfo(mi)
957		}
958		return ms
959	}
960	return mi.MessageOf(x)
961}
962
963// Deprecated: Use Property.ProtoReflect.Descriptor instead.
964func (*Property) Descriptor() ([]byte, []int) {
965	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{5}
966}
967
968func (x *Property) GetName() string {
969	if x != nil {
970		return x.Name
971	}
972	return ""
973}
974
975func (x *Property) GetValue() string {
976	if x != nil {
977		return x.Value
978	}
979	return ""
980}
981
982func (x *Property) GetUint64Value() uint64 {
983	if x != nil {
984		return x.Uint64Value
985	}
986	return 0
987}
988
989// Set of detected entity features.
990type EntityAnnotation struct {
991	state         protoimpl.MessageState
992	sizeCache     protoimpl.SizeCache
993	unknownFields protoimpl.UnknownFields
994
995	// Opaque entity ID. Some IDs may be available in
996	// [Google Knowledge Graph Search
997	// API](https://developers.google.com/knowledge-graph/).
998	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
999	// The language code for the locale in which the entity textual
1000	// `description` is expressed.
1001	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
1002	// Entity textual description, expressed in its `locale` language.
1003	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1004	// Overall score of the result. Range [0, 1].
1005	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1006	// **Deprecated. Use `score` instead.**
1007	// The accuracy of the entity detection in an image.
1008	// For example, for an image in which the "Eiffel Tower" entity is detected,
1009	// this field represents the confidence that there is a tower in the query
1010	// image. Range [0, 1].
1011	//
1012	// Deprecated: Do not use.
1013	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
1014	// The relevancy of the ICA (Image Content Annotation) label to the
1015	// image. For example, the relevancy of "tower" is likely higher to an image
1016	// containing the detected "Eiffel Tower" than to an image containing a
1017	// detected distant towering building, even though the confidence that
1018	// there is a tower in each image may be the same. Range [0, 1].
1019	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
1020	// Image region to which this entity belongs. Not produced
1021	// for `LABEL_DETECTION` features.
1022	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1023	// The location information for the detected entity. Multiple
1024	// `LocationInfo` elements can be present because one location may
1025	// indicate the location of the scene in the image, and another location
1026	// may indicate the location of the place where the image was taken.
1027	// Location information is usually present for landmarks.
1028	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
1029	// Some entities may have optional user-supplied `Property` (name/value)
1030	// fields, such a score or string that qualifies the entity.
1031	Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
1032}
1033
1034func (x *EntityAnnotation) Reset() {
1035	*x = EntityAnnotation{}
1036	if protoimpl.UnsafeEnabled {
1037		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[6]
1038		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1039		ms.StoreMessageInfo(mi)
1040	}
1041}
1042
1043func (x *EntityAnnotation) String() string {
1044	return protoimpl.X.MessageStringOf(x)
1045}
1046
1047func (*EntityAnnotation) ProtoMessage() {}
1048
1049func (x *EntityAnnotation) ProtoReflect() protoreflect.Message {
1050	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[6]
1051	if protoimpl.UnsafeEnabled && x != nil {
1052		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1053		if ms.LoadMessageInfo() == nil {
1054			ms.StoreMessageInfo(mi)
1055		}
1056		return ms
1057	}
1058	return mi.MessageOf(x)
1059}
1060
1061// Deprecated: Use EntityAnnotation.ProtoReflect.Descriptor instead.
1062func (*EntityAnnotation) Descriptor() ([]byte, []int) {
1063	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{6}
1064}
1065
1066func (x *EntityAnnotation) GetMid() string {
1067	if x != nil {
1068		return x.Mid
1069	}
1070	return ""
1071}
1072
1073func (x *EntityAnnotation) GetLocale() string {
1074	if x != nil {
1075		return x.Locale
1076	}
1077	return ""
1078}
1079
1080func (x *EntityAnnotation) GetDescription() string {
1081	if x != nil {
1082		return x.Description
1083	}
1084	return ""
1085}
1086
1087func (x *EntityAnnotation) GetScore() float32 {
1088	if x != nil {
1089		return x.Score
1090	}
1091	return 0
1092}
1093
1094// Deprecated: Do not use.
1095func (x *EntityAnnotation) GetConfidence() float32 {
1096	if x != nil {
1097		return x.Confidence
1098	}
1099	return 0
1100}
1101
1102func (x *EntityAnnotation) GetTopicality() float32 {
1103	if x != nil {
1104		return x.Topicality
1105	}
1106	return 0
1107}
1108
1109func (x *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
1110	if x != nil {
1111		return x.BoundingPoly
1112	}
1113	return nil
1114}
1115
1116func (x *EntityAnnotation) GetLocations() []*LocationInfo {
1117	if x != nil {
1118		return x.Locations
1119	}
1120	return nil
1121}
1122
1123func (x *EntityAnnotation) GetProperties() []*Property {
1124	if x != nil {
1125		return x.Properties
1126	}
1127	return nil
1128}
1129
1130// Set of detected objects with bounding boxes.
1131type LocalizedObjectAnnotation struct {
1132	state         protoimpl.MessageState
1133	sizeCache     protoimpl.SizeCache
1134	unknownFields protoimpl.UnknownFields
1135
1136	// Object ID that should align with EntityAnnotation mid.
1137	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1138	// The BCP-47 language code, such as "en-US" or "sr-Latn". For more
1139	// information, see
1140	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
1141	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1142	// Object name, expressed in its `language_code` language.
1143	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
1144	// Score of the result. Range [0, 1].
1145	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1146	// Image region to which this object belongs. This must be populated.
1147	BoundingPoly *BoundingPoly `protobuf:"bytes,5,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1148}
1149
1150func (x *LocalizedObjectAnnotation) Reset() {
1151	*x = LocalizedObjectAnnotation{}
1152	if protoimpl.UnsafeEnabled {
1153		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[7]
1154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1155		ms.StoreMessageInfo(mi)
1156	}
1157}
1158
1159func (x *LocalizedObjectAnnotation) String() string {
1160	return protoimpl.X.MessageStringOf(x)
1161}
1162
1163func (*LocalizedObjectAnnotation) ProtoMessage() {}
1164
1165func (x *LocalizedObjectAnnotation) ProtoReflect() protoreflect.Message {
1166	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[7]
1167	if protoimpl.UnsafeEnabled && x != nil {
1168		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1169		if ms.LoadMessageInfo() == nil {
1170			ms.StoreMessageInfo(mi)
1171		}
1172		return ms
1173	}
1174	return mi.MessageOf(x)
1175}
1176
1177// Deprecated: Use LocalizedObjectAnnotation.ProtoReflect.Descriptor instead.
1178func (*LocalizedObjectAnnotation) Descriptor() ([]byte, []int) {
1179	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{7}
1180}
1181
1182func (x *LocalizedObjectAnnotation) GetMid() string {
1183	if x != nil {
1184		return x.Mid
1185	}
1186	return ""
1187}
1188
1189func (x *LocalizedObjectAnnotation) GetLanguageCode() string {
1190	if x != nil {
1191		return x.LanguageCode
1192	}
1193	return ""
1194}
1195
1196func (x *LocalizedObjectAnnotation) GetName() string {
1197	if x != nil {
1198		return x.Name
1199	}
1200	return ""
1201}
1202
1203func (x *LocalizedObjectAnnotation) GetScore() float32 {
1204	if x != nil {
1205		return x.Score
1206	}
1207	return 0
1208}
1209
1210func (x *LocalizedObjectAnnotation) GetBoundingPoly() *BoundingPoly {
1211	if x != nil {
1212		return x.BoundingPoly
1213	}
1214	return nil
1215}
1216
1217// Set of features pertaining to the image, computed by computer vision
1218// methods over safe-search verticals (for example, adult, spoof, medical,
1219// violence).
1220type SafeSearchAnnotation struct {
1221	state         protoimpl.MessageState
1222	sizeCache     protoimpl.SizeCache
1223	unknownFields protoimpl.UnknownFields
1224
1225	// Represents the adult content likelihood for the image. Adult content may
1226	// contain elements such as nudity, pornographic images or cartoons, or
1227	// sexual activities.
1228	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1.Likelihood" json:"adult,omitempty"`
1229	// Spoof likelihood. The likelihood that an modification
1230	// was made to the image's canonical version to make it appear
1231	// funny or offensive.
1232	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1.Likelihood" json:"spoof,omitempty"`
1233	// Likelihood that this is a medical image.
1234	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1.Likelihood" json:"medical,omitempty"`
1235	// Likelihood that this image contains violent content.
1236	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1.Likelihood" json:"violence,omitempty"`
1237	// Likelihood that the request image contains racy content. Racy content may
1238	// include (but is not limited to) skimpy or sheer clothing, strategically
1239	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1240	// body areas.
1241	Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1.Likelihood" json:"racy,omitempty"`
1242	// Confidence of adult_score. Range [0, 1]. 0 means not confident, 1 means
1243	// very confident.
1244	//
1245	// Deprecated: Do not use.
1246	AdultConfidence float32 `protobuf:"fixed32,16,opt,name=adult_confidence,json=adultConfidence,proto3" json:"adult_confidence,omitempty"`
1247	// Confidence of spoof_score. Range [0, 1]. 0 means not confident, 1 means
1248	// very confident.
1249	//
1250	// Deprecated: Do not use.
1251	SpoofConfidence float32 `protobuf:"fixed32,18,opt,name=spoof_confidence,json=spoofConfidence,proto3" json:"spoof_confidence,omitempty"`
1252	// Confidence of medical_score. Range [0, 1]. 0 means not confident, 1 means
1253	// very confident.
1254	//
1255	// Deprecated: Do not use.
1256	MedicalConfidence float32 `protobuf:"fixed32,20,opt,name=medical_confidence,json=medicalConfidence,proto3" json:"medical_confidence,omitempty"`
1257	// Confidence of violence_score. Range [0, 1]. 0 means not confident, 1 means
1258	// very confident.
1259	//
1260	// Deprecated: Do not use.
1261	ViolenceConfidence float32 `protobuf:"fixed32,22,opt,name=violence_confidence,json=violenceConfidence,proto3" json:"violence_confidence,omitempty"`
1262	// Confidence of racy_score. Range [0, 1]. 0 means not confident, 1 means very
1263	// confident.
1264	//
1265	// Deprecated: Do not use.
1266	RacyConfidence float32 `protobuf:"fixed32,24,opt,name=racy_confidence,json=racyConfidence,proto3" json:"racy_confidence,omitempty"`
1267	// Confidence of nsfw_score. Range [0, 1]. 0 means not confident, 1 means very
1268	// confident.
1269	//
1270	// Deprecated: Do not use.
1271	NsfwConfidence float32 `protobuf:"fixed32,26,opt,name=nsfw_confidence,json=nsfwConfidence,proto3" json:"nsfw_confidence,omitempty"`
1272}
1273
1274func (x *SafeSearchAnnotation) Reset() {
1275	*x = SafeSearchAnnotation{}
1276	if protoimpl.UnsafeEnabled {
1277		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[8]
1278		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1279		ms.StoreMessageInfo(mi)
1280	}
1281}
1282
1283func (x *SafeSearchAnnotation) String() string {
1284	return protoimpl.X.MessageStringOf(x)
1285}
1286
1287func (*SafeSearchAnnotation) ProtoMessage() {}
1288
1289func (x *SafeSearchAnnotation) ProtoReflect() protoreflect.Message {
1290	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[8]
1291	if protoimpl.UnsafeEnabled && x != nil {
1292		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1293		if ms.LoadMessageInfo() == nil {
1294			ms.StoreMessageInfo(mi)
1295		}
1296		return ms
1297	}
1298	return mi.MessageOf(x)
1299}
1300
1301// Deprecated: Use SafeSearchAnnotation.ProtoReflect.Descriptor instead.
1302func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1303	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{8}
1304}
1305
1306func (x *SafeSearchAnnotation) GetAdult() Likelihood {
1307	if x != nil {
1308		return x.Adult
1309	}
1310	return Likelihood_UNKNOWN
1311}
1312
1313func (x *SafeSearchAnnotation) GetSpoof() Likelihood {
1314	if x != nil {
1315		return x.Spoof
1316	}
1317	return Likelihood_UNKNOWN
1318}
1319
1320func (x *SafeSearchAnnotation) GetMedical() Likelihood {
1321	if x != nil {
1322		return x.Medical
1323	}
1324	return Likelihood_UNKNOWN
1325}
1326
1327func (x *SafeSearchAnnotation) GetViolence() Likelihood {
1328	if x != nil {
1329		return x.Violence
1330	}
1331	return Likelihood_UNKNOWN
1332}
1333
1334func (x *SafeSearchAnnotation) GetRacy() Likelihood {
1335	if x != nil {
1336		return x.Racy
1337	}
1338	return Likelihood_UNKNOWN
1339}
1340
1341// Deprecated: Do not use.
1342func (x *SafeSearchAnnotation) GetAdultConfidence() float32 {
1343	if x != nil {
1344		return x.AdultConfidence
1345	}
1346	return 0
1347}
1348
1349// Deprecated: Do not use.
1350func (x *SafeSearchAnnotation) GetSpoofConfidence() float32 {
1351	if x != nil {
1352		return x.SpoofConfidence
1353	}
1354	return 0
1355}
1356
1357// Deprecated: Do not use.
1358func (x *SafeSearchAnnotation) GetMedicalConfidence() float32 {
1359	if x != nil {
1360		return x.MedicalConfidence
1361	}
1362	return 0
1363}
1364
1365// Deprecated: Do not use.
1366func (x *SafeSearchAnnotation) GetViolenceConfidence() float32 {
1367	if x != nil {
1368		return x.ViolenceConfidence
1369	}
1370	return 0
1371}
1372
1373// Deprecated: Do not use.
1374func (x *SafeSearchAnnotation) GetRacyConfidence() float32 {
1375	if x != nil {
1376		return x.RacyConfidence
1377	}
1378	return 0
1379}
1380
1381// Deprecated: Do not use.
1382func (x *SafeSearchAnnotation) GetNsfwConfidence() float32 {
1383	if x != nil {
1384		return x.NsfwConfidence
1385	}
1386	return 0
1387}
1388
1389// Rectangle determined by min and max `LatLng` pairs.
1390type LatLongRect struct {
1391	state         protoimpl.MessageState
1392	sizeCache     protoimpl.SizeCache
1393	unknownFields protoimpl.UnknownFields
1394
1395	// Min lat/long pair.
1396	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1397	// Max lat/long pair.
1398	MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1399}
1400
1401func (x *LatLongRect) Reset() {
1402	*x = LatLongRect{}
1403	if protoimpl.UnsafeEnabled {
1404		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[9]
1405		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1406		ms.StoreMessageInfo(mi)
1407	}
1408}
1409
1410func (x *LatLongRect) String() string {
1411	return protoimpl.X.MessageStringOf(x)
1412}
1413
1414func (*LatLongRect) ProtoMessage() {}
1415
1416func (x *LatLongRect) ProtoReflect() protoreflect.Message {
1417	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[9]
1418	if protoimpl.UnsafeEnabled && x != nil {
1419		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1420		if ms.LoadMessageInfo() == nil {
1421			ms.StoreMessageInfo(mi)
1422		}
1423		return ms
1424	}
1425	return mi.MessageOf(x)
1426}
1427
1428// Deprecated: Use LatLongRect.ProtoReflect.Descriptor instead.
1429func (*LatLongRect) Descriptor() ([]byte, []int) {
1430	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{9}
1431}
1432
1433func (x *LatLongRect) GetMinLatLng() *latlng.LatLng {
1434	if x != nil {
1435		return x.MinLatLng
1436	}
1437	return nil
1438}
1439
1440func (x *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1441	if x != nil {
1442		return x.MaxLatLng
1443	}
1444	return nil
1445}
1446
1447// Color information consists of RGB channels, score, and the fraction of
1448// the image that the color occupies in the image.
1449type ColorInfo struct {
1450	state         protoimpl.MessageState
1451	sizeCache     protoimpl.SizeCache
1452	unknownFields protoimpl.UnknownFields
1453
1454	// RGB components of the color.
1455	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1456	// Image-specific score for this color. Value in range [0, 1].
1457	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1458	// The fraction of pixels the color occupies in the image.
1459	// Value in range [0, 1].
1460	PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1461}
1462
1463func (x *ColorInfo) Reset() {
1464	*x = ColorInfo{}
1465	if protoimpl.UnsafeEnabled {
1466		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[10]
1467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1468		ms.StoreMessageInfo(mi)
1469	}
1470}
1471
1472func (x *ColorInfo) String() string {
1473	return protoimpl.X.MessageStringOf(x)
1474}
1475
1476func (*ColorInfo) ProtoMessage() {}
1477
1478func (x *ColorInfo) ProtoReflect() protoreflect.Message {
1479	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[10]
1480	if protoimpl.UnsafeEnabled && x != nil {
1481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1482		if ms.LoadMessageInfo() == nil {
1483			ms.StoreMessageInfo(mi)
1484		}
1485		return ms
1486	}
1487	return mi.MessageOf(x)
1488}
1489
1490// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
1491func (*ColorInfo) Descriptor() ([]byte, []int) {
1492	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{10}
1493}
1494
1495func (x *ColorInfo) GetColor() *color.Color {
1496	if x != nil {
1497		return x.Color
1498	}
1499	return nil
1500}
1501
1502func (x *ColorInfo) GetScore() float32 {
1503	if x != nil {
1504		return x.Score
1505	}
1506	return 0
1507}
1508
1509func (x *ColorInfo) GetPixelFraction() float32 {
1510	if x != nil {
1511		return x.PixelFraction
1512	}
1513	return 0
1514}
1515
1516// Set of dominant colors and their corresponding scores.
1517type DominantColorsAnnotation struct {
1518	state         protoimpl.MessageState
1519	sizeCache     protoimpl.SizeCache
1520	unknownFields protoimpl.UnknownFields
1521
1522	// RGB color values with their score and pixel fraction.
1523	Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1524}
1525
1526func (x *DominantColorsAnnotation) Reset() {
1527	*x = DominantColorsAnnotation{}
1528	if protoimpl.UnsafeEnabled {
1529		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[11]
1530		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1531		ms.StoreMessageInfo(mi)
1532	}
1533}
1534
1535func (x *DominantColorsAnnotation) String() string {
1536	return protoimpl.X.MessageStringOf(x)
1537}
1538
1539func (*DominantColorsAnnotation) ProtoMessage() {}
1540
1541func (x *DominantColorsAnnotation) ProtoReflect() protoreflect.Message {
1542	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[11]
1543	if protoimpl.UnsafeEnabled && x != nil {
1544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1545		if ms.LoadMessageInfo() == nil {
1546			ms.StoreMessageInfo(mi)
1547		}
1548		return ms
1549	}
1550	return mi.MessageOf(x)
1551}
1552
1553// Deprecated: Use DominantColorsAnnotation.ProtoReflect.Descriptor instead.
1554func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1555	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{11}
1556}
1557
1558func (x *DominantColorsAnnotation) GetColors() []*ColorInfo {
1559	if x != nil {
1560		return x.Colors
1561	}
1562	return nil
1563}
1564
1565// Stores image properties, such as dominant colors.
1566type ImageProperties struct {
1567	state         protoimpl.MessageState
1568	sizeCache     protoimpl.SizeCache
1569	unknownFields protoimpl.UnknownFields
1570
1571	// If present, dominant colors completed successfully.
1572	DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1573}
1574
1575func (x *ImageProperties) Reset() {
1576	*x = ImageProperties{}
1577	if protoimpl.UnsafeEnabled {
1578		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[12]
1579		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1580		ms.StoreMessageInfo(mi)
1581	}
1582}
1583
1584func (x *ImageProperties) String() string {
1585	return protoimpl.X.MessageStringOf(x)
1586}
1587
1588func (*ImageProperties) ProtoMessage() {}
1589
1590func (x *ImageProperties) ProtoReflect() protoreflect.Message {
1591	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[12]
1592	if protoimpl.UnsafeEnabled && x != nil {
1593		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1594		if ms.LoadMessageInfo() == nil {
1595			ms.StoreMessageInfo(mi)
1596		}
1597		return ms
1598	}
1599	return mi.MessageOf(x)
1600}
1601
1602// Deprecated: Use ImageProperties.ProtoReflect.Descriptor instead.
1603func (*ImageProperties) Descriptor() ([]byte, []int) {
1604	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{12}
1605}
1606
1607func (x *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1608	if x != nil {
1609		return x.DominantColors
1610	}
1611	return nil
1612}
1613
1614// Single crop hint that is used to generate a new crop when serving an image.
1615type CropHint struct {
1616	state         protoimpl.MessageState
1617	sizeCache     protoimpl.SizeCache
1618	unknownFields protoimpl.UnknownFields
1619
1620	// The bounding polygon for the crop region. The coordinates of the bounding
1621	// box are in the original image's scale.
1622	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1623	// Confidence of this being a salient region.  Range [0, 1].
1624	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1625	// Fraction of importance of this salient region with respect to the original
1626	// image.
1627	ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1628}
1629
1630func (x *CropHint) Reset() {
1631	*x = CropHint{}
1632	if protoimpl.UnsafeEnabled {
1633		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[13]
1634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1635		ms.StoreMessageInfo(mi)
1636	}
1637}
1638
1639func (x *CropHint) String() string {
1640	return protoimpl.X.MessageStringOf(x)
1641}
1642
1643func (*CropHint) ProtoMessage() {}
1644
1645func (x *CropHint) ProtoReflect() protoreflect.Message {
1646	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[13]
1647	if protoimpl.UnsafeEnabled && x != nil {
1648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1649		if ms.LoadMessageInfo() == nil {
1650			ms.StoreMessageInfo(mi)
1651		}
1652		return ms
1653	}
1654	return mi.MessageOf(x)
1655}
1656
1657// Deprecated: Use CropHint.ProtoReflect.Descriptor instead.
1658func (*CropHint) Descriptor() ([]byte, []int) {
1659	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{13}
1660}
1661
1662func (x *CropHint) GetBoundingPoly() *BoundingPoly {
1663	if x != nil {
1664		return x.BoundingPoly
1665	}
1666	return nil
1667}
1668
1669func (x *CropHint) GetConfidence() float32 {
1670	if x != nil {
1671		return x.Confidence
1672	}
1673	return 0
1674}
1675
1676func (x *CropHint) GetImportanceFraction() float32 {
1677	if x != nil {
1678		return x.ImportanceFraction
1679	}
1680	return 0
1681}
1682
1683// Set of crop hints that are used to generate new crops when serving images.
1684type CropHintsAnnotation struct {
1685	state         protoimpl.MessageState
1686	sizeCache     protoimpl.SizeCache
1687	unknownFields protoimpl.UnknownFields
1688
1689	// Crop hint results.
1690	CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1691}
1692
1693func (x *CropHintsAnnotation) Reset() {
1694	*x = CropHintsAnnotation{}
1695	if protoimpl.UnsafeEnabled {
1696		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[14]
1697		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1698		ms.StoreMessageInfo(mi)
1699	}
1700}
1701
1702func (x *CropHintsAnnotation) String() string {
1703	return protoimpl.X.MessageStringOf(x)
1704}
1705
1706func (*CropHintsAnnotation) ProtoMessage() {}
1707
1708func (x *CropHintsAnnotation) ProtoReflect() protoreflect.Message {
1709	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[14]
1710	if protoimpl.UnsafeEnabled && x != nil {
1711		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1712		if ms.LoadMessageInfo() == nil {
1713			ms.StoreMessageInfo(mi)
1714		}
1715		return ms
1716	}
1717	return mi.MessageOf(x)
1718}
1719
1720// Deprecated: Use CropHintsAnnotation.ProtoReflect.Descriptor instead.
1721func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1722	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{14}
1723}
1724
1725func (x *CropHintsAnnotation) GetCropHints() []*CropHint {
1726	if x != nil {
1727		return x.CropHints
1728	}
1729	return nil
1730}
1731
1732// Parameters for crop hints annotation request.
1733type CropHintsParams struct {
1734	state         protoimpl.MessageState
1735	sizeCache     protoimpl.SizeCache
1736	unknownFields protoimpl.UnknownFields
1737
1738	// Aspect ratios in floats, representing the ratio of the width to the height
1739	// of the image. For example, if the desired aspect ratio is 4/3, the
1740	// corresponding float value should be 1.33333.  If not specified, the
1741	// best possible crop is returned. The number of provided aspect ratios is
1742	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1743	// ignored.
1744	AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1745}
1746
1747func (x *CropHintsParams) Reset() {
1748	*x = CropHintsParams{}
1749	if protoimpl.UnsafeEnabled {
1750		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[15]
1751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1752		ms.StoreMessageInfo(mi)
1753	}
1754}
1755
1756func (x *CropHintsParams) String() string {
1757	return protoimpl.X.MessageStringOf(x)
1758}
1759
1760func (*CropHintsParams) ProtoMessage() {}
1761
1762func (x *CropHintsParams) ProtoReflect() protoreflect.Message {
1763	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[15]
1764	if protoimpl.UnsafeEnabled && x != nil {
1765		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1766		if ms.LoadMessageInfo() == nil {
1767			ms.StoreMessageInfo(mi)
1768		}
1769		return ms
1770	}
1771	return mi.MessageOf(x)
1772}
1773
1774// Deprecated: Use CropHintsParams.ProtoReflect.Descriptor instead.
1775func (*CropHintsParams) Descriptor() ([]byte, []int) {
1776	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{15}
1777}
1778
1779func (x *CropHintsParams) GetAspectRatios() []float32 {
1780	if x != nil {
1781		return x.AspectRatios
1782	}
1783	return nil
1784}
1785
1786// Parameters for web detection request.
1787type WebDetectionParams struct {
1788	state         protoimpl.MessageState
1789	sizeCache     protoimpl.SizeCache
1790	unknownFields protoimpl.UnknownFields
1791
1792	// Whether to include results derived from the geo information in the image.
1793	IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1794}
1795
1796func (x *WebDetectionParams) Reset() {
1797	*x = WebDetectionParams{}
1798	if protoimpl.UnsafeEnabled {
1799		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[16]
1800		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1801		ms.StoreMessageInfo(mi)
1802	}
1803}
1804
1805func (x *WebDetectionParams) String() string {
1806	return protoimpl.X.MessageStringOf(x)
1807}
1808
1809func (*WebDetectionParams) ProtoMessage() {}
1810
1811func (x *WebDetectionParams) ProtoReflect() protoreflect.Message {
1812	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[16]
1813	if protoimpl.UnsafeEnabled && x != nil {
1814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1815		if ms.LoadMessageInfo() == nil {
1816			ms.StoreMessageInfo(mi)
1817		}
1818		return ms
1819	}
1820	return mi.MessageOf(x)
1821}
1822
1823// Deprecated: Use WebDetectionParams.ProtoReflect.Descriptor instead.
1824func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1825	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{16}
1826}
1827
1828func (x *WebDetectionParams) GetIncludeGeoResults() bool {
1829	if x != nil {
1830		return x.IncludeGeoResults
1831	}
1832	return false
1833}
1834
1835// Parameters for text detections. This is used to control TEXT_DETECTION and
1836// DOCUMENT_TEXT_DETECTION features.
1837type TextDetectionParams struct {
1838	state         protoimpl.MessageState
1839	sizeCache     protoimpl.SizeCache
1840	unknownFields protoimpl.UnknownFields
1841
1842	// By default, Cloud Vision API only includes confidence score for
1843	// DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence
1844	// score for TEXT_DETECTION as well.
1845	EnableTextDetectionConfidenceScore bool `protobuf:"varint,9,opt,name=enable_text_detection_confidence_score,json=enableTextDetectionConfidenceScore,proto3" json:"enable_text_detection_confidence_score,omitempty"`
1846}
1847
1848func (x *TextDetectionParams) Reset() {
1849	*x = TextDetectionParams{}
1850	if protoimpl.UnsafeEnabled {
1851		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[17]
1852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1853		ms.StoreMessageInfo(mi)
1854	}
1855}
1856
1857func (x *TextDetectionParams) String() string {
1858	return protoimpl.X.MessageStringOf(x)
1859}
1860
1861func (*TextDetectionParams) ProtoMessage() {}
1862
1863func (x *TextDetectionParams) ProtoReflect() protoreflect.Message {
1864	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[17]
1865	if protoimpl.UnsafeEnabled && x != nil {
1866		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1867		if ms.LoadMessageInfo() == nil {
1868			ms.StoreMessageInfo(mi)
1869		}
1870		return ms
1871	}
1872	return mi.MessageOf(x)
1873}
1874
1875// Deprecated: Use TextDetectionParams.ProtoReflect.Descriptor instead.
1876func (*TextDetectionParams) Descriptor() ([]byte, []int) {
1877	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{17}
1878}
1879
1880func (x *TextDetectionParams) GetEnableTextDetectionConfidenceScore() bool {
1881	if x != nil {
1882		return x.EnableTextDetectionConfidenceScore
1883	}
1884	return false
1885}
1886
1887// Image context and/or feature-specific parameters.
1888type ImageContext struct {
1889	state         protoimpl.MessageState
1890	sizeCache     protoimpl.SizeCache
1891	unknownFields protoimpl.UnknownFields
1892
1893	// Not used.
1894	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1895	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1896	// yields the best results since it enables automatic language detection. For
1897	// languages based on the Latin alphabet, setting `language_hints` is not
1898	// needed. In rare cases, when the language of the text in the image is known,
1899	// setting a hint will help get better results (although it will be a
1900	// significant hindrance if the hint is wrong). Text detection returns an
1901	// error if one or more of the specified languages is not one of the
1902	// [supported languages](https://cloud.google.com/vision/docs/languages).
1903	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1904	// Parameters for crop hints annotation request.
1905	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1906	// Parameters for product search.
1907	ProductSearchParams *ProductSearchParams `protobuf:"bytes,5,opt,name=product_search_params,json=productSearchParams,proto3" json:"product_search_params,omitempty"`
1908	// Parameters for web detection.
1909	WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1910	// Parameters for text detection and document text detection.
1911	TextDetectionParams *TextDetectionParams `protobuf:"bytes,12,opt,name=text_detection_params,json=textDetectionParams,proto3" json:"text_detection_params,omitempty"`
1912}
1913
1914func (x *ImageContext) Reset() {
1915	*x = ImageContext{}
1916	if protoimpl.UnsafeEnabled {
1917		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[18]
1918		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1919		ms.StoreMessageInfo(mi)
1920	}
1921}
1922
1923func (x *ImageContext) String() string {
1924	return protoimpl.X.MessageStringOf(x)
1925}
1926
1927func (*ImageContext) ProtoMessage() {}
1928
1929func (x *ImageContext) ProtoReflect() protoreflect.Message {
1930	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[18]
1931	if protoimpl.UnsafeEnabled && x != nil {
1932		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1933		if ms.LoadMessageInfo() == nil {
1934			ms.StoreMessageInfo(mi)
1935		}
1936		return ms
1937	}
1938	return mi.MessageOf(x)
1939}
1940
1941// Deprecated: Use ImageContext.ProtoReflect.Descriptor instead.
1942func (*ImageContext) Descriptor() ([]byte, []int) {
1943	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{18}
1944}
1945
1946func (x *ImageContext) GetLatLongRect() *LatLongRect {
1947	if x != nil {
1948		return x.LatLongRect
1949	}
1950	return nil
1951}
1952
1953func (x *ImageContext) GetLanguageHints() []string {
1954	if x != nil {
1955		return x.LanguageHints
1956	}
1957	return nil
1958}
1959
1960func (x *ImageContext) GetCropHintsParams() *CropHintsParams {
1961	if x != nil {
1962		return x.CropHintsParams
1963	}
1964	return nil
1965}
1966
1967func (x *ImageContext) GetProductSearchParams() *ProductSearchParams {
1968	if x != nil {
1969		return x.ProductSearchParams
1970	}
1971	return nil
1972}
1973
1974func (x *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1975	if x != nil {
1976		return x.WebDetectionParams
1977	}
1978	return nil
1979}
1980
1981func (x *ImageContext) GetTextDetectionParams() *TextDetectionParams {
1982	if x != nil {
1983		return x.TextDetectionParams
1984	}
1985	return nil
1986}
1987
1988// Request for performing Google Cloud Vision API tasks over a user-provided
1989// image, with user-requested features, and with context information.
1990type AnnotateImageRequest struct {
1991	state         protoimpl.MessageState
1992	sizeCache     protoimpl.SizeCache
1993	unknownFields protoimpl.UnknownFields
1994
1995	// The image to be processed.
1996	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1997	// Requested features.
1998	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1999	// Additional context that may accompany the image.
2000	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2001}
2002
2003func (x *AnnotateImageRequest) Reset() {
2004	*x = AnnotateImageRequest{}
2005	if protoimpl.UnsafeEnabled {
2006		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[19]
2007		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2008		ms.StoreMessageInfo(mi)
2009	}
2010}
2011
2012func (x *AnnotateImageRequest) String() string {
2013	return protoimpl.X.MessageStringOf(x)
2014}
2015
2016func (*AnnotateImageRequest) ProtoMessage() {}
2017
2018func (x *AnnotateImageRequest) ProtoReflect() protoreflect.Message {
2019	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[19]
2020	if protoimpl.UnsafeEnabled && x != nil {
2021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2022		if ms.LoadMessageInfo() == nil {
2023			ms.StoreMessageInfo(mi)
2024		}
2025		return ms
2026	}
2027	return mi.MessageOf(x)
2028}
2029
2030// Deprecated: Use AnnotateImageRequest.ProtoReflect.Descriptor instead.
2031func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
2032	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{19}
2033}
2034
2035func (x *AnnotateImageRequest) GetImage() *Image {
2036	if x != nil {
2037		return x.Image
2038	}
2039	return nil
2040}
2041
2042func (x *AnnotateImageRequest) GetFeatures() []*Feature {
2043	if x != nil {
2044		return x.Features
2045	}
2046	return nil
2047}
2048
2049func (x *AnnotateImageRequest) GetImageContext() *ImageContext {
2050	if x != nil {
2051		return x.ImageContext
2052	}
2053	return nil
2054}
2055
2056// If an image was produced from a file (e.g. a PDF), this message gives
2057// information about the source of that image.
2058type ImageAnnotationContext struct {
2059	state         protoimpl.MessageState
2060	sizeCache     protoimpl.SizeCache
2061	unknownFields protoimpl.UnknownFields
2062
2063	// The URI of the file used to produce the image.
2064	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
2065	// If the file was a PDF or TIFF, this field gives the page number within
2066	// the file used to produce the image.
2067	PageNumber int32 `protobuf:"varint,2,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
2068}
2069
2070func (x *ImageAnnotationContext) Reset() {
2071	*x = ImageAnnotationContext{}
2072	if protoimpl.UnsafeEnabled {
2073		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[20]
2074		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2075		ms.StoreMessageInfo(mi)
2076	}
2077}
2078
2079func (x *ImageAnnotationContext) String() string {
2080	return protoimpl.X.MessageStringOf(x)
2081}
2082
2083func (*ImageAnnotationContext) ProtoMessage() {}
2084
2085func (x *ImageAnnotationContext) ProtoReflect() protoreflect.Message {
2086	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[20]
2087	if protoimpl.UnsafeEnabled && x != nil {
2088		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2089		if ms.LoadMessageInfo() == nil {
2090			ms.StoreMessageInfo(mi)
2091		}
2092		return ms
2093	}
2094	return mi.MessageOf(x)
2095}
2096
2097// Deprecated: Use ImageAnnotationContext.ProtoReflect.Descriptor instead.
2098func (*ImageAnnotationContext) Descriptor() ([]byte, []int) {
2099	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{20}
2100}
2101
2102func (x *ImageAnnotationContext) GetUri() string {
2103	if x != nil {
2104		return x.Uri
2105	}
2106	return ""
2107}
2108
2109func (x *ImageAnnotationContext) GetPageNumber() int32 {
2110	if x != nil {
2111		return x.PageNumber
2112	}
2113	return 0
2114}
2115
2116// Response to an image annotation request.
2117type AnnotateImageResponse struct {
2118	state         protoimpl.MessageState
2119	sizeCache     protoimpl.SizeCache
2120	unknownFields protoimpl.UnknownFields
2121
2122	// If present, face detection has completed successfully.
2123	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
2124	// If present, landmark detection has completed successfully.
2125	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
2126	// If present, logo detection has completed successfully.
2127	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
2128	// If present, label detection has completed successfully.
2129	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
2130	// If present, localized object detection has completed successfully.
2131	// This will be sorted descending by confidence score.
2132	LocalizedObjectAnnotations []*LocalizedObjectAnnotation `protobuf:"bytes,22,rep,name=localized_object_annotations,json=localizedObjectAnnotations,proto3" json:"localized_object_annotations,omitempty"`
2133	// If present, text (OCR) detection has completed successfully.
2134	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
2135	// If present, text (OCR) detection or document (OCR) text detection has
2136	// completed successfully.
2137	// This annotation provides the structural hierarchy for the OCR detected
2138	// text.
2139	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
2140	// If present, safe-search annotation has completed successfully.
2141	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
2142	// If present, image properties were extracted successfully.
2143	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
2144	// If present, crop hints have completed successfully.
2145	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
2146	// If present, web detection has completed successfully.
2147	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
2148	// If present, product search has completed successfully.
2149	ProductSearchResults *ProductSearchResults `protobuf:"bytes,14,opt,name=product_search_results,json=productSearchResults,proto3" json:"product_search_results,omitempty"`
2150	// If set, represents the error message for the operation.
2151	// Note that filled-in image annotations are guaranteed to be
2152	// correct, even when `error` is set.
2153	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
2154	// If present, contextual information is needed to understand where this image
2155	// comes from.
2156	Context *ImageAnnotationContext `protobuf:"bytes,21,opt,name=context,proto3" json:"context,omitempty"`
2157}
2158
2159func (x *AnnotateImageResponse) Reset() {
2160	*x = AnnotateImageResponse{}
2161	if protoimpl.UnsafeEnabled {
2162		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[21]
2163		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2164		ms.StoreMessageInfo(mi)
2165	}
2166}
2167
2168func (x *AnnotateImageResponse) String() string {
2169	return protoimpl.X.MessageStringOf(x)
2170}
2171
2172func (*AnnotateImageResponse) ProtoMessage() {}
2173
2174func (x *AnnotateImageResponse) ProtoReflect() protoreflect.Message {
2175	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[21]
2176	if protoimpl.UnsafeEnabled && x != nil {
2177		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2178		if ms.LoadMessageInfo() == nil {
2179			ms.StoreMessageInfo(mi)
2180		}
2181		return ms
2182	}
2183	return mi.MessageOf(x)
2184}
2185
2186// Deprecated: Use AnnotateImageResponse.ProtoReflect.Descriptor instead.
2187func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
2188	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{21}
2189}
2190
2191func (x *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
2192	if x != nil {
2193		return x.FaceAnnotations
2194	}
2195	return nil
2196}
2197
2198func (x *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
2199	if x != nil {
2200		return x.LandmarkAnnotations
2201	}
2202	return nil
2203}
2204
2205func (x *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
2206	if x != nil {
2207		return x.LogoAnnotations
2208	}
2209	return nil
2210}
2211
2212func (x *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
2213	if x != nil {
2214		return x.LabelAnnotations
2215	}
2216	return nil
2217}
2218
2219func (x *AnnotateImageResponse) GetLocalizedObjectAnnotations() []*LocalizedObjectAnnotation {
2220	if x != nil {
2221		return x.LocalizedObjectAnnotations
2222	}
2223	return nil
2224}
2225
2226func (x *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
2227	if x != nil {
2228		return x.TextAnnotations
2229	}
2230	return nil
2231}
2232
2233func (x *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
2234	if x != nil {
2235		return x.FullTextAnnotation
2236	}
2237	return nil
2238}
2239
2240func (x *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
2241	if x != nil {
2242		return x.SafeSearchAnnotation
2243	}
2244	return nil
2245}
2246
2247func (x *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
2248	if x != nil {
2249		return x.ImagePropertiesAnnotation
2250	}
2251	return nil
2252}
2253
2254func (x *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
2255	if x != nil {
2256		return x.CropHintsAnnotation
2257	}
2258	return nil
2259}
2260
2261func (x *AnnotateImageResponse) GetWebDetection() *WebDetection {
2262	if x != nil {
2263		return x.WebDetection
2264	}
2265	return nil
2266}
2267
2268func (x *AnnotateImageResponse) GetProductSearchResults() *ProductSearchResults {
2269	if x != nil {
2270		return x.ProductSearchResults
2271	}
2272	return nil
2273}
2274
2275func (x *AnnotateImageResponse) GetError() *status.Status {
2276	if x != nil {
2277		return x.Error
2278	}
2279	return nil
2280}
2281
2282func (x *AnnotateImageResponse) GetContext() *ImageAnnotationContext {
2283	if x != nil {
2284		return x.Context
2285	}
2286	return nil
2287}
2288
2289// Multiple image annotation requests are batched into a single service call.
2290type BatchAnnotateImagesRequest struct {
2291	state         protoimpl.MessageState
2292	sizeCache     protoimpl.SizeCache
2293	unknownFields protoimpl.UnknownFields
2294
2295	// Required. Individual image annotation requests for this batch.
2296	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2297	// Optional. Target project and location to make a call.
2298	//
2299	// Format: `projects/{project-id}/locations/{location-id}`.
2300	//
2301	// If no parent is specified, a region will be chosen automatically.
2302	//
2303	// Supported location-ids:
2304	//     `us`: USA country only,
2305	//     `asia`: East asia areas, like Japan, Taiwan,
2306	//     `eu`: The European Union.
2307	//
2308	// Example: `projects/project-A/locations/eu`.
2309	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
2310}
2311
2312func (x *BatchAnnotateImagesRequest) Reset() {
2313	*x = BatchAnnotateImagesRequest{}
2314	if protoimpl.UnsafeEnabled {
2315		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[22]
2316		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2317		ms.StoreMessageInfo(mi)
2318	}
2319}
2320
2321func (x *BatchAnnotateImagesRequest) String() string {
2322	return protoimpl.X.MessageStringOf(x)
2323}
2324
2325func (*BatchAnnotateImagesRequest) ProtoMessage() {}
2326
2327func (x *BatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2328	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[22]
2329	if protoimpl.UnsafeEnabled && x != nil {
2330		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2331		if ms.LoadMessageInfo() == nil {
2332			ms.StoreMessageInfo(mi)
2333		}
2334		return ms
2335	}
2336	return mi.MessageOf(x)
2337}
2338
2339// Deprecated: Use BatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2340func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2341	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{22}
2342}
2343
2344func (x *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2345	if x != nil {
2346		return x.Requests
2347	}
2348	return nil
2349}
2350
2351func (x *BatchAnnotateImagesRequest) GetParent() string {
2352	if x != nil {
2353		return x.Parent
2354	}
2355	return ""
2356}
2357
2358// Response to a batch image annotation request.
2359type BatchAnnotateImagesResponse struct {
2360	state         protoimpl.MessageState
2361	sizeCache     protoimpl.SizeCache
2362	unknownFields protoimpl.UnknownFields
2363
2364	// Individual responses to image annotation requests within the batch.
2365	Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2366}
2367
2368func (x *BatchAnnotateImagesResponse) Reset() {
2369	*x = BatchAnnotateImagesResponse{}
2370	if protoimpl.UnsafeEnabled {
2371		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[23]
2372		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2373		ms.StoreMessageInfo(mi)
2374	}
2375}
2376
2377func (x *BatchAnnotateImagesResponse) String() string {
2378	return protoimpl.X.MessageStringOf(x)
2379}
2380
2381func (*BatchAnnotateImagesResponse) ProtoMessage() {}
2382
2383func (x *BatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2384	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[23]
2385	if protoimpl.UnsafeEnabled && x != nil {
2386		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2387		if ms.LoadMessageInfo() == nil {
2388			ms.StoreMessageInfo(mi)
2389		}
2390		return ms
2391	}
2392	return mi.MessageOf(x)
2393}
2394
2395// Deprecated: Use BatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2396func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2397	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{23}
2398}
2399
2400func (x *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
2401	if x != nil {
2402		return x.Responses
2403	}
2404	return nil
2405}
2406
2407// A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
2408type AnnotateFileRequest struct {
2409	state         protoimpl.MessageState
2410	sizeCache     protoimpl.SizeCache
2411	unknownFields protoimpl.UnknownFields
2412
2413	// Required. Information about the input file.
2414	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2415	// Required. Requested features.
2416	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2417	// Additional context that may accompany the image(s) in the file.
2418	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2419	// Pages of the file to perform image annotation.
2420	//
2421	// Pages starts from 1, we assume the first page of the file is page 1.
2422	// At most 5 pages are supported per request. Pages can be negative.
2423	//
2424	// Page 1 means the first page.
2425	// Page 2 means the second page.
2426	// Page -1 means the last page.
2427	// Page -2 means the second to the last page.
2428	//
2429	// If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
2430	//
2431	// If this field is empty, by default the service performs image annotation
2432	// for the first 5 pages of the file.
2433	Pages []int32 `protobuf:"varint,4,rep,packed,name=pages,proto3" json:"pages,omitempty"`
2434}
2435
2436func (x *AnnotateFileRequest) Reset() {
2437	*x = AnnotateFileRequest{}
2438	if protoimpl.UnsafeEnabled {
2439		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[24]
2440		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2441		ms.StoreMessageInfo(mi)
2442	}
2443}
2444
2445func (x *AnnotateFileRequest) String() string {
2446	return protoimpl.X.MessageStringOf(x)
2447}
2448
2449func (*AnnotateFileRequest) ProtoMessage() {}
2450
2451func (x *AnnotateFileRequest) ProtoReflect() protoreflect.Message {
2452	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[24]
2453	if protoimpl.UnsafeEnabled && x != nil {
2454		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2455		if ms.LoadMessageInfo() == nil {
2456			ms.StoreMessageInfo(mi)
2457		}
2458		return ms
2459	}
2460	return mi.MessageOf(x)
2461}
2462
2463// Deprecated: Use AnnotateFileRequest.ProtoReflect.Descriptor instead.
2464func (*AnnotateFileRequest) Descriptor() ([]byte, []int) {
2465	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{24}
2466}
2467
2468func (x *AnnotateFileRequest) GetInputConfig() *InputConfig {
2469	if x != nil {
2470		return x.InputConfig
2471	}
2472	return nil
2473}
2474
2475func (x *AnnotateFileRequest) GetFeatures() []*Feature {
2476	if x != nil {
2477		return x.Features
2478	}
2479	return nil
2480}
2481
2482func (x *AnnotateFileRequest) GetImageContext() *ImageContext {
2483	if x != nil {
2484		return x.ImageContext
2485	}
2486	return nil
2487}
2488
2489func (x *AnnotateFileRequest) GetPages() []int32 {
2490	if x != nil {
2491		return x.Pages
2492	}
2493	return nil
2494}
2495
2496// Response to a single file annotation request. A file may contain one or more
2497// images, which individually have their own responses.
2498type AnnotateFileResponse struct {
2499	state         protoimpl.MessageState
2500	sizeCache     protoimpl.SizeCache
2501	unknownFields protoimpl.UnknownFields
2502
2503	// Information about the file for which this response is generated.
2504	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2505	// Individual responses to images found within the file. This field will be
2506	// empty if the `error` field is set.
2507	Responses []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
2508	// This field gives the total number of pages in the file.
2509	TotalPages int32 `protobuf:"varint,3,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
2510	// If set, represents the error message for the failed request. The
2511	// `responses` field will not be set in this case.
2512	Error *status.Status `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
2513}
2514
2515func (x *AnnotateFileResponse) Reset() {
2516	*x = AnnotateFileResponse{}
2517	if protoimpl.UnsafeEnabled {
2518		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[25]
2519		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2520		ms.StoreMessageInfo(mi)
2521	}
2522}
2523
2524func (x *AnnotateFileResponse) String() string {
2525	return protoimpl.X.MessageStringOf(x)
2526}
2527
2528func (*AnnotateFileResponse) ProtoMessage() {}
2529
2530func (x *AnnotateFileResponse) ProtoReflect() protoreflect.Message {
2531	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[25]
2532	if protoimpl.UnsafeEnabled && x != nil {
2533		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2534		if ms.LoadMessageInfo() == nil {
2535			ms.StoreMessageInfo(mi)
2536		}
2537		return ms
2538	}
2539	return mi.MessageOf(x)
2540}
2541
2542// Deprecated: Use AnnotateFileResponse.ProtoReflect.Descriptor instead.
2543func (*AnnotateFileResponse) Descriptor() ([]byte, []int) {
2544	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{25}
2545}
2546
2547func (x *AnnotateFileResponse) GetInputConfig() *InputConfig {
2548	if x != nil {
2549		return x.InputConfig
2550	}
2551	return nil
2552}
2553
2554func (x *AnnotateFileResponse) GetResponses() []*AnnotateImageResponse {
2555	if x != nil {
2556		return x.Responses
2557	}
2558	return nil
2559}
2560
2561func (x *AnnotateFileResponse) GetTotalPages() int32 {
2562	if x != nil {
2563		return x.TotalPages
2564	}
2565	return 0
2566}
2567
2568func (x *AnnotateFileResponse) GetError() *status.Status {
2569	if x != nil {
2570		return x.Error
2571	}
2572	return nil
2573}
2574
2575// A list of requests to annotate files using the BatchAnnotateFiles API.
2576type BatchAnnotateFilesRequest struct {
2577	state         protoimpl.MessageState
2578	sizeCache     protoimpl.SizeCache
2579	unknownFields protoimpl.UnknownFields
2580
2581	// Required. The list of file annotation requests. Right now we support only
2582	// one AnnotateFileRequest in BatchAnnotateFilesRequest.
2583	Requests []*AnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2584	// Optional. Target project and location to make a call.
2585	//
2586	// Format: `projects/{project-id}/locations/{location-id}`.
2587	//
2588	// If no parent is specified, a region will be chosen automatically.
2589	//
2590	// Supported location-ids:
2591	//     `us`: USA country only,
2592	//     `asia`: East asia areas, like Japan, Taiwan,
2593	//     `eu`: The European Union.
2594	//
2595	// Example: `projects/project-A/locations/eu`.
2596	Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
2597}
2598
2599func (x *BatchAnnotateFilesRequest) Reset() {
2600	*x = BatchAnnotateFilesRequest{}
2601	if protoimpl.UnsafeEnabled {
2602		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[26]
2603		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2604		ms.StoreMessageInfo(mi)
2605	}
2606}
2607
2608func (x *BatchAnnotateFilesRequest) String() string {
2609	return protoimpl.X.MessageStringOf(x)
2610}
2611
2612func (*BatchAnnotateFilesRequest) ProtoMessage() {}
2613
2614func (x *BatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2615	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[26]
2616	if protoimpl.UnsafeEnabled && x != nil {
2617		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2618		if ms.LoadMessageInfo() == nil {
2619			ms.StoreMessageInfo(mi)
2620		}
2621		return ms
2622	}
2623	return mi.MessageOf(x)
2624}
2625
2626// Deprecated: Use BatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2627func (*BatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2628	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{26}
2629}
2630
2631func (x *BatchAnnotateFilesRequest) GetRequests() []*AnnotateFileRequest {
2632	if x != nil {
2633		return x.Requests
2634	}
2635	return nil
2636}
2637
2638func (x *BatchAnnotateFilesRequest) GetParent() string {
2639	if x != nil {
2640		return x.Parent
2641	}
2642	return ""
2643}
2644
2645// A list of file annotation responses.
2646type BatchAnnotateFilesResponse struct {
2647	state         protoimpl.MessageState
2648	sizeCache     protoimpl.SizeCache
2649	unknownFields protoimpl.UnknownFields
2650
2651	// The list of file annotation responses, each response corresponding to each
2652	// AnnotateFileRequest in BatchAnnotateFilesRequest.
2653	Responses []*AnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2654}
2655
2656func (x *BatchAnnotateFilesResponse) Reset() {
2657	*x = BatchAnnotateFilesResponse{}
2658	if protoimpl.UnsafeEnabled {
2659		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[27]
2660		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2661		ms.StoreMessageInfo(mi)
2662	}
2663}
2664
2665func (x *BatchAnnotateFilesResponse) String() string {
2666	return protoimpl.X.MessageStringOf(x)
2667}
2668
2669func (*BatchAnnotateFilesResponse) ProtoMessage() {}
2670
2671func (x *BatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2672	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[27]
2673	if protoimpl.UnsafeEnabled && x != nil {
2674		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2675		if ms.LoadMessageInfo() == nil {
2676			ms.StoreMessageInfo(mi)
2677		}
2678		return ms
2679	}
2680	return mi.MessageOf(x)
2681}
2682
2683// Deprecated: Use BatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2684func (*BatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2685	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{27}
2686}
2687
2688func (x *BatchAnnotateFilesResponse) GetResponses() []*AnnotateFileResponse {
2689	if x != nil {
2690		return x.Responses
2691	}
2692	return nil
2693}
2694
2695// An offline file annotation request.
2696type AsyncAnnotateFileRequest struct {
2697	state         protoimpl.MessageState
2698	sizeCache     protoimpl.SizeCache
2699	unknownFields protoimpl.UnknownFields
2700
2701	// Required. Information about the input file.
2702	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2703	// Required. Requested features.
2704	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2705	// Additional context that may accompany the image(s) in the file.
2706	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2707	// Required. The desired output location and metadata (e.g. format).
2708	OutputConfig *OutputConfig `protobuf:"bytes,4,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2709}
2710
2711func (x *AsyncAnnotateFileRequest) Reset() {
2712	*x = AsyncAnnotateFileRequest{}
2713	if protoimpl.UnsafeEnabled {
2714		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[28]
2715		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2716		ms.StoreMessageInfo(mi)
2717	}
2718}
2719
2720func (x *AsyncAnnotateFileRequest) String() string {
2721	return protoimpl.X.MessageStringOf(x)
2722}
2723
2724func (*AsyncAnnotateFileRequest) ProtoMessage() {}
2725
2726func (x *AsyncAnnotateFileRequest) ProtoReflect() protoreflect.Message {
2727	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[28]
2728	if protoimpl.UnsafeEnabled && x != nil {
2729		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2730		if ms.LoadMessageInfo() == nil {
2731			ms.StoreMessageInfo(mi)
2732		}
2733		return ms
2734	}
2735	return mi.MessageOf(x)
2736}
2737
2738// Deprecated: Use AsyncAnnotateFileRequest.ProtoReflect.Descriptor instead.
2739func (*AsyncAnnotateFileRequest) Descriptor() ([]byte, []int) {
2740	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{28}
2741}
2742
2743func (x *AsyncAnnotateFileRequest) GetInputConfig() *InputConfig {
2744	if x != nil {
2745		return x.InputConfig
2746	}
2747	return nil
2748}
2749
2750func (x *AsyncAnnotateFileRequest) GetFeatures() []*Feature {
2751	if x != nil {
2752		return x.Features
2753	}
2754	return nil
2755}
2756
2757func (x *AsyncAnnotateFileRequest) GetImageContext() *ImageContext {
2758	if x != nil {
2759		return x.ImageContext
2760	}
2761	return nil
2762}
2763
2764func (x *AsyncAnnotateFileRequest) GetOutputConfig() *OutputConfig {
2765	if x != nil {
2766		return x.OutputConfig
2767	}
2768	return nil
2769}
2770
2771// The response for a single offline file annotation request.
2772type AsyncAnnotateFileResponse struct {
2773	state         protoimpl.MessageState
2774	sizeCache     protoimpl.SizeCache
2775	unknownFields protoimpl.UnknownFields
2776
2777	// The output location and metadata from AsyncAnnotateFileRequest.
2778	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2779}
2780
2781func (x *AsyncAnnotateFileResponse) Reset() {
2782	*x = AsyncAnnotateFileResponse{}
2783	if protoimpl.UnsafeEnabled {
2784		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[29]
2785		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2786		ms.StoreMessageInfo(mi)
2787	}
2788}
2789
2790func (x *AsyncAnnotateFileResponse) String() string {
2791	return protoimpl.X.MessageStringOf(x)
2792}
2793
2794func (*AsyncAnnotateFileResponse) ProtoMessage() {}
2795
2796func (x *AsyncAnnotateFileResponse) ProtoReflect() protoreflect.Message {
2797	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[29]
2798	if protoimpl.UnsafeEnabled && x != nil {
2799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2800		if ms.LoadMessageInfo() == nil {
2801			ms.StoreMessageInfo(mi)
2802		}
2803		return ms
2804	}
2805	return mi.MessageOf(x)
2806}
2807
2808// Deprecated: Use AsyncAnnotateFileResponse.ProtoReflect.Descriptor instead.
2809func (*AsyncAnnotateFileResponse) Descriptor() ([]byte, []int) {
2810	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{29}
2811}
2812
2813func (x *AsyncAnnotateFileResponse) GetOutputConfig() *OutputConfig {
2814	if x != nil {
2815		return x.OutputConfig
2816	}
2817	return nil
2818}
2819
2820// Request for async image annotation for a list of images.
2821type AsyncBatchAnnotateImagesRequest struct {
2822	state         protoimpl.MessageState
2823	sizeCache     protoimpl.SizeCache
2824	unknownFields protoimpl.UnknownFields
2825
2826	// Required. Individual image annotation requests for this batch.
2827	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2828	// Required. The desired output location and metadata (e.g. format).
2829	OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2830	// Optional. Target project and location to make a call.
2831	//
2832	// Format: `projects/{project-id}/locations/{location-id}`.
2833	//
2834	// If no parent is specified, a region will be chosen automatically.
2835	//
2836	// Supported location-ids:
2837	//     `us`: USA country only,
2838	//     `asia`: East asia areas, like Japan, Taiwan,
2839	//     `eu`: The European Union.
2840	//
2841	// Example: `projects/project-A/locations/eu`.
2842	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
2843}
2844
2845func (x *AsyncBatchAnnotateImagesRequest) Reset() {
2846	*x = AsyncBatchAnnotateImagesRequest{}
2847	if protoimpl.UnsafeEnabled {
2848		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[30]
2849		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2850		ms.StoreMessageInfo(mi)
2851	}
2852}
2853
2854func (x *AsyncBatchAnnotateImagesRequest) String() string {
2855	return protoimpl.X.MessageStringOf(x)
2856}
2857
2858func (*AsyncBatchAnnotateImagesRequest) ProtoMessage() {}
2859
2860func (x *AsyncBatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2861	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[30]
2862	if protoimpl.UnsafeEnabled && x != nil {
2863		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2864		if ms.LoadMessageInfo() == nil {
2865			ms.StoreMessageInfo(mi)
2866		}
2867		return ms
2868	}
2869	return mi.MessageOf(x)
2870}
2871
2872// Deprecated: Use AsyncBatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2873func (*AsyncBatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2874	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{30}
2875}
2876
2877func (x *AsyncBatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2878	if x != nil {
2879		return x.Requests
2880	}
2881	return nil
2882}
2883
2884func (x *AsyncBatchAnnotateImagesRequest) GetOutputConfig() *OutputConfig {
2885	if x != nil {
2886		return x.OutputConfig
2887	}
2888	return nil
2889}
2890
2891func (x *AsyncBatchAnnotateImagesRequest) GetParent() string {
2892	if x != nil {
2893		return x.Parent
2894	}
2895	return ""
2896}
2897
2898// Response to an async batch image annotation request.
2899type AsyncBatchAnnotateImagesResponse struct {
2900	state         protoimpl.MessageState
2901	sizeCache     protoimpl.SizeCache
2902	unknownFields protoimpl.UnknownFields
2903
2904	// The output location and metadata from AsyncBatchAnnotateImagesRequest.
2905	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2906}
2907
2908func (x *AsyncBatchAnnotateImagesResponse) Reset() {
2909	*x = AsyncBatchAnnotateImagesResponse{}
2910	if protoimpl.UnsafeEnabled {
2911		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[31]
2912		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2913		ms.StoreMessageInfo(mi)
2914	}
2915}
2916
2917func (x *AsyncBatchAnnotateImagesResponse) String() string {
2918	return protoimpl.X.MessageStringOf(x)
2919}
2920
2921func (*AsyncBatchAnnotateImagesResponse) ProtoMessage() {}
2922
2923func (x *AsyncBatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2924	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[31]
2925	if protoimpl.UnsafeEnabled && x != nil {
2926		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2927		if ms.LoadMessageInfo() == nil {
2928			ms.StoreMessageInfo(mi)
2929		}
2930		return ms
2931	}
2932	return mi.MessageOf(x)
2933}
2934
2935// Deprecated: Use AsyncBatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2936func (*AsyncBatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2937	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{31}
2938}
2939
2940func (x *AsyncBatchAnnotateImagesResponse) GetOutputConfig() *OutputConfig {
2941	if x != nil {
2942		return x.OutputConfig
2943	}
2944	return nil
2945}
2946
2947// Multiple async file annotation requests are batched into a single service
2948// call.
2949type AsyncBatchAnnotateFilesRequest struct {
2950	state         protoimpl.MessageState
2951	sizeCache     protoimpl.SizeCache
2952	unknownFields protoimpl.UnknownFields
2953
2954	// Required. Individual async file annotation requests for this batch.
2955	Requests []*AsyncAnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2956	// Optional. Target project and location to make a call.
2957	//
2958	// Format: `projects/{project-id}/locations/{location-id}`.
2959	//
2960	// If no parent is specified, a region will be chosen automatically.
2961	//
2962	// Supported location-ids:
2963	//     `us`: USA country only,
2964	//     `asia`: East asia areas, like Japan, Taiwan,
2965	//     `eu`: The European Union.
2966	//
2967	// Example: `projects/project-A/locations/eu`.
2968	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
2969}
2970
2971func (x *AsyncBatchAnnotateFilesRequest) Reset() {
2972	*x = AsyncBatchAnnotateFilesRequest{}
2973	if protoimpl.UnsafeEnabled {
2974		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[32]
2975		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2976		ms.StoreMessageInfo(mi)
2977	}
2978}
2979
2980func (x *AsyncBatchAnnotateFilesRequest) String() string {
2981	return protoimpl.X.MessageStringOf(x)
2982}
2983
2984func (*AsyncBatchAnnotateFilesRequest) ProtoMessage() {}
2985
2986func (x *AsyncBatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2987	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[32]
2988	if protoimpl.UnsafeEnabled && x != nil {
2989		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2990		if ms.LoadMessageInfo() == nil {
2991			ms.StoreMessageInfo(mi)
2992		}
2993		return ms
2994	}
2995	return mi.MessageOf(x)
2996}
2997
2998// Deprecated: Use AsyncBatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2999func (*AsyncBatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
3000	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{32}
3001}
3002
3003func (x *AsyncBatchAnnotateFilesRequest) GetRequests() []*AsyncAnnotateFileRequest {
3004	if x != nil {
3005		return x.Requests
3006	}
3007	return nil
3008}
3009
3010func (x *AsyncBatchAnnotateFilesRequest) GetParent() string {
3011	if x != nil {
3012		return x.Parent
3013	}
3014	return ""
3015}
3016
3017// Response to an async batch file annotation request.
3018type AsyncBatchAnnotateFilesResponse struct {
3019	state         protoimpl.MessageState
3020	sizeCache     protoimpl.SizeCache
3021	unknownFields protoimpl.UnknownFields
3022
3023	// The list of file annotation responses, one for each request in
3024	// AsyncBatchAnnotateFilesRequest.
3025	Responses []*AsyncAnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
3026}
3027
3028func (x *AsyncBatchAnnotateFilesResponse) Reset() {
3029	*x = AsyncBatchAnnotateFilesResponse{}
3030	if protoimpl.UnsafeEnabled {
3031		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[33]
3032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3033		ms.StoreMessageInfo(mi)
3034	}
3035}
3036
3037func (x *AsyncBatchAnnotateFilesResponse) String() string {
3038	return protoimpl.X.MessageStringOf(x)
3039}
3040
3041func (*AsyncBatchAnnotateFilesResponse) ProtoMessage() {}
3042
3043func (x *AsyncBatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
3044	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[33]
3045	if protoimpl.UnsafeEnabled && x != nil {
3046		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3047		if ms.LoadMessageInfo() == nil {
3048			ms.StoreMessageInfo(mi)
3049		}
3050		return ms
3051	}
3052	return mi.MessageOf(x)
3053}
3054
3055// Deprecated: Use AsyncBatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
3056func (*AsyncBatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
3057	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{33}
3058}
3059
3060func (x *AsyncBatchAnnotateFilesResponse) GetResponses() []*AsyncAnnotateFileResponse {
3061	if x != nil {
3062		return x.Responses
3063	}
3064	return nil
3065}
3066
3067// The desired input location and metadata.
3068type InputConfig struct {
3069	state         protoimpl.MessageState
3070	sizeCache     protoimpl.SizeCache
3071	unknownFields protoimpl.UnknownFields
3072
3073	// The Google Cloud Storage location to read the input from.
3074	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
3075	// File content, represented as a stream of bytes.
3076	// Note: As with all `bytes` fields, protobuffers use a pure binary
3077	// representation, whereas JSON representations use base64.
3078	//
3079	// Currently, this field only works for BatchAnnotateFiles requests. It does
3080	// not work for AsyncBatchAnnotateFiles requests.
3081	Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
3082	// The type of the file. Currently only "application/pdf", "image/tiff" and
3083	// "image/gif" are supported. Wildcards are not supported.
3084	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
3085}
3086
3087func (x *InputConfig) Reset() {
3088	*x = InputConfig{}
3089	if protoimpl.UnsafeEnabled {
3090		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[34]
3091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3092		ms.StoreMessageInfo(mi)
3093	}
3094}
3095
3096func (x *InputConfig) String() string {
3097	return protoimpl.X.MessageStringOf(x)
3098}
3099
3100func (*InputConfig) ProtoMessage() {}
3101
3102func (x *InputConfig) ProtoReflect() protoreflect.Message {
3103	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[34]
3104	if protoimpl.UnsafeEnabled && x != nil {
3105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3106		if ms.LoadMessageInfo() == nil {
3107			ms.StoreMessageInfo(mi)
3108		}
3109		return ms
3110	}
3111	return mi.MessageOf(x)
3112}
3113
3114// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
3115func (*InputConfig) Descriptor() ([]byte, []int) {
3116	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{34}
3117}
3118
3119func (x *InputConfig) GetGcsSource() *GcsSource {
3120	if x != nil {
3121		return x.GcsSource
3122	}
3123	return nil
3124}
3125
3126func (x *InputConfig) GetContent() []byte {
3127	if x != nil {
3128		return x.Content
3129	}
3130	return nil
3131}
3132
3133func (x *InputConfig) GetMimeType() string {
3134	if x != nil {
3135		return x.MimeType
3136	}
3137	return ""
3138}
3139
3140// The desired output location and metadata.
3141type OutputConfig struct {
3142	state         protoimpl.MessageState
3143	sizeCache     protoimpl.SizeCache
3144	unknownFields protoimpl.UnknownFields
3145
3146	// The Google Cloud Storage location to write the output(s) to.
3147	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"`
3148	// The max number of response protos to put into each output JSON file on
3149	// Google Cloud Storage.
3150	// The valid range is [1, 100]. If not specified, the default value is 20.
3151	//
3152	// For example, for one pdf file with 100 pages, 100 response protos will
3153	// be generated. If `batch_size` = 20, then 5 json files each
3154	// containing 20 response protos will be written under the prefix
3155	// `gcs_destination`.`uri`.
3156	//
3157	// Currently, batch_size only applies to GcsDestination, with potential future
3158	// support for other output configurations.
3159	BatchSize int32 `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
3160}
3161
3162func (x *OutputConfig) Reset() {
3163	*x = OutputConfig{}
3164	if protoimpl.UnsafeEnabled {
3165		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[35]
3166		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3167		ms.StoreMessageInfo(mi)
3168	}
3169}
3170
3171func (x *OutputConfig) String() string {
3172	return protoimpl.X.MessageStringOf(x)
3173}
3174
3175func (*OutputConfig) ProtoMessage() {}
3176
3177func (x *OutputConfig) ProtoReflect() protoreflect.Message {
3178	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[35]
3179	if protoimpl.UnsafeEnabled && x != nil {
3180		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3181		if ms.LoadMessageInfo() == nil {
3182			ms.StoreMessageInfo(mi)
3183		}
3184		return ms
3185	}
3186	return mi.MessageOf(x)
3187}
3188
3189// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
3190func (*OutputConfig) Descriptor() ([]byte, []int) {
3191	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{35}
3192}
3193
3194func (x *OutputConfig) GetGcsDestination() *GcsDestination {
3195	if x != nil {
3196		return x.GcsDestination
3197	}
3198	return nil
3199}
3200
3201func (x *OutputConfig) GetBatchSize() int32 {
3202	if x != nil {
3203		return x.BatchSize
3204	}
3205	return 0
3206}
3207
3208// The Google Cloud Storage location where the input will be read from.
3209type GcsSource struct {
3210	state         protoimpl.MessageState
3211	sizeCache     protoimpl.SizeCache
3212	unknownFields protoimpl.UnknownFields
3213
3214	// Google Cloud Storage URI for the input file. This must only be a
3215	// Google Cloud Storage object. Wildcards are not currently supported.
3216	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3217}
3218
3219func (x *GcsSource) Reset() {
3220	*x = GcsSource{}
3221	if protoimpl.UnsafeEnabled {
3222		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[36]
3223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3224		ms.StoreMessageInfo(mi)
3225	}
3226}
3227
3228func (x *GcsSource) String() string {
3229	return protoimpl.X.MessageStringOf(x)
3230}
3231
3232func (*GcsSource) ProtoMessage() {}
3233
3234func (x *GcsSource) ProtoReflect() protoreflect.Message {
3235	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[36]
3236	if protoimpl.UnsafeEnabled && x != nil {
3237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3238		if ms.LoadMessageInfo() == nil {
3239			ms.StoreMessageInfo(mi)
3240		}
3241		return ms
3242	}
3243	return mi.MessageOf(x)
3244}
3245
3246// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
3247func (*GcsSource) Descriptor() ([]byte, []int) {
3248	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{36}
3249}
3250
3251func (x *GcsSource) GetUri() string {
3252	if x != nil {
3253		return x.Uri
3254	}
3255	return ""
3256}
3257
3258// The Google Cloud Storage location where the output will be written to.
3259type GcsDestination struct {
3260	state         protoimpl.MessageState
3261	sizeCache     protoimpl.SizeCache
3262	unknownFields protoimpl.UnknownFields
3263
3264	// Google Cloud Storage URI prefix where the results will be stored. Results
3265	// will be in JSON format and preceded by its corresponding input URI prefix.
3266	// This field can either represent a gcs file prefix or gcs directory. In
3267	// either case, the uri should be unique because in order to get all of the
3268	// output files, you will need to do a wildcard gcs search on the uri prefix
3269	// you provide.
3270	//
3271	// Examples:
3272	//
3273	// *    File Prefix: gs://bucket-name/here/filenameprefix   The output files
3274	// will be created in gs://bucket-name/here/ and the names of the
3275	// output files will begin with "filenameprefix".
3276	//
3277	// *    Directory Prefix: gs://bucket-name/some/location/   The output files
3278	// will be created in gs://bucket-name/some/location/ and the names of the
3279	// output files could be anything because there was no filename prefix
3280	// specified.
3281	//
3282	// If multiple outputs, each response is still AnnotateFileResponse, each of
3283	// which contains some subset of the full list of AnnotateImageResponse.
3284	// Multiple outputs can happen if, for example, the output JSON is too large
3285	// and overflows into multiple sharded files.
3286	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3287}
3288
3289func (x *GcsDestination) Reset() {
3290	*x = GcsDestination{}
3291	if protoimpl.UnsafeEnabled {
3292		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[37]
3293		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3294		ms.StoreMessageInfo(mi)
3295	}
3296}
3297
3298func (x *GcsDestination) String() string {
3299	return protoimpl.X.MessageStringOf(x)
3300}
3301
3302func (*GcsDestination) ProtoMessage() {}
3303
3304func (x *GcsDestination) ProtoReflect() protoreflect.Message {
3305	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[37]
3306	if protoimpl.UnsafeEnabled && x != nil {
3307		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3308		if ms.LoadMessageInfo() == nil {
3309			ms.StoreMessageInfo(mi)
3310		}
3311		return ms
3312	}
3313	return mi.MessageOf(x)
3314}
3315
3316// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
3317func (*GcsDestination) Descriptor() ([]byte, []int) {
3318	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{37}
3319}
3320
3321func (x *GcsDestination) GetUri() string {
3322	if x != nil {
3323		return x.Uri
3324	}
3325	return ""
3326}
3327
3328// Contains metadata for the BatchAnnotateImages operation.
3329type OperationMetadata struct {
3330	state         protoimpl.MessageState
3331	sizeCache     protoimpl.SizeCache
3332	unknownFields protoimpl.UnknownFields
3333
3334	// Current state of the batch operation.
3335	State OperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1.OperationMetadata_State" json:"state,omitempty"`
3336	// The time when the batch request was received.
3337	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
3338	// The time when the operation result was last updated.
3339	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
3340}
3341
3342func (x *OperationMetadata) Reset() {
3343	*x = OperationMetadata{}
3344	if protoimpl.UnsafeEnabled {
3345		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[38]
3346		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3347		ms.StoreMessageInfo(mi)
3348	}
3349}
3350
3351func (x *OperationMetadata) String() string {
3352	return protoimpl.X.MessageStringOf(x)
3353}
3354
3355func (*OperationMetadata) ProtoMessage() {}
3356
3357func (x *OperationMetadata) ProtoReflect() protoreflect.Message {
3358	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[38]
3359	if protoimpl.UnsafeEnabled && x != nil {
3360		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3361		if ms.LoadMessageInfo() == nil {
3362			ms.StoreMessageInfo(mi)
3363		}
3364		return ms
3365	}
3366	return mi.MessageOf(x)
3367}
3368
3369// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.
3370func (*OperationMetadata) Descriptor() ([]byte, []int) {
3371	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{38}
3372}
3373
3374func (x *OperationMetadata) GetState() OperationMetadata_State {
3375	if x != nil {
3376		return x.State
3377	}
3378	return OperationMetadata_STATE_UNSPECIFIED
3379}
3380
3381func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp {
3382	if x != nil {
3383		return x.CreateTime
3384	}
3385	return nil
3386}
3387
3388func (x *OperationMetadata) GetUpdateTime() *timestamppb.Timestamp {
3389	if x != nil {
3390		return x.UpdateTime
3391	}
3392	return nil
3393}
3394
3395// A face-specific landmark (for example, a face feature).
3396type FaceAnnotation_Landmark struct {
3397	state         protoimpl.MessageState
3398	sizeCache     protoimpl.SizeCache
3399	unknownFields protoimpl.UnknownFields
3400
3401	// Face landmark type.
3402	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
3403	// Face landmark position.
3404	Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
3405}
3406
3407func (x *FaceAnnotation_Landmark) Reset() {
3408	*x = FaceAnnotation_Landmark{}
3409	if protoimpl.UnsafeEnabled {
3410		mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[39]
3411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3412		ms.StoreMessageInfo(mi)
3413	}
3414}
3415
3416func (x *FaceAnnotation_Landmark) String() string {
3417	return protoimpl.X.MessageStringOf(x)
3418}
3419
3420func (*FaceAnnotation_Landmark) ProtoMessage() {}
3421
3422func (x *FaceAnnotation_Landmark) ProtoReflect() protoreflect.Message {
3423	mi := &file_google_cloud_vision_v1_image_annotator_proto_msgTypes[39]
3424	if protoimpl.UnsafeEnabled && x != nil {
3425		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3426		if ms.LoadMessageInfo() == nil {
3427			ms.StoreMessageInfo(mi)
3428		}
3429		return ms
3430	}
3431	return mi.MessageOf(x)
3432}
3433
3434// Deprecated: Use FaceAnnotation_Landmark.ProtoReflect.Descriptor instead.
3435func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
3436	return file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP(), []int{3, 0}
3437}
3438
3439func (x *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
3440	if x != nil {
3441		return x.Type
3442	}
3443	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
3444}
3445
3446func (x *FaceAnnotation_Landmark) GetPosition() *Position {
3447	if x != nil {
3448		return x.Position
3449	}
3450	return nil
3451}
3452
3453var File_google_cloud_vision_v1_image_annotator_proto protoreflect.FileDescriptor
3454
3455var file_google_cloud_vision_v1_image_annotator_proto_rawDesc = []byte{
3456	0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
3457	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61,
3458	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16,
3459	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3460	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3461	0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
3462	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
3463	0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
3464	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
3465	0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25,
3466	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73,
3467	0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e,
3468	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
3469	0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72,
3470	0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f,
3471	0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3472	0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x5f,
3473	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3474	0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
3475	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74,
3476	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f,
3477	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
3478	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3479	0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3480	0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72,
3481	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
3482	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
3483	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63,
3484	0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67,
3485	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
3486	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74,
3487	0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3488	0x22, 0xa0, 0x03, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x04,
3489	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3490	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3491	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65,
3492	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65,
3493	0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78,
3494	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
3495	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xa3, 0x02,
3496	0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
3497	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e,
3498	0x46, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01,
3499	0x12, 0x16, 0x0a, 0x12, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x54,
3500	0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x4f,
3501	0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f,
3502	0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
3503	0x04, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54,
3504	0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e,
3505	0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e,
3506	0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43,
3507	0x48, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x14, 0x0a,
3508	0x10, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45,
3509	0x53, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x49, 0x4e, 0x54,
3510	0x53, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x45, 0x42, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43,
3511	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43,
3512	0x54, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42,
3513	0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f,
3514	0x4e, 0x10, 0x13, 0x22, 0x4e, 0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72,
3515	0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
3516	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x49, 0x6d,
3517	0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
3518	0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65,
3519	0x55, 0x72, 0x69, 0x22, 0x5e, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07,
3520	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
3521	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
3522	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3523	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3524	0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75,
3525	0x72, 0x63, 0x65, 0x22, 0x80, 0x10, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f,
3526	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69,
3527	0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
3528	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3529	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50,
3530	0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3531	0x79, 0x12, 0x4e, 0x0a, 0x10, 0x66, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
3532	0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
3533	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3534	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3535	0x79, 0x52, 0x0e, 0x66, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3536	0x79, 0x12, 0x4d, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03,
3537	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3538	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61,
3539	0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e,
3540	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73,
3541	0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x04,
3542	0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12,
3543	0x1b, 0x0a, 0x09, 0x70, 0x61, 0x6e, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01,
3544	0x28, 0x02, 0x52, 0x08, 0x70, 0x61, 0x6e, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
3545	0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02,
3546	0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x64,
3547	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
3548	0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x65, 0x74, 0x65, 0x63,
3549	0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x35,
3550	0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
3551	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15,
3552	0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3553	0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x6a, 0x6f, 0x79, 0x5f, 0x6c, 0x69, 0x6b,
3554	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e,
3555	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3556	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
3557	0x64, 0x52, 0x0d, 0x6a, 0x6f, 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
3558	0x12, 0x4f, 0x0a, 0x11, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c,
3559	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f,
3560	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3561	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3562	0x10, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
3563	0x64, 0x12, 0x4d, 0x0a, 0x10, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c,
3564	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f,
3565	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3566	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3567	0x0f, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
3568	0x12, 0x53, 0x0a, 0x13, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6b,
3569	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e,
3570	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3571	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
3572	0x64, 0x52, 0x12, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
3573	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5c, 0x0a, 0x18, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x65,
3574	0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
3575	0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3576	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3577	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x16, 0x75, 0x6e, 0x64,
3578	0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3579	0x6f, 0x6f, 0x64, 0x12, 0x51, 0x0a, 0x12, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c,
3580	0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32,
3581	0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3582	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3583	0x6f, 0x6f, 0x64, 0x52, 0x11, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65,
3584	0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x53, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65,
3585	0x61, 0x72, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0f, 0x20,
3586	0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3587	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b,
3588	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x12, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65, 0x61,
3589	0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x1a, 0xf8, 0x07, 0x0a, 0x08,
3590	0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
3591	0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3592	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3593	0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c,
3594	0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
3595	0x70, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
3596	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3597	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f,
3598	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3599	0x22, 0xe3, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b,
3600	0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x00, 0x12,
3601	0x0c, 0x0a, 0x08, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a,
3602	0x09, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14,
3603	0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45,
3604	0x42, 0x52, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3605	0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10,
3606	0x04, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47,
3607	0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16,
3608	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45,
3609	0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x49, 0x44, 0x50,
3610	0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x45, 0x59, 0x45,
3611	0x53, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x50, 0x10,
3612	0x08, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x09,
3613	0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x0a, 0x12,
3614	0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0b, 0x12,
3615	0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0c,
3616	0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52,
3617	0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f,
3618	0x4d, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x53,
3619	0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0f, 0x12,
3620	0x16, 0x0a, 0x12, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x43,
3621	0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3622	0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59,
3623	0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52,
3624	0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x12, 0x12, 0x1c, 0x0a,
3625	0x18, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d,
3626	0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x4c,
3627	0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52,
3628	0x4e, 0x45, 0x52, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45,
3629	0x59, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10,
3630	0x15, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52,
3631	0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x16, 0x12, 0x1d, 0x0a,
3632	0x19, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f,
3633	0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x17, 0x12, 0x19, 0x0a, 0x15,
3634	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43,
3635	0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3636	0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49,
3637	0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x49, 0x47, 0x48,
3638	0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f,
3639	0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45,
3640	0x46, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1b,
3641	0x12, 0x15, 0x0a, 0x11, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52,
3642	0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3643	0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1d, 0x12, 0x13, 0x0a, 0x0f, 0x52,
3644	0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1e,
3645	0x12, 0x15, 0x0a, 0x11, 0x46, 0x4f, 0x52, 0x45, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x47, 0x4c, 0x41,
3646	0x42, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x49, 0x4e, 0x5f,
3647	0x47, 0x4e, 0x41, 0x54, 0x48, 0x49, 0x4f, 0x4e, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48,
3648	0x49, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x21,
3649	0x12, 0x15, 0x0a, 0x11, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x47,
3650	0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x22, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3651	0x43, 0x48, 0x45, 0x45, 0x4b, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x23, 0x12, 0x16,
3652	0x0a, 0x12, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x45, 0x4b, 0x5f, 0x43, 0x45,
3653	0x4e, 0x54, 0x45, 0x52, 0x10, 0x24, 0x22, 0x3c, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3654	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e,
3655	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3656	0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x06, 0x6c, 0x61,
3657	0x74, 0x4c, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
3658	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
3659	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
3660	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x69,
3661	0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
3662	0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x89, 0x03,
3663	0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3664	0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3665	0x03, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02,
3666	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b,
3667	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
3668	0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
3669	0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73,
3670	0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
3671	0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x6f,
3672	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69,
3673	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f,
3674	0x70, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
3675	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
3676	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3677	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
3678	0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50,
3679	0x6f, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3680	0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3681	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3682	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x6f,
3683	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
3684	0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f,
3685	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3686	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a, 0x70,
3687	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x4c, 0x6f,
3688	0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e,
3689	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01,
3690	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e,
3691	0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3692	0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12,
3693	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
3694	0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
3695	0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
3696	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
3697	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3698	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
3699	0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50,
3700	0x6f, 0x6c, 0x79, 0x22, 0xe0, 0x04, 0x0a, 0x14, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72,
3701	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x05,
3702	0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f,
3703	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3704	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3705	0x05, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x18,
3706	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3707	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
3708	0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66,
3709	0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
3710	0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3711	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
3712	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x3e,
3713	0x0a, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
3714	0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3715	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3716	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x36,
3717	0x0a, 0x04, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67,
3718	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3719	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
3720	0x52, 0x04, 0x72, 0x61, 0x63, 0x79, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x5f,
3721	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02,
3722	0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3723	0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x5f, 0x63,
3724	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x42,
3725	0x02, 0x18, 0x01, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64,
3726	0x65, 0x6e, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x5f,
3727	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02,
3728	0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e,
3729	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x13, 0x76, 0x69, 0x6f, 0x6c, 0x65,
3730	0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x16,
3731	0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e,
3732	0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0f,
3733	0x72, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18,
3734	0x18, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x72, 0x61, 0x63, 0x79, 0x43,
3735	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x73, 0x66,
3736	0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01,
3737	0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x6e, 0x73, 0x66, 0x77, 0x43, 0x6f, 0x6e, 0x66,
3738	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x77, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e,
3739	0x67, 0x52, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74,
3740	0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f,
3741	0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52,
3742	0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61,
3743	0x78, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3744	0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61,
3745	0x74, 0x4c, 0x6e, 0x67, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22,
3746	0x72, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x05,
3747	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f,
3748	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52,
3749	0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
3750	0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e,
3751	0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
3752	0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74,
3753	0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x18, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43,
3754	0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
3755	0x39, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3756	0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3757	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e,
3758	0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0x6c, 0x0a, 0x0f, 0x49, 0x6d,
3759	0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a,
3760	0x0f, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73,
3761	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3762	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3763	0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e,
3764	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61,
3765	0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x6f,
3766	0x70, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
3767	0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
3768	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3769	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f,
3770	0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79,
3771	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02,
3772	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
3773	0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
3774	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x69,
3775	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
3776	0x6e, 0x22, 0x56, 0x0a, 0x13, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e,
3777	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x70,
3778	0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67,
3779	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3780	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x09,
3781	0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x36, 0x0a, 0x0f, 0x43, 0x72, 0x6f,
3782	0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d,
3783	0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20,
3784	0x03, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f,
3785	0x73, 0x22, 0x44, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
3786	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75,
3787	0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02,
3788	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f,
3789	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x69, 0x0a, 0x13, 0x54, 0x65, 0x78, 0x74, 0x44,
3790	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x52,
3791	0x0a, 0x26, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65,
3792	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
3793	0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22,
3794	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
3795	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f,
3796	0x72, 0x65, 0x22, 0xf3, 0x03, 0x0a, 0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
3797	0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
3798	0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
3799	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3800	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x52,
3801	0x0b, 0x6c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e,
3802	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02,
3803	0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x69,
3804	0x6e, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x11, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74,
3805	0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
3806	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3807	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74,
3808	0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0f, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e,
3809	0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64,
3810	0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
3811	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3812	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3813	0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61,
3814	0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61,
3815	0x72, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5c, 0x0a, 0x14, 0x77, 0x65, 0x62,
3816	0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
3817	0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3818	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3819	0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72,
3820	0x61, 0x6d, 0x73, 0x52, 0x12, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
3821	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f,
3822	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
3823	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3824	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3825	0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72,
3826	0x61, 0x6d, 0x73, 0x52, 0x13, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
3827	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd3, 0x01, 0x0a, 0x14, 0x41, 0x6e, 0x6e,
3828	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3829	0x74, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3830	0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3831	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
3832	0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
3833	0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3834	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3835	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
3836	0x72, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
3837	0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3838	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3839	0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
3840	0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4b,
3841	0x0a, 0x16, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3842	0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18,
3843	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61,
3844	0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
3845	0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xe8, 0x09, 0x0a, 0x15,
3846	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
3847	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e,
3848	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3849	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3850	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e,
3851	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e,
3852	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x64,
3853	0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3854	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3855	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3856	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3857	0x52, 0x13, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3858	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6e,
3859	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
3860	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3861	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41,
3862	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x6f, 0x41,
3863	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x11, 0x6c, 0x61,
3864	0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
3865	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3866	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45,
3867	0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3868	0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3869	0x73, 0x12, 0x73, 0x0a, 0x1c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6f,
3870	0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3871	0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3872	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3873	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
3874	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x6c, 0x6f, 0x63, 0x61,
3875	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3876	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61,
3877	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
3878	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3879	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
3880	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x65, 0x78, 0x74,
3881	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x66,
3882	0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3883	0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3884	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3885	0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3886	0x6e, 0x52, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3887	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x16, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x73, 0x65,
3888	0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
3889	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3890	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
3891	0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3892	0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41,
3893	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x1b, 0x69, 0x6d, 0x61,
3894	0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x61, 0x6e,
3895	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
3896	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3897	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f,
3898	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72,
3899	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3900	0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x15, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73,
3901	0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28,
3902	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3903	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48,
3904	0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
3905	0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3906	0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
3907	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3908	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3909	0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3910	0x52, 0x0c, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62,
3911	0x0a, 0x16, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
3912	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
3913	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3914	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53,
3915	0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x14, 0x70, 0x72,
3916	0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c,
3917	0x74, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28,
3918	0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
3919	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x48, 0x0a, 0x07,
3920	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
3921	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3922	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f,
3923	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63,
3924	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68,
3925	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65,
3926	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3927	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3928	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3929	0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
3930	0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75,
3931	0x65, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04,
3932	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6a, 0x0a, 0x1b,
3933	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
3934	0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x72,
3935	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d,
3936	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3937	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
3938	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72,
3939	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x6e,
3940	0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3941	0x12, 0x46, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3942	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3943	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3944	0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70,
3945	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74,
3946	0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
3947	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3948	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61,
3949	0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63,
3950	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
3951	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3952	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
3953	0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
3954	0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52,
3955	0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x22, 0xf6, 0x01, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3956	0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3957	0x46, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
3958	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3959	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49,
3960	0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75,
3961	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f,
3962	0x6e, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
3963	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3964	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3965	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f,
3966	0x6e, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61,
3967	0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
3968	0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04,
3969	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
3970	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
3971	0x81, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3972	0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a,
3973	0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3974	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3975	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3976	0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41,
3977	0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70,
3978	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72,
3979	0x65, 0x6e, 0x74, 0x22, 0x68, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f,
3980	0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3981	0x65, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01,
3982	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3983	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e,
3984	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3985	0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0xb5, 0x02,
3986	0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3987	0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x69, 0x6e,
3988	0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3989	0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3990	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43,
3991	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
3992	0x69, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02,
3993	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3994	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65,
3995	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12,
3996	0x49, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
3997	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3998	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3999	0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d,
4000	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x0d, 0x6f, 0x75,
4001	0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28,
4002	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4003	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75,
4004	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43,
4005	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e,
4006	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4007	0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
4008	0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4009	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
4010	0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
4011	0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xd8, 0x01,
4012	0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f,
4013	0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4014	0x74, 0x12, 0x4d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20,
4015	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4016	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e,
4017	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4018	0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
4019	0x12, 0x4e, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
4020	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4021	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
4022	0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0,
4023	0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
4024	0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
4025	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e,
4026	0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d,
4027	0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d,
4028	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
4029	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4030	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74,
4031	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75,
4032	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x1e, 0x41, 0x73, 0x79, 0x6e,
4033	0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69,
4034	0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65,
4035	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
4036	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
4037	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
4038	0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03,
4039	0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a,
4040	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70,
4041	0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61,
4042	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73,
4043	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70,
4044	0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f,
4045	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
4046	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
4047	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09,
4048	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0b, 0x49, 0x6e,
4049	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x0a, 0x67, 0x63, 0x73,
4050	0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
4051	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
4052	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
4053	0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63,
4054	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f,
4055	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79,
4056	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79,
4057	0x70, 0x65, 0x22, 0x7e, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
4058	0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
4059	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
4060	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
4061	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
4062	0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
4063	0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a,
4064	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69,
4065	0x7a, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
4066	0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
4067	0x69, 0x22, 0x22, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
4068	0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4069	0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xa7, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
4070	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x05, 0x73,
4071	0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
4072	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
4073	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
4074	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
4075	0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
4076	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4077	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
4078	0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
4079	0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06,
4080	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
4081	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
4082	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x05,
4083	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
4084	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
4085	0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e,
4086	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03,
4087	0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a,
4088	0x65, 0x0a, 0x0a, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x0b, 0x0a,
4089	0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45,
4090	0x52, 0x59, 0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a,
4091	0x08, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50,
4092	0x4f, 0x53, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b,
4093	0x45, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49,
4094	0x4b, 0x45, 0x4c, 0x59, 0x10, 0x05, 0x32, 0xf5, 0x0a, 0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65,
4095	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x93, 0x02, 0x0a, 0x13, 0x42, 0x61,
4096	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
4097	0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4098	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
4099	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65,
4100	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4101	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42,
4102	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
4103	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x82, 0xd3, 0xe4,
4104	0x93, 0x02, 0x80, 0x01, 0x22, 0x13, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
4105	0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33,
4106	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
4107	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4108	0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
4109	0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x2c, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
4110	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
4111	0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
4112	0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
4113	0x8c, 0x02, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
4114	0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4115	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
4116	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c,
4117	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4118	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
4119	0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
4120	0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01,
4121	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65,
4122	0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x37, 0x22,
4123	0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
4124	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4125	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
4126	0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
4127	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
4128	0x7d, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
4129	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xeb,
4130	0x02, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e,
4131	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f,
4132	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
4133	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
4134	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71,
4135	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
4136	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
4137	0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x22, 0x1d, 0x2f,
4138	0x76, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x42,
4139	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a,
4140	0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
4141	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
4142	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x61, 0x73,
4143	0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
4144	0x3a, 0x01, 0x2a, 0x5a, 0x36, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
4145	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69,
4146	0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68,
4147	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x72, 0x65,
4148	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f,
4149	0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x35, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61,
4150	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
4151	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61,
4152	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd7, 0x02, 0x0a,
4153	0x17, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
4154	0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4155	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
4156	0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f,
4157	0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4158	0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
4159	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
4160	0xe4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9b, 0x01, 0x22, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x66,
4161	0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
4162	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x22, 0x3c, 0x2f, 0x76,
4163	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4164	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4165	0x7d, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74,
4166	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x35, 0x22,
4167	0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
4168	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61,
4169	0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
4170	0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca,
4171	0x41, 0x34, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e,
4172	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
4173	0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
4174	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x76, 0xca, 0x41, 0x15, 0x76, 0x69, 0x73, 0x69, 0x6f,
4175	0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
4176	0xd2, 0x41, 0x5b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
4177	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
4178	0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
4179	0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
4180	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
4181	0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x7b,
4182	0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4183	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x49, 0x6d,
4184	0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74,
4185	0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
4186	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
4187	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4188	0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f,
4189	0x6e, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 0x6f,
4190	0x74, 0x6f, 0x33,
4191}
4192
4193var (
4194	file_google_cloud_vision_v1_image_annotator_proto_rawDescOnce sync.Once
4195	file_google_cloud_vision_v1_image_annotator_proto_rawDescData = file_google_cloud_vision_v1_image_annotator_proto_rawDesc
4196)
4197
4198func file_google_cloud_vision_v1_image_annotator_proto_rawDescGZIP() []byte {
4199	file_google_cloud_vision_v1_image_annotator_proto_rawDescOnce.Do(func() {
4200		file_google_cloud_vision_v1_image_annotator_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1_image_annotator_proto_rawDescData)
4201	})
4202	return file_google_cloud_vision_v1_image_annotator_proto_rawDescData
4203}
4204
4205var file_google_cloud_vision_v1_image_annotator_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
4206var file_google_cloud_vision_v1_image_annotator_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
4207var file_google_cloud_vision_v1_image_annotator_proto_goTypes = []interface{}{
4208	(Likelihood)(0),                          // 0: google.cloud.vision.v1.Likelihood
4209	(Feature_Type)(0),                        // 1: google.cloud.vision.v1.Feature.Type
4210	(FaceAnnotation_Landmark_Type)(0),        // 2: google.cloud.vision.v1.FaceAnnotation.Landmark.Type
4211	(OperationMetadata_State)(0),             // 3: google.cloud.vision.v1.OperationMetadata.State
4212	(*Feature)(nil),                          // 4: google.cloud.vision.v1.Feature
4213	(*ImageSource)(nil),                      // 5: google.cloud.vision.v1.ImageSource
4214	(*Image)(nil),                            // 6: google.cloud.vision.v1.Image
4215	(*FaceAnnotation)(nil),                   // 7: google.cloud.vision.v1.FaceAnnotation
4216	(*LocationInfo)(nil),                     // 8: google.cloud.vision.v1.LocationInfo
4217	(*Property)(nil),                         // 9: google.cloud.vision.v1.Property
4218	(*EntityAnnotation)(nil),                 // 10: google.cloud.vision.v1.EntityAnnotation
4219	(*LocalizedObjectAnnotation)(nil),        // 11: google.cloud.vision.v1.LocalizedObjectAnnotation
4220	(*SafeSearchAnnotation)(nil),             // 12: google.cloud.vision.v1.SafeSearchAnnotation
4221	(*LatLongRect)(nil),                      // 13: google.cloud.vision.v1.LatLongRect
4222	(*ColorInfo)(nil),                        // 14: google.cloud.vision.v1.ColorInfo
4223	(*DominantColorsAnnotation)(nil),         // 15: google.cloud.vision.v1.DominantColorsAnnotation
4224	(*ImageProperties)(nil),                  // 16: google.cloud.vision.v1.ImageProperties
4225	(*CropHint)(nil),                         // 17: google.cloud.vision.v1.CropHint
4226	(*CropHintsAnnotation)(nil),              // 18: google.cloud.vision.v1.CropHintsAnnotation
4227	(*CropHintsParams)(nil),                  // 19: google.cloud.vision.v1.CropHintsParams
4228	(*WebDetectionParams)(nil),               // 20: google.cloud.vision.v1.WebDetectionParams
4229	(*TextDetectionParams)(nil),              // 21: google.cloud.vision.v1.TextDetectionParams
4230	(*ImageContext)(nil),                     // 22: google.cloud.vision.v1.ImageContext
4231	(*AnnotateImageRequest)(nil),             // 23: google.cloud.vision.v1.AnnotateImageRequest
4232	(*ImageAnnotationContext)(nil),           // 24: google.cloud.vision.v1.ImageAnnotationContext
4233	(*AnnotateImageResponse)(nil),            // 25: google.cloud.vision.v1.AnnotateImageResponse
4234	(*BatchAnnotateImagesRequest)(nil),       // 26: google.cloud.vision.v1.BatchAnnotateImagesRequest
4235	(*BatchAnnotateImagesResponse)(nil),      // 27: google.cloud.vision.v1.BatchAnnotateImagesResponse
4236	(*AnnotateFileRequest)(nil),              // 28: google.cloud.vision.v1.AnnotateFileRequest
4237	(*AnnotateFileResponse)(nil),             // 29: google.cloud.vision.v1.AnnotateFileResponse
4238	(*BatchAnnotateFilesRequest)(nil),        // 30: google.cloud.vision.v1.BatchAnnotateFilesRequest
4239	(*BatchAnnotateFilesResponse)(nil),       // 31: google.cloud.vision.v1.BatchAnnotateFilesResponse
4240	(*AsyncAnnotateFileRequest)(nil),         // 32: google.cloud.vision.v1.AsyncAnnotateFileRequest
4241	(*AsyncAnnotateFileResponse)(nil),        // 33: google.cloud.vision.v1.AsyncAnnotateFileResponse
4242	(*AsyncBatchAnnotateImagesRequest)(nil),  // 34: google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest
4243	(*AsyncBatchAnnotateImagesResponse)(nil), // 35: google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse
4244	(*AsyncBatchAnnotateFilesRequest)(nil),   // 36: google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest
4245	(*AsyncBatchAnnotateFilesResponse)(nil),  // 37: google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse
4246	(*InputConfig)(nil),                      // 38: google.cloud.vision.v1.InputConfig
4247	(*OutputConfig)(nil),                     // 39: google.cloud.vision.v1.OutputConfig
4248	(*GcsSource)(nil),                        // 40: google.cloud.vision.v1.GcsSource
4249	(*GcsDestination)(nil),                   // 41: google.cloud.vision.v1.GcsDestination
4250	(*OperationMetadata)(nil),                // 42: google.cloud.vision.v1.OperationMetadata
4251	(*FaceAnnotation_Landmark)(nil),          // 43: google.cloud.vision.v1.FaceAnnotation.Landmark
4252	(*BoundingPoly)(nil),                     // 44: google.cloud.vision.v1.BoundingPoly
4253	(*latlng.LatLng)(nil),                    // 45: google.type.LatLng
4254	(*color.Color)(nil),                      // 46: google.type.Color
4255	(*ProductSearchParams)(nil),              // 47: google.cloud.vision.v1.ProductSearchParams
4256	(*TextAnnotation)(nil),                   // 48: google.cloud.vision.v1.TextAnnotation
4257	(*WebDetection)(nil),                     // 49: google.cloud.vision.v1.WebDetection
4258	(*ProductSearchResults)(nil),             // 50: google.cloud.vision.v1.ProductSearchResults
4259	(*status.Status)(nil),                    // 51: google.rpc.Status
4260	(*timestamppb.Timestamp)(nil),            // 52: google.protobuf.Timestamp
4261	(*Position)(nil),                         // 53: google.cloud.vision.v1.Position
4262	(*longrunning.Operation)(nil),            // 54: google.longrunning.Operation
4263}
4264var file_google_cloud_vision_v1_image_annotator_proto_depIdxs = []int32{
4265	1,  // 0: google.cloud.vision.v1.Feature.type:type_name -> google.cloud.vision.v1.Feature.Type
4266	5,  // 1: google.cloud.vision.v1.Image.source:type_name -> google.cloud.vision.v1.ImageSource
4267	44, // 2: google.cloud.vision.v1.FaceAnnotation.bounding_poly:type_name -> google.cloud.vision.v1.BoundingPoly
4268	44, // 3: google.cloud.vision.v1.FaceAnnotation.fd_bounding_poly:type_name -> google.cloud.vision.v1.BoundingPoly
4269	43, // 4: google.cloud.vision.v1.FaceAnnotation.landmarks:type_name -> google.cloud.vision.v1.FaceAnnotation.Landmark
4270	0,  // 5: google.cloud.vision.v1.FaceAnnotation.joy_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4271	0,  // 6: google.cloud.vision.v1.FaceAnnotation.sorrow_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4272	0,  // 7: google.cloud.vision.v1.FaceAnnotation.anger_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4273	0,  // 8: google.cloud.vision.v1.FaceAnnotation.surprise_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4274	0,  // 9: google.cloud.vision.v1.FaceAnnotation.under_exposed_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4275	0,  // 10: google.cloud.vision.v1.FaceAnnotation.blurred_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4276	0,  // 11: google.cloud.vision.v1.FaceAnnotation.headwear_likelihood:type_name -> google.cloud.vision.v1.Likelihood
4277	45, // 12: google.cloud.vision.v1.LocationInfo.lat_lng:type_name -> google.type.LatLng
4278	44, // 13: google.cloud.vision.v1.EntityAnnotation.bounding_poly:type_name -> google.cloud.vision.v1.BoundingPoly
4279	8,  // 14: google.cloud.vision.v1.EntityAnnotation.locations:type_name -> google.cloud.vision.v1.LocationInfo
4280	9,  // 15: google.cloud.vision.v1.EntityAnnotation.properties:type_name -> google.cloud.vision.v1.Property
4281	44, // 16: google.cloud.vision.v1.LocalizedObjectAnnotation.bounding_poly:type_name -> google.cloud.vision.v1.BoundingPoly
4282	0,  // 17: google.cloud.vision.v1.SafeSearchAnnotation.adult:type_name -> google.cloud.vision.v1.Likelihood
4283	0,  // 18: google.cloud.vision.v1.SafeSearchAnnotation.spoof:type_name -> google.cloud.vision.v1.Likelihood
4284	0,  // 19: google.cloud.vision.v1.SafeSearchAnnotation.medical:type_name -> google.cloud.vision.v1.Likelihood
4285	0,  // 20: google.cloud.vision.v1.SafeSearchAnnotation.violence:type_name -> google.cloud.vision.v1.Likelihood
4286	0,  // 21: google.cloud.vision.v1.SafeSearchAnnotation.racy:type_name -> google.cloud.vision.v1.Likelihood
4287	45, // 22: google.cloud.vision.v1.LatLongRect.min_lat_lng:type_name -> google.type.LatLng
4288	45, // 23: google.cloud.vision.v1.LatLongRect.max_lat_lng:type_name -> google.type.LatLng
4289	46, // 24: google.cloud.vision.v1.ColorInfo.color:type_name -> google.type.Color
4290	14, // 25: google.cloud.vision.v1.DominantColorsAnnotation.colors:type_name -> google.cloud.vision.v1.ColorInfo
4291	15, // 26: google.cloud.vision.v1.ImageProperties.dominant_colors:type_name -> google.cloud.vision.v1.DominantColorsAnnotation
4292	44, // 27: google.cloud.vision.v1.CropHint.bounding_poly:type_name -> google.cloud.vision.v1.BoundingPoly
4293	17, // 28: google.cloud.vision.v1.CropHintsAnnotation.crop_hints:type_name -> google.cloud.vision.v1.CropHint
4294	13, // 29: google.cloud.vision.v1.ImageContext.lat_long_rect:type_name -> google.cloud.vision.v1.LatLongRect
4295	19, // 30: google.cloud.vision.v1.ImageContext.crop_hints_params:type_name -> google.cloud.vision.v1.CropHintsParams
4296	47, // 31: google.cloud.vision.v1.ImageContext.product_search_params:type_name -> google.cloud.vision.v1.ProductSearchParams
4297	20, // 32: google.cloud.vision.v1.ImageContext.web_detection_params:type_name -> google.cloud.vision.v1.WebDetectionParams
4298	21, // 33: google.cloud.vision.v1.ImageContext.text_detection_params:type_name -> google.cloud.vision.v1.TextDetectionParams
4299	6,  // 34: google.cloud.vision.v1.AnnotateImageRequest.image:type_name -> google.cloud.vision.v1.Image
4300	4,  // 35: google.cloud.vision.v1.AnnotateImageRequest.features:type_name -> google.cloud.vision.v1.Feature
4301	22, // 36: google.cloud.vision.v1.AnnotateImageRequest.image_context:type_name -> google.cloud.vision.v1.ImageContext
4302	7,  // 37: google.cloud.vision.v1.AnnotateImageResponse.face_annotations:type_name -> google.cloud.vision.v1.FaceAnnotation
4303	10, // 38: google.cloud.vision.v1.AnnotateImageResponse.landmark_annotations:type_name -> google.cloud.vision.v1.EntityAnnotation
4304	10, // 39: google.cloud.vision.v1.AnnotateImageResponse.logo_annotations:type_name -> google.cloud.vision.v1.EntityAnnotation
4305	10, // 40: google.cloud.vision.v1.AnnotateImageResponse.label_annotations:type_name -> google.cloud.vision.v1.EntityAnnotation
4306	11, // 41: google.cloud.vision.v1.AnnotateImageResponse.localized_object_annotations:type_name -> google.cloud.vision.v1.LocalizedObjectAnnotation
4307	10, // 42: google.cloud.vision.v1.AnnotateImageResponse.text_annotations:type_name -> google.cloud.vision.v1.EntityAnnotation
4308	48, // 43: google.cloud.vision.v1.AnnotateImageResponse.full_text_annotation:type_name -> google.cloud.vision.v1.TextAnnotation
4309	12, // 44: google.cloud.vision.v1.AnnotateImageResponse.safe_search_annotation:type_name -> google.cloud.vision.v1.SafeSearchAnnotation
4310	16, // 45: google.cloud.vision.v1.AnnotateImageResponse.image_properties_annotation:type_name -> google.cloud.vision.v1.ImageProperties
4311	18, // 46: google.cloud.vision.v1.AnnotateImageResponse.crop_hints_annotation:type_name -> google.cloud.vision.v1.CropHintsAnnotation
4312	49, // 47: google.cloud.vision.v1.AnnotateImageResponse.web_detection:type_name -> google.cloud.vision.v1.WebDetection
4313	50, // 48: google.cloud.vision.v1.AnnotateImageResponse.product_search_results:type_name -> google.cloud.vision.v1.ProductSearchResults
4314	51, // 49: google.cloud.vision.v1.AnnotateImageResponse.error:type_name -> google.rpc.Status
4315	24, // 50: google.cloud.vision.v1.AnnotateImageResponse.context:type_name -> google.cloud.vision.v1.ImageAnnotationContext
4316	23, // 51: google.cloud.vision.v1.BatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1.AnnotateImageRequest
4317	25, // 52: google.cloud.vision.v1.BatchAnnotateImagesResponse.responses:type_name -> google.cloud.vision.v1.AnnotateImageResponse
4318	38, // 53: google.cloud.vision.v1.AnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1.InputConfig
4319	4,  // 54: google.cloud.vision.v1.AnnotateFileRequest.features:type_name -> google.cloud.vision.v1.Feature
4320	22, // 55: google.cloud.vision.v1.AnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1.ImageContext
4321	38, // 56: google.cloud.vision.v1.AnnotateFileResponse.input_config:type_name -> google.cloud.vision.v1.InputConfig
4322	25, // 57: google.cloud.vision.v1.AnnotateFileResponse.responses:type_name -> google.cloud.vision.v1.AnnotateImageResponse
4323	51, // 58: google.cloud.vision.v1.AnnotateFileResponse.error:type_name -> google.rpc.Status
4324	28, // 59: google.cloud.vision.v1.BatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1.AnnotateFileRequest
4325	29, // 60: google.cloud.vision.v1.BatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1.AnnotateFileResponse
4326	38, // 61: google.cloud.vision.v1.AsyncAnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1.InputConfig
4327	4,  // 62: google.cloud.vision.v1.AsyncAnnotateFileRequest.features:type_name -> google.cloud.vision.v1.Feature
4328	22, // 63: google.cloud.vision.v1.AsyncAnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1.ImageContext
4329	39, // 64: google.cloud.vision.v1.AsyncAnnotateFileRequest.output_config:type_name -> google.cloud.vision.v1.OutputConfig
4330	39, // 65: google.cloud.vision.v1.AsyncAnnotateFileResponse.output_config:type_name -> google.cloud.vision.v1.OutputConfig
4331	23, // 66: google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1.AnnotateImageRequest
4332	39, // 67: google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.output_config:type_name -> google.cloud.vision.v1.OutputConfig
4333	39, // 68: google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.output_config:type_name -> google.cloud.vision.v1.OutputConfig
4334	32, // 69: google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1.AsyncAnnotateFileRequest
4335	33, // 70: google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1.AsyncAnnotateFileResponse
4336	40, // 71: google.cloud.vision.v1.InputConfig.gcs_source:type_name -> google.cloud.vision.v1.GcsSource
4337	41, // 72: google.cloud.vision.v1.OutputConfig.gcs_destination:type_name -> google.cloud.vision.v1.GcsDestination
4338	3,  // 73: google.cloud.vision.v1.OperationMetadata.state:type_name -> google.cloud.vision.v1.OperationMetadata.State
4339	52, // 74: google.cloud.vision.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp
4340	52, // 75: google.cloud.vision.v1.OperationMetadata.update_time:type_name -> google.protobuf.Timestamp
4341	2,  // 76: google.cloud.vision.v1.FaceAnnotation.Landmark.type:type_name -> google.cloud.vision.v1.FaceAnnotation.Landmark.Type
4342	53, // 77: google.cloud.vision.v1.FaceAnnotation.Landmark.position:type_name -> google.cloud.vision.v1.Position
4343	26, // 78: google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages:input_type -> google.cloud.vision.v1.BatchAnnotateImagesRequest
4344	30, // 79: google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles:input_type -> google.cloud.vision.v1.BatchAnnotateFilesRequest
4345	34, // 80: google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages:input_type -> google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest
4346	36, // 81: google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles:input_type -> google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest
4347	27, // 82: google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages:output_type -> google.cloud.vision.v1.BatchAnnotateImagesResponse
4348	31, // 83: google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles:output_type -> google.cloud.vision.v1.BatchAnnotateFilesResponse
4349	54, // 84: google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages:output_type -> google.longrunning.Operation
4350	54, // 85: google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles:output_type -> google.longrunning.Operation
4351	82, // [82:86] is the sub-list for method output_type
4352	78, // [78:82] is the sub-list for method input_type
4353	78, // [78:78] is the sub-list for extension type_name
4354	78, // [78:78] is the sub-list for extension extendee
4355	0,  // [0:78] is the sub-list for field type_name
4356}
4357
4358func init() { file_google_cloud_vision_v1_image_annotator_proto_init() }
4359func file_google_cloud_vision_v1_image_annotator_proto_init() {
4360	if File_google_cloud_vision_v1_image_annotator_proto != nil {
4361		return
4362	}
4363	file_google_cloud_vision_v1_geometry_proto_init()
4364	file_google_cloud_vision_v1_product_search_proto_init()
4365	file_google_cloud_vision_v1_text_annotation_proto_init()
4366	file_google_cloud_vision_v1_web_detection_proto_init()
4367	if !protoimpl.UnsafeEnabled {
4368		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4369			switch v := v.(*Feature); i {
4370			case 0:
4371				return &v.state
4372			case 1:
4373				return &v.sizeCache
4374			case 2:
4375				return &v.unknownFields
4376			default:
4377				return nil
4378			}
4379		}
4380		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4381			switch v := v.(*ImageSource); i {
4382			case 0:
4383				return &v.state
4384			case 1:
4385				return &v.sizeCache
4386			case 2:
4387				return &v.unknownFields
4388			default:
4389				return nil
4390			}
4391		}
4392		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4393			switch v := v.(*Image); i {
4394			case 0:
4395				return &v.state
4396			case 1:
4397				return &v.sizeCache
4398			case 2:
4399				return &v.unknownFields
4400			default:
4401				return nil
4402			}
4403		}
4404		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4405			switch v := v.(*FaceAnnotation); i {
4406			case 0:
4407				return &v.state
4408			case 1:
4409				return &v.sizeCache
4410			case 2:
4411				return &v.unknownFields
4412			default:
4413				return nil
4414			}
4415		}
4416		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4417			switch v := v.(*LocationInfo); i {
4418			case 0:
4419				return &v.state
4420			case 1:
4421				return &v.sizeCache
4422			case 2:
4423				return &v.unknownFields
4424			default:
4425				return nil
4426			}
4427		}
4428		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4429			switch v := v.(*Property); i {
4430			case 0:
4431				return &v.state
4432			case 1:
4433				return &v.sizeCache
4434			case 2:
4435				return &v.unknownFields
4436			default:
4437				return nil
4438			}
4439		}
4440		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4441			switch v := v.(*EntityAnnotation); i {
4442			case 0:
4443				return &v.state
4444			case 1:
4445				return &v.sizeCache
4446			case 2:
4447				return &v.unknownFields
4448			default:
4449				return nil
4450			}
4451		}
4452		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4453			switch v := v.(*LocalizedObjectAnnotation); i {
4454			case 0:
4455				return &v.state
4456			case 1:
4457				return &v.sizeCache
4458			case 2:
4459				return &v.unknownFields
4460			default:
4461				return nil
4462			}
4463		}
4464		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4465			switch v := v.(*SafeSearchAnnotation); i {
4466			case 0:
4467				return &v.state
4468			case 1:
4469				return &v.sizeCache
4470			case 2:
4471				return &v.unknownFields
4472			default:
4473				return nil
4474			}
4475		}
4476		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4477			switch v := v.(*LatLongRect); i {
4478			case 0:
4479				return &v.state
4480			case 1:
4481				return &v.sizeCache
4482			case 2:
4483				return &v.unknownFields
4484			default:
4485				return nil
4486			}
4487		}
4488		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4489			switch v := v.(*ColorInfo); i {
4490			case 0:
4491				return &v.state
4492			case 1:
4493				return &v.sizeCache
4494			case 2:
4495				return &v.unknownFields
4496			default:
4497				return nil
4498			}
4499		}
4500		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4501			switch v := v.(*DominantColorsAnnotation); i {
4502			case 0:
4503				return &v.state
4504			case 1:
4505				return &v.sizeCache
4506			case 2:
4507				return &v.unknownFields
4508			default:
4509				return nil
4510			}
4511		}
4512		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4513			switch v := v.(*ImageProperties); i {
4514			case 0:
4515				return &v.state
4516			case 1:
4517				return &v.sizeCache
4518			case 2:
4519				return &v.unknownFields
4520			default:
4521				return nil
4522			}
4523		}
4524		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4525			switch v := v.(*CropHint); i {
4526			case 0:
4527				return &v.state
4528			case 1:
4529				return &v.sizeCache
4530			case 2:
4531				return &v.unknownFields
4532			default:
4533				return nil
4534			}
4535		}
4536		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4537			switch v := v.(*CropHintsAnnotation); i {
4538			case 0:
4539				return &v.state
4540			case 1:
4541				return &v.sizeCache
4542			case 2:
4543				return &v.unknownFields
4544			default:
4545				return nil
4546			}
4547		}
4548		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4549			switch v := v.(*CropHintsParams); i {
4550			case 0:
4551				return &v.state
4552			case 1:
4553				return &v.sizeCache
4554			case 2:
4555				return &v.unknownFields
4556			default:
4557				return nil
4558			}
4559		}
4560		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4561			switch v := v.(*WebDetectionParams); i {
4562			case 0:
4563				return &v.state
4564			case 1:
4565				return &v.sizeCache
4566			case 2:
4567				return &v.unknownFields
4568			default:
4569				return nil
4570			}
4571		}
4572		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4573			switch v := v.(*TextDetectionParams); i {
4574			case 0:
4575				return &v.state
4576			case 1:
4577				return &v.sizeCache
4578			case 2:
4579				return &v.unknownFields
4580			default:
4581				return nil
4582			}
4583		}
4584		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4585			switch v := v.(*ImageContext); i {
4586			case 0:
4587				return &v.state
4588			case 1:
4589				return &v.sizeCache
4590			case 2:
4591				return &v.unknownFields
4592			default:
4593				return nil
4594			}
4595		}
4596		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4597			switch v := v.(*AnnotateImageRequest); i {
4598			case 0:
4599				return &v.state
4600			case 1:
4601				return &v.sizeCache
4602			case 2:
4603				return &v.unknownFields
4604			default:
4605				return nil
4606			}
4607		}
4608		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4609			switch v := v.(*ImageAnnotationContext); i {
4610			case 0:
4611				return &v.state
4612			case 1:
4613				return &v.sizeCache
4614			case 2:
4615				return &v.unknownFields
4616			default:
4617				return nil
4618			}
4619		}
4620		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4621			switch v := v.(*AnnotateImageResponse); i {
4622			case 0:
4623				return &v.state
4624			case 1:
4625				return &v.sizeCache
4626			case 2:
4627				return &v.unknownFields
4628			default:
4629				return nil
4630			}
4631		}
4632		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4633			switch v := v.(*BatchAnnotateImagesRequest); i {
4634			case 0:
4635				return &v.state
4636			case 1:
4637				return &v.sizeCache
4638			case 2:
4639				return &v.unknownFields
4640			default:
4641				return nil
4642			}
4643		}
4644		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4645			switch v := v.(*BatchAnnotateImagesResponse); i {
4646			case 0:
4647				return &v.state
4648			case 1:
4649				return &v.sizeCache
4650			case 2:
4651				return &v.unknownFields
4652			default:
4653				return nil
4654			}
4655		}
4656		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4657			switch v := v.(*AnnotateFileRequest); i {
4658			case 0:
4659				return &v.state
4660			case 1:
4661				return &v.sizeCache
4662			case 2:
4663				return &v.unknownFields
4664			default:
4665				return nil
4666			}
4667		}
4668		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4669			switch v := v.(*AnnotateFileResponse); i {
4670			case 0:
4671				return &v.state
4672			case 1:
4673				return &v.sizeCache
4674			case 2:
4675				return &v.unknownFields
4676			default:
4677				return nil
4678			}
4679		}
4680		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4681			switch v := v.(*BatchAnnotateFilesRequest); i {
4682			case 0:
4683				return &v.state
4684			case 1:
4685				return &v.sizeCache
4686			case 2:
4687				return &v.unknownFields
4688			default:
4689				return nil
4690			}
4691		}
4692		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4693			switch v := v.(*BatchAnnotateFilesResponse); i {
4694			case 0:
4695				return &v.state
4696			case 1:
4697				return &v.sizeCache
4698			case 2:
4699				return &v.unknownFields
4700			default:
4701				return nil
4702			}
4703		}
4704		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4705			switch v := v.(*AsyncAnnotateFileRequest); i {
4706			case 0:
4707				return &v.state
4708			case 1:
4709				return &v.sizeCache
4710			case 2:
4711				return &v.unknownFields
4712			default:
4713				return nil
4714			}
4715		}
4716		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4717			switch v := v.(*AsyncAnnotateFileResponse); i {
4718			case 0:
4719				return &v.state
4720			case 1:
4721				return &v.sizeCache
4722			case 2:
4723				return &v.unknownFields
4724			default:
4725				return nil
4726			}
4727		}
4728		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4729			switch v := v.(*AsyncBatchAnnotateImagesRequest); i {
4730			case 0:
4731				return &v.state
4732			case 1:
4733				return &v.sizeCache
4734			case 2:
4735				return &v.unknownFields
4736			default:
4737				return nil
4738			}
4739		}
4740		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4741			switch v := v.(*AsyncBatchAnnotateImagesResponse); i {
4742			case 0:
4743				return &v.state
4744			case 1:
4745				return &v.sizeCache
4746			case 2:
4747				return &v.unknownFields
4748			default:
4749				return nil
4750			}
4751		}
4752		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4753			switch v := v.(*AsyncBatchAnnotateFilesRequest); i {
4754			case 0:
4755				return &v.state
4756			case 1:
4757				return &v.sizeCache
4758			case 2:
4759				return &v.unknownFields
4760			default:
4761				return nil
4762			}
4763		}
4764		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4765			switch v := v.(*AsyncBatchAnnotateFilesResponse); i {
4766			case 0:
4767				return &v.state
4768			case 1:
4769				return &v.sizeCache
4770			case 2:
4771				return &v.unknownFields
4772			default:
4773				return nil
4774			}
4775		}
4776		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4777			switch v := v.(*InputConfig); i {
4778			case 0:
4779				return &v.state
4780			case 1:
4781				return &v.sizeCache
4782			case 2:
4783				return &v.unknownFields
4784			default:
4785				return nil
4786			}
4787		}
4788		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4789			switch v := v.(*OutputConfig); i {
4790			case 0:
4791				return &v.state
4792			case 1:
4793				return &v.sizeCache
4794			case 2:
4795				return &v.unknownFields
4796			default:
4797				return nil
4798			}
4799		}
4800		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4801			switch v := v.(*GcsSource); i {
4802			case 0:
4803				return &v.state
4804			case 1:
4805				return &v.sizeCache
4806			case 2:
4807				return &v.unknownFields
4808			default:
4809				return nil
4810			}
4811		}
4812		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4813			switch v := v.(*GcsDestination); i {
4814			case 0:
4815				return &v.state
4816			case 1:
4817				return &v.sizeCache
4818			case 2:
4819				return &v.unknownFields
4820			default:
4821				return nil
4822			}
4823		}
4824		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4825			switch v := v.(*OperationMetadata); i {
4826			case 0:
4827				return &v.state
4828			case 1:
4829				return &v.sizeCache
4830			case 2:
4831				return &v.unknownFields
4832			default:
4833				return nil
4834			}
4835		}
4836		file_google_cloud_vision_v1_image_annotator_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
4837			switch v := v.(*FaceAnnotation_Landmark); i {
4838			case 0:
4839				return &v.state
4840			case 1:
4841				return &v.sizeCache
4842			case 2:
4843				return &v.unknownFields
4844			default:
4845				return nil
4846			}
4847		}
4848	}
4849	type x struct{}
4850	out := protoimpl.TypeBuilder{
4851		File: protoimpl.DescBuilder{
4852			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4853			RawDescriptor: file_google_cloud_vision_v1_image_annotator_proto_rawDesc,
4854			NumEnums:      4,
4855			NumMessages:   40,
4856			NumExtensions: 0,
4857			NumServices:   1,
4858		},
4859		GoTypes:           file_google_cloud_vision_v1_image_annotator_proto_goTypes,
4860		DependencyIndexes: file_google_cloud_vision_v1_image_annotator_proto_depIdxs,
4861		EnumInfos:         file_google_cloud_vision_v1_image_annotator_proto_enumTypes,
4862		MessageInfos:      file_google_cloud_vision_v1_image_annotator_proto_msgTypes,
4863	}.Build()
4864	File_google_cloud_vision_v1_image_annotator_proto = out.File
4865	file_google_cloud_vision_v1_image_annotator_proto_rawDesc = nil
4866	file_google_cloud_vision_v1_image_annotator_proto_goTypes = nil
4867	file_google_cloud_vision_v1_image_annotator_proto_depIdxs = nil
4868}
4869
4870// Reference imports to suppress errors if they are not otherwise used.
4871var _ context.Context
4872var _ grpc.ClientConnInterface
4873
4874// This is a compile-time assertion to ensure that this generated file
4875// is compatible with the grpc package it is being compiled against.
4876const _ = grpc.SupportPackageIsVersion6
4877
4878// ImageAnnotatorClient is the client API for ImageAnnotator service.
4879//
4880// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4881type ImageAnnotatorClient interface {
4882	// Run image detection and annotation for a batch of images.
4883	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
4884	// Service that performs image detection and annotation for a batch of files.
4885	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4886	//
4887	// This service will extract at most 5 (customers can specify which 5 in
4888	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4889	// file provided and perform detection and annotation for each image
4890	// extracted.
4891	BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error)
4892	// Run asynchronous image detection and annotation for a list of images.
4893	//
4894	// Progress and results can be retrieved through the
4895	// `google.longrunning.Operations` interface.
4896	// `Operation.metadata` contains `OperationMetadata` (metadata).
4897	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4898	//
4899	// This service will write image annotation outputs to json files in customer
4900	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4901	AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4902	// Run asynchronous image detection and annotation for a list of generic
4903	// files, such as PDF files, which may contain multiple pages and multiple
4904	// images per page. Progress and results can be retrieved through the
4905	// `google.longrunning.Operations` interface.
4906	// `Operation.metadata` contains `OperationMetadata` (metadata).
4907	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4908	AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4909}
4910
4911type imageAnnotatorClient struct {
4912	cc grpc.ClientConnInterface
4913}
4914
4915func NewImageAnnotatorClient(cc grpc.ClientConnInterface) ImageAnnotatorClient {
4916	return &imageAnnotatorClient{cc}
4917}
4918
4919func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
4920	out := new(BatchAnnotateImagesResponse)
4921	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
4922	if err != nil {
4923		return nil, err
4924	}
4925	return out, nil
4926}
4927
4928func (c *imageAnnotatorClient) BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error) {
4929	out := new(BatchAnnotateFilesResponse)
4930	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateFiles", in, out, opts...)
4931	if err != nil {
4932		return nil, err
4933	}
4934	return out, nil
4935}
4936
4937func (c *imageAnnotatorClient) AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4938	out := new(longrunning.Operation)
4939	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateImages", in, out, opts...)
4940	if err != nil {
4941		return nil, err
4942	}
4943	return out, nil
4944}
4945
4946func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4947	out := new(longrunning.Operation)
4948	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateFiles", in, out, opts...)
4949	if err != nil {
4950		return nil, err
4951	}
4952	return out, nil
4953}
4954
4955// ImageAnnotatorServer is the server API for ImageAnnotator service.
4956type ImageAnnotatorServer interface {
4957	// Run image detection and annotation for a batch of images.
4958	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
4959	// Service that performs image detection and annotation for a batch of files.
4960	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4961	//
4962	// This service will extract at most 5 (customers can specify which 5 in
4963	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4964	// file provided and perform detection and annotation for each image
4965	// extracted.
4966	BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error)
4967	// Run asynchronous image detection and annotation for a list of images.
4968	//
4969	// Progress and results can be retrieved through the
4970	// `google.longrunning.Operations` interface.
4971	// `Operation.metadata` contains `OperationMetadata` (metadata).
4972	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4973	//
4974	// This service will write image annotation outputs to json files in customer
4975	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4976	AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error)
4977	// Run asynchronous image detection and annotation for a list of generic
4978	// files, such as PDF files, which may contain multiple pages and multiple
4979	// images per page. Progress and results can be retrieved through the
4980	// `google.longrunning.Operations` interface.
4981	// `Operation.metadata` contains `OperationMetadata` (metadata).
4982	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4983	AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error)
4984}
4985
4986// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
4987type UnimplementedImageAnnotatorServer struct {
4988}
4989
4990func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
4991	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
4992}
4993func (*UnimplementedImageAnnotatorServer) BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error) {
4994	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateFiles not implemented")
4995}
4996func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error) {
4997	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateImages not implemented")
4998}
4999func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error) {
5000	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateFiles not implemented")
5001}
5002
5003func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
5004	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
5005}
5006
5007func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5008	in := new(BatchAnnotateImagesRequest)
5009	if err := dec(in); err != nil {
5010		return nil, err
5011	}
5012	if interceptor == nil {
5013		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
5014	}
5015	info := &grpc.UnaryServerInfo{
5016		Server:     srv,
5017		FullMethod: "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages",
5018	}
5019	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5020		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
5021	}
5022	return interceptor(ctx, in, info, handler)
5023}
5024
5025func _ImageAnnotator_BatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5026	in := new(BatchAnnotateFilesRequest)
5027	if err := dec(in); err != nil {
5028		return nil, err
5029	}
5030	if interceptor == nil {
5031		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, in)
5032	}
5033	info := &grpc.UnaryServerInfo{
5034		Server:     srv,
5035		FullMethod: "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateFiles",
5036	}
5037	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5038		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, req.(*BatchAnnotateFilesRequest))
5039	}
5040	return interceptor(ctx, in, info, handler)
5041}
5042
5043func _ImageAnnotator_AsyncBatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5044	in := new(AsyncBatchAnnotateImagesRequest)
5045	if err := dec(in); err != nil {
5046		return nil, err
5047	}
5048	if interceptor == nil {
5049		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, in)
5050	}
5051	info := &grpc.UnaryServerInfo{
5052		Server:     srv,
5053		FullMethod: "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateImages",
5054	}
5055	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5056		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, req.(*AsyncBatchAnnotateImagesRequest))
5057	}
5058	return interceptor(ctx, in, info, handler)
5059}
5060
5061func _ImageAnnotator_AsyncBatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5062	in := new(AsyncBatchAnnotateFilesRequest)
5063	if err := dec(in); err != nil {
5064		return nil, err
5065	}
5066	if interceptor == nil {
5067		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, in)
5068	}
5069	info := &grpc.UnaryServerInfo{
5070		Server:     srv,
5071		FullMethod: "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateFiles",
5072	}
5073	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5074		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, req.(*AsyncBatchAnnotateFilesRequest))
5075	}
5076	return interceptor(ctx, in, info, handler)
5077}
5078
5079var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
5080	ServiceName: "google.cloud.vision.v1.ImageAnnotator",
5081	HandlerType: (*ImageAnnotatorServer)(nil),
5082	Methods: []grpc.MethodDesc{
5083		{
5084			MethodName: "BatchAnnotateImages",
5085			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
5086		},
5087		{
5088			MethodName: "BatchAnnotateFiles",
5089			Handler:    _ImageAnnotator_BatchAnnotateFiles_Handler,
5090		},
5091		{
5092			MethodName: "AsyncBatchAnnotateImages",
5093			Handler:    _ImageAnnotator_AsyncBatchAnnotateImages_Handler,
5094		},
5095		{
5096			MethodName: "AsyncBatchAnnotateFiles",
5097			Handler:    _ImageAnnotator_AsyncBatchAnnotateFiles_Handler,
5098		},
5099	},
5100	Streams:  []grpc.StreamDesc{},
5101	Metadata: "google/cloud/vision/v1/image_annotator.proto",
5102}
5103