1// Copyright 2019 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
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.26.0
19// 	protoc        v3.12.2
20// source: google/cloud/vision/v1p1beta1/image_annotator.proto
21
22package vision
23
24import (
25	context "context"
26	reflect "reflect"
27	sync "sync"
28
29	_ "google.golang.org/genproto/googleapis/api/annotations"
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)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// A bucketized representation of likelihood, which is intended to give clients
48// highly stable results across model upgrades.
49type Likelihood int32
50
51const (
52	// Unknown likelihood.
53	Likelihood_UNKNOWN Likelihood = 0
54	// It is very unlikely that the image belongs to the specified vertical.
55	Likelihood_VERY_UNLIKELY Likelihood = 1
56	// It is unlikely that the image belongs to the specified vertical.
57	Likelihood_UNLIKELY Likelihood = 2
58	// It is possible that the image belongs to the specified vertical.
59	Likelihood_POSSIBLE Likelihood = 3
60	// It is likely that the image belongs to the specified vertical.
61	Likelihood_LIKELY Likelihood = 4
62	// It is very likely that the image belongs to the specified vertical.
63	Likelihood_VERY_LIKELY Likelihood = 5
64)
65
66// Enum value maps for Likelihood.
67var (
68	Likelihood_name = map[int32]string{
69		0: "UNKNOWN",
70		1: "VERY_UNLIKELY",
71		2: "UNLIKELY",
72		3: "POSSIBLE",
73		4: "LIKELY",
74		5: "VERY_LIKELY",
75	}
76	Likelihood_value = map[string]int32{
77		"UNKNOWN":       0,
78		"VERY_UNLIKELY": 1,
79		"UNLIKELY":      2,
80		"POSSIBLE":      3,
81		"LIKELY":        4,
82		"VERY_LIKELY":   5,
83	}
84)
85
86func (x Likelihood) Enum() *Likelihood {
87	p := new(Likelihood)
88	*p = x
89	return p
90}
91
92func (x Likelihood) String() string {
93	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
94}
95
96func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
97	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[0].Descriptor()
98}
99
100func (Likelihood) Type() protoreflect.EnumType {
101	return &file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[0]
102}
103
104func (x Likelihood) Number() protoreflect.EnumNumber {
105	return protoreflect.EnumNumber(x)
106}
107
108// Deprecated: Use Likelihood.Descriptor instead.
109func (Likelihood) EnumDescriptor() ([]byte, []int) {
110	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{0}
111}
112
113// Type of image feature.
114type Feature_Type int32
115
116const (
117	// Unspecified feature type.
118	Feature_TYPE_UNSPECIFIED Feature_Type = 0
119	// Run face detection.
120	Feature_FACE_DETECTION Feature_Type = 1
121	// Run landmark detection.
122	Feature_LANDMARK_DETECTION Feature_Type = 2
123	// Run logo detection.
124	Feature_LOGO_DETECTION Feature_Type = 3
125	// Run label detection.
126	Feature_LABEL_DETECTION Feature_Type = 4
127	// Run OCR.
128	Feature_TEXT_DETECTION Feature_Type = 5
129	// Run dense text document OCR. Takes precedence when both
130	// DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
131	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
132	// Run computer vision models to compute image safe-search properties.
133	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
134	// Compute a set of image properties, such as the image's dominant colors.
135	Feature_IMAGE_PROPERTIES Feature_Type = 7
136	// Run crop hints.
137	Feature_CROP_HINTS Feature_Type = 9
138	// Run web detection.
139	Feature_WEB_DETECTION Feature_Type = 10
140)
141
142// Enum value maps for Feature_Type.
143var (
144	Feature_Type_name = map[int32]string{
145		0:  "TYPE_UNSPECIFIED",
146		1:  "FACE_DETECTION",
147		2:  "LANDMARK_DETECTION",
148		3:  "LOGO_DETECTION",
149		4:  "LABEL_DETECTION",
150		5:  "TEXT_DETECTION",
151		11: "DOCUMENT_TEXT_DETECTION",
152		6:  "SAFE_SEARCH_DETECTION",
153		7:  "IMAGE_PROPERTIES",
154		9:  "CROP_HINTS",
155		10: "WEB_DETECTION",
156	}
157	Feature_Type_value = map[string]int32{
158		"TYPE_UNSPECIFIED":        0,
159		"FACE_DETECTION":          1,
160		"LANDMARK_DETECTION":      2,
161		"LOGO_DETECTION":          3,
162		"LABEL_DETECTION":         4,
163		"TEXT_DETECTION":          5,
164		"DOCUMENT_TEXT_DETECTION": 11,
165		"SAFE_SEARCH_DETECTION":   6,
166		"IMAGE_PROPERTIES":        7,
167		"CROP_HINTS":              9,
168		"WEB_DETECTION":           10,
169	}
170)
171
172func (x Feature_Type) Enum() *Feature_Type {
173	p := new(Feature_Type)
174	*p = x
175	return p
176}
177
178func (x Feature_Type) String() string {
179	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
180}
181
182func (Feature_Type) Descriptor() protoreflect.EnumDescriptor {
183	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[1].Descriptor()
184}
185
186func (Feature_Type) Type() protoreflect.EnumType {
187	return &file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[1]
188}
189
190func (x Feature_Type) Number() protoreflect.EnumNumber {
191	return protoreflect.EnumNumber(x)
192}
193
194// Deprecated: Use Feature_Type.Descriptor instead.
195func (Feature_Type) EnumDescriptor() ([]byte, []int) {
196	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{0, 0}
197}
198
199// Face landmark (feature) type.
200// Left and right are defined from the vantage of the viewer of the image
201// without considering mirror projections typical of photos. So, `LEFT_EYE`,
202// typically, is the person's right eye.
203type FaceAnnotation_Landmark_Type int32
204
205const (
206	// Unknown face landmark detected. Should not be filled.
207	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
208	// Left eye.
209	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
210	// Right eye.
211	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
212	// Left of left eyebrow.
213	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
214	// Right of left eyebrow.
215	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
216	// Left of right eyebrow.
217	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
218	// Right of right eyebrow.
219	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
220	// Midpoint between eyes.
221	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
222	// Nose tip.
223	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
224	// Upper lip.
225	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
226	// Lower lip.
227	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
228	// Mouth left.
229	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
230	// Mouth right.
231	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
232	// Mouth center.
233	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
234	// Nose, bottom right.
235	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
236	// Nose, bottom left.
237	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
238	// Nose, bottom center.
239	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
240	// Left eye, top boundary.
241	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
242	// Left eye, right corner.
243	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
244	// Left eye, bottom boundary.
245	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
246	// Left eye, left corner.
247	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
248	// Right eye, top boundary.
249	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
250	// Right eye, right corner.
251	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
252	// Right eye, bottom boundary.
253	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
254	// Right eye, left corner.
255	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
256	// Left eyebrow, upper midpoint.
257	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
258	// Right eyebrow, upper midpoint.
259	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
260	// Left ear tragion.
261	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
262	// Right ear tragion.
263	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
264	// Left eye pupil.
265	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
266	// Right eye pupil.
267	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
268	// Forehead glabella.
269	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
270	// Chin gnathion.
271	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
272	// Chin left gonion.
273	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
274	// Chin right gonion.
275	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
276)
277
278// Enum value maps for FaceAnnotation_Landmark_Type.
279var (
280	FaceAnnotation_Landmark_Type_name = map[int32]string{
281		0:  "UNKNOWN_LANDMARK",
282		1:  "LEFT_EYE",
283		2:  "RIGHT_EYE",
284		3:  "LEFT_OF_LEFT_EYEBROW",
285		4:  "RIGHT_OF_LEFT_EYEBROW",
286		5:  "LEFT_OF_RIGHT_EYEBROW",
287		6:  "RIGHT_OF_RIGHT_EYEBROW",
288		7:  "MIDPOINT_BETWEEN_EYES",
289		8:  "NOSE_TIP",
290		9:  "UPPER_LIP",
291		10: "LOWER_LIP",
292		11: "MOUTH_LEFT",
293		12: "MOUTH_RIGHT",
294		13: "MOUTH_CENTER",
295		14: "NOSE_BOTTOM_RIGHT",
296		15: "NOSE_BOTTOM_LEFT",
297		16: "NOSE_BOTTOM_CENTER",
298		17: "LEFT_EYE_TOP_BOUNDARY",
299		18: "LEFT_EYE_RIGHT_CORNER",
300		19: "LEFT_EYE_BOTTOM_BOUNDARY",
301		20: "LEFT_EYE_LEFT_CORNER",
302		21: "RIGHT_EYE_TOP_BOUNDARY",
303		22: "RIGHT_EYE_RIGHT_CORNER",
304		23: "RIGHT_EYE_BOTTOM_BOUNDARY",
305		24: "RIGHT_EYE_LEFT_CORNER",
306		25: "LEFT_EYEBROW_UPPER_MIDPOINT",
307		26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
308		27: "LEFT_EAR_TRAGION",
309		28: "RIGHT_EAR_TRAGION",
310		29: "LEFT_EYE_PUPIL",
311		30: "RIGHT_EYE_PUPIL",
312		31: "FOREHEAD_GLABELLA",
313		32: "CHIN_GNATHION",
314		33: "CHIN_LEFT_GONION",
315		34: "CHIN_RIGHT_GONION",
316	}
317	FaceAnnotation_Landmark_Type_value = map[string]int32{
318		"UNKNOWN_LANDMARK":             0,
319		"LEFT_EYE":                     1,
320		"RIGHT_EYE":                    2,
321		"LEFT_OF_LEFT_EYEBROW":         3,
322		"RIGHT_OF_LEFT_EYEBROW":        4,
323		"LEFT_OF_RIGHT_EYEBROW":        5,
324		"RIGHT_OF_RIGHT_EYEBROW":       6,
325		"MIDPOINT_BETWEEN_EYES":        7,
326		"NOSE_TIP":                     8,
327		"UPPER_LIP":                    9,
328		"LOWER_LIP":                    10,
329		"MOUTH_LEFT":                   11,
330		"MOUTH_RIGHT":                  12,
331		"MOUTH_CENTER":                 13,
332		"NOSE_BOTTOM_RIGHT":            14,
333		"NOSE_BOTTOM_LEFT":             15,
334		"NOSE_BOTTOM_CENTER":           16,
335		"LEFT_EYE_TOP_BOUNDARY":        17,
336		"LEFT_EYE_RIGHT_CORNER":        18,
337		"LEFT_EYE_BOTTOM_BOUNDARY":     19,
338		"LEFT_EYE_LEFT_CORNER":         20,
339		"RIGHT_EYE_TOP_BOUNDARY":       21,
340		"RIGHT_EYE_RIGHT_CORNER":       22,
341		"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
342		"RIGHT_EYE_LEFT_CORNER":        24,
343		"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
344		"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
345		"LEFT_EAR_TRAGION":             27,
346		"RIGHT_EAR_TRAGION":            28,
347		"LEFT_EYE_PUPIL":               29,
348		"RIGHT_EYE_PUPIL":              30,
349		"FOREHEAD_GLABELLA":            31,
350		"CHIN_GNATHION":                32,
351		"CHIN_LEFT_GONION":             33,
352		"CHIN_RIGHT_GONION":            34,
353	}
354)
355
356func (x FaceAnnotation_Landmark_Type) Enum() *FaceAnnotation_Landmark_Type {
357	p := new(FaceAnnotation_Landmark_Type)
358	*p = x
359	return p
360}
361
362func (x FaceAnnotation_Landmark_Type) String() string {
363	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
364}
365
366func (FaceAnnotation_Landmark_Type) Descriptor() protoreflect.EnumDescriptor {
367	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[2].Descriptor()
368}
369
370func (FaceAnnotation_Landmark_Type) Type() protoreflect.EnumType {
371	return &file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[2]
372}
373
374func (x FaceAnnotation_Landmark_Type) Number() protoreflect.EnumNumber {
375	return protoreflect.EnumNumber(x)
376}
377
378// Deprecated: Use FaceAnnotation_Landmark_Type.Descriptor instead.
379func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
380	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0, 0}
381}
382
383// Users describe the type of Google Cloud Vision API tasks to perform over
384// images by using *Feature*s. Each Feature indicates a type of image
385// detection task to perform. Features encode the Cloud Vision API
386// vertical to operate on and the number of top-scoring results to return.
387type Feature struct {
388	state         protoimpl.MessageState
389	sizeCache     protoimpl.SizeCache
390	unknownFields protoimpl.UnknownFields
391
392	// The feature type.
393	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.Feature_Type" json:"type,omitempty"`
394	// Maximum number of results of this type.
395	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
396	// Model to use for the feature.
397	// Supported values: "builtin/stable" (the default if unset) and
398	// "builtin/latest".
399	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
400}
401
402func (x *Feature) Reset() {
403	*x = Feature{}
404	if protoimpl.UnsafeEnabled {
405		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[0]
406		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
407		ms.StoreMessageInfo(mi)
408	}
409}
410
411func (x *Feature) String() string {
412	return protoimpl.X.MessageStringOf(x)
413}
414
415func (*Feature) ProtoMessage() {}
416
417func (x *Feature) ProtoReflect() protoreflect.Message {
418	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[0]
419	if protoimpl.UnsafeEnabled && x != nil {
420		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
421		if ms.LoadMessageInfo() == nil {
422			ms.StoreMessageInfo(mi)
423		}
424		return ms
425	}
426	return mi.MessageOf(x)
427}
428
429// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
430func (*Feature) Descriptor() ([]byte, []int) {
431	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{0}
432}
433
434func (x *Feature) GetType() Feature_Type {
435	if x != nil {
436		return x.Type
437	}
438	return Feature_TYPE_UNSPECIFIED
439}
440
441func (x *Feature) GetMaxResults() int32 {
442	if x != nil {
443		return x.MaxResults
444	}
445	return 0
446}
447
448func (x *Feature) GetModel() string {
449	if x != nil {
450		return x.Model
451	}
452	return ""
453}
454
455// External image source (Google Cloud Storage image location).
456type ImageSource struct {
457	state         protoimpl.MessageState
458	sizeCache     protoimpl.SizeCache
459	unknownFields protoimpl.UnknownFields
460
461	// NOTE: For new code `image_uri` below is preferred.
462	// Google Cloud Storage image URI, which must be in the following form:
463	// `gs://bucket_name/object_name` (for details, see
464	// [Google Cloud Storage Request
465	// URIs](https://cloud.google.com/storage/docs/reference-uris)).
466	// NOTE: Cloud Storage object versioning is not supported.
467	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
468	// Image URI which supports:
469	// 1) Google Cloud Storage image URI, which must be in the following form:
470	// `gs://bucket_name/object_name` (for details, see
471	// [Google Cloud Storage Request
472	// URIs](https://cloud.google.com/storage/docs/reference-uris)).
473	// NOTE: Cloud Storage object versioning is not supported.
474	// 2) Publicly accessible image HTTP/HTTPS URL.
475	// This is preferred over the legacy `gcs_image_uri` above. When both
476	// `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
477	// precedence.
478	ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
479}
480
481func (x *ImageSource) Reset() {
482	*x = ImageSource{}
483	if protoimpl.UnsafeEnabled {
484		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[1]
485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
486		ms.StoreMessageInfo(mi)
487	}
488}
489
490func (x *ImageSource) String() string {
491	return protoimpl.X.MessageStringOf(x)
492}
493
494func (*ImageSource) ProtoMessage() {}
495
496func (x *ImageSource) ProtoReflect() protoreflect.Message {
497	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[1]
498	if protoimpl.UnsafeEnabled && x != nil {
499		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
500		if ms.LoadMessageInfo() == nil {
501			ms.StoreMessageInfo(mi)
502		}
503		return ms
504	}
505	return mi.MessageOf(x)
506}
507
508// Deprecated: Use ImageSource.ProtoReflect.Descriptor instead.
509func (*ImageSource) Descriptor() ([]byte, []int) {
510	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{1}
511}
512
513func (x *ImageSource) GetGcsImageUri() string {
514	if x != nil {
515		return x.GcsImageUri
516	}
517	return ""
518}
519
520func (x *ImageSource) GetImageUri() string {
521	if x != nil {
522		return x.ImageUri
523	}
524	return ""
525}
526
527// Client image to perform Google Cloud Vision API tasks over.
528type Image struct {
529	state         protoimpl.MessageState
530	sizeCache     protoimpl.SizeCache
531	unknownFields protoimpl.UnknownFields
532
533	// Image content, represented as a stream of bytes.
534	// Note: as with all `bytes` fields, protobuffers use a pure binary
535	// representation, whereas JSON representations use base64.
536	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
537	// Google Cloud Storage image location. If both `content` and `source`
538	// are provided for an image, `content` takes precedence and is
539	// used to perform the image annotation request.
540	Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
541}
542
543func (x *Image) Reset() {
544	*x = Image{}
545	if protoimpl.UnsafeEnabled {
546		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[2]
547		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
548		ms.StoreMessageInfo(mi)
549	}
550}
551
552func (x *Image) String() string {
553	return protoimpl.X.MessageStringOf(x)
554}
555
556func (*Image) ProtoMessage() {}
557
558func (x *Image) ProtoReflect() protoreflect.Message {
559	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[2]
560	if protoimpl.UnsafeEnabled && x != nil {
561		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
562		if ms.LoadMessageInfo() == nil {
563			ms.StoreMessageInfo(mi)
564		}
565		return ms
566	}
567	return mi.MessageOf(x)
568}
569
570// Deprecated: Use Image.ProtoReflect.Descriptor instead.
571func (*Image) Descriptor() ([]byte, []int) {
572	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{2}
573}
574
575func (x *Image) GetContent() []byte {
576	if x != nil {
577		return x.Content
578	}
579	return nil
580}
581
582func (x *Image) GetSource() *ImageSource {
583	if x != nil {
584		return x.Source
585	}
586	return nil
587}
588
589// A face annotation object contains the results of face detection.
590type FaceAnnotation struct {
591	state         protoimpl.MessageState
592	sizeCache     protoimpl.SizeCache
593	unknownFields protoimpl.UnknownFields
594
595	// The bounding polygon around the face. The coordinates of the bounding box
596	// are in the original image's scale, as returned in `ImageParams`.
597	// The bounding box is computed to "frame" the face in accordance with human
598	// expectations. It is based on the landmarker results.
599	// Note that one or more x and/or y coordinates may not be generated in the
600	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
601	// appears in the image to be annotated.
602	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
603	// The `fd_bounding_poly` bounding polygon is tighter than the
604	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
605	// is used to eliminate the face from any image analysis that detects the
606	// "amount of skin" visible in an image. It is not based on the
607	// landmarker results, only on the initial face detection, hence
608	// the <code>fd</code> (face detection) prefix.
609	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
610	// Detected face landmarks.
611	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
612	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
613	// of the face relative to the image vertical about the axis perpendicular to
614	// the face. Range [-180,180].
615	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
616	// Yaw angle, which indicates the leftward/rightward angle that the face is
617	// pointing relative to the vertical plane perpendicular to the image. Range
618	// [-180,180].
619	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
620	// Pitch angle, which indicates the upwards/downwards angle that the face is
621	// pointing relative to the image's horizontal plane. Range [-180,180].
622	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
623	// Detection confidence. Range [0, 1].
624	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
625	// Face landmarking confidence. Range [0, 1].
626	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
627	// Joy likelihood.
628	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"joy_likelihood,omitempty"`
629	// Sorrow likelihood.
630	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
631	// Anger likelihood.
632	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"anger_likelihood,omitempty"`
633	// Surprise likelihood.
634	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"surprise_likelihood,omitempty"`
635	// Under-exposed likelihood.
636	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
637	// Blurred likelihood.
638	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"blurred_likelihood,omitempty"`
639	// Headwear likelihood.
640	HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"headwear_likelihood,omitempty"`
641}
642
643func (x *FaceAnnotation) Reset() {
644	*x = FaceAnnotation{}
645	if protoimpl.UnsafeEnabled {
646		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[3]
647		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
648		ms.StoreMessageInfo(mi)
649	}
650}
651
652func (x *FaceAnnotation) String() string {
653	return protoimpl.X.MessageStringOf(x)
654}
655
656func (*FaceAnnotation) ProtoMessage() {}
657
658func (x *FaceAnnotation) ProtoReflect() protoreflect.Message {
659	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[3]
660	if protoimpl.UnsafeEnabled && x != nil {
661		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
662		if ms.LoadMessageInfo() == nil {
663			ms.StoreMessageInfo(mi)
664		}
665		return ms
666	}
667	return mi.MessageOf(x)
668}
669
670// Deprecated: Use FaceAnnotation.ProtoReflect.Descriptor instead.
671func (*FaceAnnotation) Descriptor() ([]byte, []int) {
672	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{3}
673}
674
675func (x *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
676	if x != nil {
677		return x.BoundingPoly
678	}
679	return nil
680}
681
682func (x *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
683	if x != nil {
684		return x.FdBoundingPoly
685	}
686	return nil
687}
688
689func (x *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
690	if x != nil {
691		return x.Landmarks
692	}
693	return nil
694}
695
696func (x *FaceAnnotation) GetRollAngle() float32 {
697	if x != nil {
698		return x.RollAngle
699	}
700	return 0
701}
702
703func (x *FaceAnnotation) GetPanAngle() float32 {
704	if x != nil {
705		return x.PanAngle
706	}
707	return 0
708}
709
710func (x *FaceAnnotation) GetTiltAngle() float32 {
711	if x != nil {
712		return x.TiltAngle
713	}
714	return 0
715}
716
717func (x *FaceAnnotation) GetDetectionConfidence() float32 {
718	if x != nil {
719		return x.DetectionConfidence
720	}
721	return 0
722}
723
724func (x *FaceAnnotation) GetLandmarkingConfidence() float32 {
725	if x != nil {
726		return x.LandmarkingConfidence
727	}
728	return 0
729}
730
731func (x *FaceAnnotation) GetJoyLikelihood() Likelihood {
732	if x != nil {
733		return x.JoyLikelihood
734	}
735	return Likelihood_UNKNOWN
736}
737
738func (x *FaceAnnotation) GetSorrowLikelihood() Likelihood {
739	if x != nil {
740		return x.SorrowLikelihood
741	}
742	return Likelihood_UNKNOWN
743}
744
745func (x *FaceAnnotation) GetAngerLikelihood() Likelihood {
746	if x != nil {
747		return x.AngerLikelihood
748	}
749	return Likelihood_UNKNOWN
750}
751
752func (x *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
753	if x != nil {
754		return x.SurpriseLikelihood
755	}
756	return Likelihood_UNKNOWN
757}
758
759func (x *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
760	if x != nil {
761		return x.UnderExposedLikelihood
762	}
763	return Likelihood_UNKNOWN
764}
765
766func (x *FaceAnnotation) GetBlurredLikelihood() Likelihood {
767	if x != nil {
768		return x.BlurredLikelihood
769	}
770	return Likelihood_UNKNOWN
771}
772
773func (x *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
774	if x != nil {
775		return x.HeadwearLikelihood
776	}
777	return Likelihood_UNKNOWN
778}
779
780// Detected entity location information.
781type LocationInfo struct {
782	state         protoimpl.MessageState
783	sizeCache     protoimpl.SizeCache
784	unknownFields protoimpl.UnknownFields
785
786	// lat/long location coordinates.
787	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
788}
789
790func (x *LocationInfo) Reset() {
791	*x = LocationInfo{}
792	if protoimpl.UnsafeEnabled {
793		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[4]
794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
795		ms.StoreMessageInfo(mi)
796	}
797}
798
799func (x *LocationInfo) String() string {
800	return protoimpl.X.MessageStringOf(x)
801}
802
803func (*LocationInfo) ProtoMessage() {}
804
805func (x *LocationInfo) ProtoReflect() protoreflect.Message {
806	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[4]
807	if protoimpl.UnsafeEnabled && x != nil {
808		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
809		if ms.LoadMessageInfo() == nil {
810			ms.StoreMessageInfo(mi)
811		}
812		return ms
813	}
814	return mi.MessageOf(x)
815}
816
817// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead.
818func (*LocationInfo) Descriptor() ([]byte, []int) {
819	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{4}
820}
821
822func (x *LocationInfo) GetLatLng() *latlng.LatLng {
823	if x != nil {
824		return x.LatLng
825	}
826	return nil
827}
828
829// A `Property` consists of a user-supplied name/value pair.
830type Property struct {
831	state         protoimpl.MessageState
832	sizeCache     protoimpl.SizeCache
833	unknownFields protoimpl.UnknownFields
834
835	// Name of the property.
836	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
837	// Value of the property.
838	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
839	// Value of numeric properties.
840	Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
841}
842
843func (x *Property) Reset() {
844	*x = Property{}
845	if protoimpl.UnsafeEnabled {
846		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[5]
847		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
848		ms.StoreMessageInfo(mi)
849	}
850}
851
852func (x *Property) String() string {
853	return protoimpl.X.MessageStringOf(x)
854}
855
856func (*Property) ProtoMessage() {}
857
858func (x *Property) ProtoReflect() protoreflect.Message {
859	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[5]
860	if protoimpl.UnsafeEnabled && x != nil {
861		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
862		if ms.LoadMessageInfo() == nil {
863			ms.StoreMessageInfo(mi)
864		}
865		return ms
866	}
867	return mi.MessageOf(x)
868}
869
870// Deprecated: Use Property.ProtoReflect.Descriptor instead.
871func (*Property) Descriptor() ([]byte, []int) {
872	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{5}
873}
874
875func (x *Property) GetName() string {
876	if x != nil {
877		return x.Name
878	}
879	return ""
880}
881
882func (x *Property) GetValue() string {
883	if x != nil {
884		return x.Value
885	}
886	return ""
887}
888
889func (x *Property) GetUint64Value() uint64 {
890	if x != nil {
891		return x.Uint64Value
892	}
893	return 0
894}
895
896// Set of detected entity features.
897type EntityAnnotation struct {
898	state         protoimpl.MessageState
899	sizeCache     protoimpl.SizeCache
900	unknownFields protoimpl.UnknownFields
901
902	// Opaque entity ID. Some IDs may be available in
903	// [Google Knowledge Graph Search
904	// API](https://developers.google.com/knowledge-graph/).
905	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
906	// The language code for the locale in which the entity textual
907	// `description` is expressed.
908	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
909	// Entity textual description, expressed in its `locale` language.
910	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
911	// Overall score of the result. Range [0, 1].
912	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
913	// The accuracy of the entity detection in an image.
914	// For example, for an image in which the "Eiffel Tower" entity is detected,
915	// this field represents the confidence that there is a tower in the query
916	// image. Range [0, 1].
917	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
918	// The relevancy of the ICA (Image Content Annotation) label to the
919	// image. For example, the relevancy of "tower" is likely higher to an image
920	// containing the detected "Eiffel Tower" than to an image containing a
921	// detected distant towering building, even though the confidence that
922	// there is a tower in each image may be the same. Range [0, 1].
923	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
924	// Image region to which this entity belongs. Not produced
925	// for `LABEL_DETECTION` features.
926	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
927	// The location information for the detected entity. Multiple
928	// `LocationInfo` elements can be present because one location may
929	// indicate the location of the scene in the image, and another location
930	// may indicate the location of the place where the image was taken.
931	// Location information is usually present for landmarks.
932	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
933	// Some entities may have optional user-supplied `Property` (name/value)
934	// fields, such a score or string that qualifies the entity.
935	Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
936}
937
938func (x *EntityAnnotation) Reset() {
939	*x = EntityAnnotation{}
940	if protoimpl.UnsafeEnabled {
941		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[6]
942		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
943		ms.StoreMessageInfo(mi)
944	}
945}
946
947func (x *EntityAnnotation) String() string {
948	return protoimpl.X.MessageStringOf(x)
949}
950
951func (*EntityAnnotation) ProtoMessage() {}
952
953func (x *EntityAnnotation) ProtoReflect() protoreflect.Message {
954	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[6]
955	if protoimpl.UnsafeEnabled && x != nil {
956		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
957		if ms.LoadMessageInfo() == nil {
958			ms.StoreMessageInfo(mi)
959		}
960		return ms
961	}
962	return mi.MessageOf(x)
963}
964
965// Deprecated: Use EntityAnnotation.ProtoReflect.Descriptor instead.
966func (*EntityAnnotation) Descriptor() ([]byte, []int) {
967	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{6}
968}
969
970func (x *EntityAnnotation) GetMid() string {
971	if x != nil {
972		return x.Mid
973	}
974	return ""
975}
976
977func (x *EntityAnnotation) GetLocale() string {
978	if x != nil {
979		return x.Locale
980	}
981	return ""
982}
983
984func (x *EntityAnnotation) GetDescription() string {
985	if x != nil {
986		return x.Description
987	}
988	return ""
989}
990
991func (x *EntityAnnotation) GetScore() float32 {
992	if x != nil {
993		return x.Score
994	}
995	return 0
996}
997
998func (x *EntityAnnotation) GetConfidence() float32 {
999	if x != nil {
1000		return x.Confidence
1001	}
1002	return 0
1003}
1004
1005func (x *EntityAnnotation) GetTopicality() float32 {
1006	if x != nil {
1007		return x.Topicality
1008	}
1009	return 0
1010}
1011
1012func (x *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
1013	if x != nil {
1014		return x.BoundingPoly
1015	}
1016	return nil
1017}
1018
1019func (x *EntityAnnotation) GetLocations() []*LocationInfo {
1020	if x != nil {
1021		return x.Locations
1022	}
1023	return nil
1024}
1025
1026func (x *EntityAnnotation) GetProperties() []*Property {
1027	if x != nil {
1028		return x.Properties
1029	}
1030	return nil
1031}
1032
1033// Set of features pertaining to the image, computed by computer vision
1034// methods over safe-search verticals (for example, adult, spoof, medical,
1035// violence).
1036type SafeSearchAnnotation struct {
1037	state         protoimpl.MessageState
1038	sizeCache     protoimpl.SizeCache
1039	unknownFields protoimpl.UnknownFields
1040
1041	// Represents the adult content likelihood for the image. Adult content may
1042	// contain elements such as nudity, pornographic images or cartoons, or
1043	// sexual activities.
1044	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"adult,omitempty"`
1045	// Spoof likelihood. The likelihood that an modification
1046	// was made to the image's canonical version to make it appear
1047	// funny or offensive.
1048	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"spoof,omitempty"`
1049	// Likelihood that this is a medical image.
1050	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"medical,omitempty"`
1051	// Likelihood that this image contains violent content.
1052	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"violence,omitempty"`
1053	// Likelihood that the request image contains racy content. Racy content may
1054	// include (but is not limited to) skimpy or sheer clothing, strategically
1055	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1056	// body areas.
1057	Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"racy,omitempty"`
1058}
1059
1060func (x *SafeSearchAnnotation) Reset() {
1061	*x = SafeSearchAnnotation{}
1062	if protoimpl.UnsafeEnabled {
1063		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[7]
1064		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1065		ms.StoreMessageInfo(mi)
1066	}
1067}
1068
1069func (x *SafeSearchAnnotation) String() string {
1070	return protoimpl.X.MessageStringOf(x)
1071}
1072
1073func (*SafeSearchAnnotation) ProtoMessage() {}
1074
1075func (x *SafeSearchAnnotation) ProtoReflect() protoreflect.Message {
1076	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[7]
1077	if protoimpl.UnsafeEnabled && x != nil {
1078		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1079		if ms.LoadMessageInfo() == nil {
1080			ms.StoreMessageInfo(mi)
1081		}
1082		return ms
1083	}
1084	return mi.MessageOf(x)
1085}
1086
1087// Deprecated: Use SafeSearchAnnotation.ProtoReflect.Descriptor instead.
1088func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1089	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{7}
1090}
1091
1092func (x *SafeSearchAnnotation) GetAdult() Likelihood {
1093	if x != nil {
1094		return x.Adult
1095	}
1096	return Likelihood_UNKNOWN
1097}
1098
1099func (x *SafeSearchAnnotation) GetSpoof() Likelihood {
1100	if x != nil {
1101		return x.Spoof
1102	}
1103	return Likelihood_UNKNOWN
1104}
1105
1106func (x *SafeSearchAnnotation) GetMedical() Likelihood {
1107	if x != nil {
1108		return x.Medical
1109	}
1110	return Likelihood_UNKNOWN
1111}
1112
1113func (x *SafeSearchAnnotation) GetViolence() Likelihood {
1114	if x != nil {
1115		return x.Violence
1116	}
1117	return Likelihood_UNKNOWN
1118}
1119
1120func (x *SafeSearchAnnotation) GetRacy() Likelihood {
1121	if x != nil {
1122		return x.Racy
1123	}
1124	return Likelihood_UNKNOWN
1125}
1126
1127// Rectangle determined by min and max `LatLng` pairs.
1128type LatLongRect struct {
1129	state         protoimpl.MessageState
1130	sizeCache     protoimpl.SizeCache
1131	unknownFields protoimpl.UnknownFields
1132
1133	// Min lat/long pair.
1134	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1135	// Max lat/long pair.
1136	MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1137}
1138
1139func (x *LatLongRect) Reset() {
1140	*x = LatLongRect{}
1141	if protoimpl.UnsafeEnabled {
1142		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[8]
1143		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1144		ms.StoreMessageInfo(mi)
1145	}
1146}
1147
1148func (x *LatLongRect) String() string {
1149	return protoimpl.X.MessageStringOf(x)
1150}
1151
1152func (*LatLongRect) ProtoMessage() {}
1153
1154func (x *LatLongRect) ProtoReflect() protoreflect.Message {
1155	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[8]
1156	if protoimpl.UnsafeEnabled && x != nil {
1157		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1158		if ms.LoadMessageInfo() == nil {
1159			ms.StoreMessageInfo(mi)
1160		}
1161		return ms
1162	}
1163	return mi.MessageOf(x)
1164}
1165
1166// Deprecated: Use LatLongRect.ProtoReflect.Descriptor instead.
1167func (*LatLongRect) Descriptor() ([]byte, []int) {
1168	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{8}
1169}
1170
1171func (x *LatLongRect) GetMinLatLng() *latlng.LatLng {
1172	if x != nil {
1173		return x.MinLatLng
1174	}
1175	return nil
1176}
1177
1178func (x *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1179	if x != nil {
1180		return x.MaxLatLng
1181	}
1182	return nil
1183}
1184
1185// Color information consists of RGB channels, score, and the fraction of
1186// the image that the color occupies in the image.
1187type ColorInfo struct {
1188	state         protoimpl.MessageState
1189	sizeCache     protoimpl.SizeCache
1190	unknownFields protoimpl.UnknownFields
1191
1192	// RGB components of the color.
1193	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1194	// Image-specific score for this color. Value in range [0, 1].
1195	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1196	// The fraction of pixels the color occupies in the image.
1197	// Value in range [0, 1].
1198	PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1199}
1200
1201func (x *ColorInfo) Reset() {
1202	*x = ColorInfo{}
1203	if protoimpl.UnsafeEnabled {
1204		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[9]
1205		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1206		ms.StoreMessageInfo(mi)
1207	}
1208}
1209
1210func (x *ColorInfo) String() string {
1211	return protoimpl.X.MessageStringOf(x)
1212}
1213
1214func (*ColorInfo) ProtoMessage() {}
1215
1216func (x *ColorInfo) ProtoReflect() protoreflect.Message {
1217	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[9]
1218	if protoimpl.UnsafeEnabled && x != nil {
1219		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1220		if ms.LoadMessageInfo() == nil {
1221			ms.StoreMessageInfo(mi)
1222		}
1223		return ms
1224	}
1225	return mi.MessageOf(x)
1226}
1227
1228// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
1229func (*ColorInfo) Descriptor() ([]byte, []int) {
1230	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{9}
1231}
1232
1233func (x *ColorInfo) GetColor() *color.Color {
1234	if x != nil {
1235		return x.Color
1236	}
1237	return nil
1238}
1239
1240func (x *ColorInfo) GetScore() float32 {
1241	if x != nil {
1242		return x.Score
1243	}
1244	return 0
1245}
1246
1247func (x *ColorInfo) GetPixelFraction() float32 {
1248	if x != nil {
1249		return x.PixelFraction
1250	}
1251	return 0
1252}
1253
1254// Set of dominant colors and their corresponding scores.
1255type DominantColorsAnnotation struct {
1256	state         protoimpl.MessageState
1257	sizeCache     protoimpl.SizeCache
1258	unknownFields protoimpl.UnknownFields
1259
1260	// RGB color values with their score and pixel fraction.
1261	Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1262}
1263
1264func (x *DominantColorsAnnotation) Reset() {
1265	*x = DominantColorsAnnotation{}
1266	if protoimpl.UnsafeEnabled {
1267		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[10]
1268		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1269		ms.StoreMessageInfo(mi)
1270	}
1271}
1272
1273func (x *DominantColorsAnnotation) String() string {
1274	return protoimpl.X.MessageStringOf(x)
1275}
1276
1277func (*DominantColorsAnnotation) ProtoMessage() {}
1278
1279func (x *DominantColorsAnnotation) ProtoReflect() protoreflect.Message {
1280	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[10]
1281	if protoimpl.UnsafeEnabled && x != nil {
1282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1283		if ms.LoadMessageInfo() == nil {
1284			ms.StoreMessageInfo(mi)
1285		}
1286		return ms
1287	}
1288	return mi.MessageOf(x)
1289}
1290
1291// Deprecated: Use DominantColorsAnnotation.ProtoReflect.Descriptor instead.
1292func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1293	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{10}
1294}
1295
1296func (x *DominantColorsAnnotation) GetColors() []*ColorInfo {
1297	if x != nil {
1298		return x.Colors
1299	}
1300	return nil
1301}
1302
1303// Stores image properties, such as dominant colors.
1304type ImageProperties struct {
1305	state         protoimpl.MessageState
1306	sizeCache     protoimpl.SizeCache
1307	unknownFields protoimpl.UnknownFields
1308
1309	// If present, dominant colors completed successfully.
1310	DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1311}
1312
1313func (x *ImageProperties) Reset() {
1314	*x = ImageProperties{}
1315	if protoimpl.UnsafeEnabled {
1316		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[11]
1317		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1318		ms.StoreMessageInfo(mi)
1319	}
1320}
1321
1322func (x *ImageProperties) String() string {
1323	return protoimpl.X.MessageStringOf(x)
1324}
1325
1326func (*ImageProperties) ProtoMessage() {}
1327
1328func (x *ImageProperties) ProtoReflect() protoreflect.Message {
1329	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[11]
1330	if protoimpl.UnsafeEnabled && x != nil {
1331		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1332		if ms.LoadMessageInfo() == nil {
1333			ms.StoreMessageInfo(mi)
1334		}
1335		return ms
1336	}
1337	return mi.MessageOf(x)
1338}
1339
1340// Deprecated: Use ImageProperties.ProtoReflect.Descriptor instead.
1341func (*ImageProperties) Descriptor() ([]byte, []int) {
1342	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{11}
1343}
1344
1345func (x *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1346	if x != nil {
1347		return x.DominantColors
1348	}
1349	return nil
1350}
1351
1352// Single crop hint that is used to generate a new crop when serving an image.
1353type CropHint struct {
1354	state         protoimpl.MessageState
1355	sizeCache     protoimpl.SizeCache
1356	unknownFields protoimpl.UnknownFields
1357
1358	// The bounding polygon for the crop region. The coordinates of the bounding
1359	// box are in the original image's scale, as returned in `ImageParams`.
1360	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1361	// Confidence of this being a salient region.  Range [0, 1].
1362	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1363	// Fraction of importance of this salient region with respect to the original
1364	// image.
1365	ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1366}
1367
1368func (x *CropHint) Reset() {
1369	*x = CropHint{}
1370	if protoimpl.UnsafeEnabled {
1371		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[12]
1372		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1373		ms.StoreMessageInfo(mi)
1374	}
1375}
1376
1377func (x *CropHint) String() string {
1378	return protoimpl.X.MessageStringOf(x)
1379}
1380
1381func (*CropHint) ProtoMessage() {}
1382
1383func (x *CropHint) ProtoReflect() protoreflect.Message {
1384	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[12]
1385	if protoimpl.UnsafeEnabled && x != nil {
1386		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1387		if ms.LoadMessageInfo() == nil {
1388			ms.StoreMessageInfo(mi)
1389		}
1390		return ms
1391	}
1392	return mi.MessageOf(x)
1393}
1394
1395// Deprecated: Use CropHint.ProtoReflect.Descriptor instead.
1396func (*CropHint) Descriptor() ([]byte, []int) {
1397	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{12}
1398}
1399
1400func (x *CropHint) GetBoundingPoly() *BoundingPoly {
1401	if x != nil {
1402		return x.BoundingPoly
1403	}
1404	return nil
1405}
1406
1407func (x *CropHint) GetConfidence() float32 {
1408	if x != nil {
1409		return x.Confidence
1410	}
1411	return 0
1412}
1413
1414func (x *CropHint) GetImportanceFraction() float32 {
1415	if x != nil {
1416		return x.ImportanceFraction
1417	}
1418	return 0
1419}
1420
1421// Set of crop hints that are used to generate new crops when serving images.
1422type CropHintsAnnotation struct {
1423	state         protoimpl.MessageState
1424	sizeCache     protoimpl.SizeCache
1425	unknownFields protoimpl.UnknownFields
1426
1427	// Crop hint results.
1428	CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1429}
1430
1431func (x *CropHintsAnnotation) Reset() {
1432	*x = CropHintsAnnotation{}
1433	if protoimpl.UnsafeEnabled {
1434		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[13]
1435		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1436		ms.StoreMessageInfo(mi)
1437	}
1438}
1439
1440func (x *CropHintsAnnotation) String() string {
1441	return protoimpl.X.MessageStringOf(x)
1442}
1443
1444func (*CropHintsAnnotation) ProtoMessage() {}
1445
1446func (x *CropHintsAnnotation) ProtoReflect() protoreflect.Message {
1447	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[13]
1448	if protoimpl.UnsafeEnabled && x != nil {
1449		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1450		if ms.LoadMessageInfo() == nil {
1451			ms.StoreMessageInfo(mi)
1452		}
1453		return ms
1454	}
1455	return mi.MessageOf(x)
1456}
1457
1458// Deprecated: Use CropHintsAnnotation.ProtoReflect.Descriptor instead.
1459func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1460	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{13}
1461}
1462
1463func (x *CropHintsAnnotation) GetCropHints() []*CropHint {
1464	if x != nil {
1465		return x.CropHints
1466	}
1467	return nil
1468}
1469
1470// Parameters for crop hints annotation request.
1471type CropHintsParams struct {
1472	state         protoimpl.MessageState
1473	sizeCache     protoimpl.SizeCache
1474	unknownFields protoimpl.UnknownFields
1475
1476	// Aspect ratios in floats, representing the ratio of the width to the height
1477	// of the image. For example, if the desired aspect ratio is 4/3, the
1478	// corresponding float value should be 1.33333.  If not specified, the
1479	// best possible crop is returned. The number of provided aspect ratios is
1480	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1481	// ignored.
1482	AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1483}
1484
1485func (x *CropHintsParams) Reset() {
1486	*x = CropHintsParams{}
1487	if protoimpl.UnsafeEnabled {
1488		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[14]
1489		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1490		ms.StoreMessageInfo(mi)
1491	}
1492}
1493
1494func (x *CropHintsParams) String() string {
1495	return protoimpl.X.MessageStringOf(x)
1496}
1497
1498func (*CropHintsParams) ProtoMessage() {}
1499
1500func (x *CropHintsParams) ProtoReflect() protoreflect.Message {
1501	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[14]
1502	if protoimpl.UnsafeEnabled && x != nil {
1503		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1504		if ms.LoadMessageInfo() == nil {
1505			ms.StoreMessageInfo(mi)
1506		}
1507		return ms
1508	}
1509	return mi.MessageOf(x)
1510}
1511
1512// Deprecated: Use CropHintsParams.ProtoReflect.Descriptor instead.
1513func (*CropHintsParams) Descriptor() ([]byte, []int) {
1514	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{14}
1515}
1516
1517func (x *CropHintsParams) GetAspectRatios() []float32 {
1518	if x != nil {
1519		return x.AspectRatios
1520	}
1521	return nil
1522}
1523
1524// Parameters for web detection request.
1525type WebDetectionParams struct {
1526	state         protoimpl.MessageState
1527	sizeCache     protoimpl.SizeCache
1528	unknownFields protoimpl.UnknownFields
1529
1530	// Whether to include results derived from the geo information in the image.
1531	IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1532}
1533
1534func (x *WebDetectionParams) Reset() {
1535	*x = WebDetectionParams{}
1536	if protoimpl.UnsafeEnabled {
1537		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[15]
1538		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1539		ms.StoreMessageInfo(mi)
1540	}
1541}
1542
1543func (x *WebDetectionParams) String() string {
1544	return protoimpl.X.MessageStringOf(x)
1545}
1546
1547func (*WebDetectionParams) ProtoMessage() {}
1548
1549func (x *WebDetectionParams) ProtoReflect() protoreflect.Message {
1550	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[15]
1551	if protoimpl.UnsafeEnabled && x != nil {
1552		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1553		if ms.LoadMessageInfo() == nil {
1554			ms.StoreMessageInfo(mi)
1555		}
1556		return ms
1557	}
1558	return mi.MessageOf(x)
1559}
1560
1561// Deprecated: Use WebDetectionParams.ProtoReflect.Descriptor instead.
1562func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1563	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{15}
1564}
1565
1566func (x *WebDetectionParams) GetIncludeGeoResults() bool {
1567	if x != nil {
1568		return x.IncludeGeoResults
1569	}
1570	return false
1571}
1572
1573// Parameters for text detections. This is used to control TEXT_DETECTION and
1574// DOCUMENT_TEXT_DETECTION features.
1575type TextDetectionParams struct {
1576	state         protoimpl.MessageState
1577	sizeCache     protoimpl.SizeCache
1578	unknownFields protoimpl.UnknownFields
1579
1580	// By default, Cloud Vision API only includes confidence score for
1581	// DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence
1582	// score for TEXT_DETECTION as well.
1583	EnableTextDetectionConfidenceScore bool `protobuf:"varint,9,opt,name=enable_text_detection_confidence_score,json=enableTextDetectionConfidenceScore,proto3" json:"enable_text_detection_confidence_score,omitempty"`
1584}
1585
1586func (x *TextDetectionParams) Reset() {
1587	*x = TextDetectionParams{}
1588	if protoimpl.UnsafeEnabled {
1589		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[16]
1590		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1591		ms.StoreMessageInfo(mi)
1592	}
1593}
1594
1595func (x *TextDetectionParams) String() string {
1596	return protoimpl.X.MessageStringOf(x)
1597}
1598
1599func (*TextDetectionParams) ProtoMessage() {}
1600
1601func (x *TextDetectionParams) ProtoReflect() protoreflect.Message {
1602	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[16]
1603	if protoimpl.UnsafeEnabled && x != nil {
1604		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1605		if ms.LoadMessageInfo() == nil {
1606			ms.StoreMessageInfo(mi)
1607		}
1608		return ms
1609	}
1610	return mi.MessageOf(x)
1611}
1612
1613// Deprecated: Use TextDetectionParams.ProtoReflect.Descriptor instead.
1614func (*TextDetectionParams) Descriptor() ([]byte, []int) {
1615	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{16}
1616}
1617
1618func (x *TextDetectionParams) GetEnableTextDetectionConfidenceScore() bool {
1619	if x != nil {
1620		return x.EnableTextDetectionConfidenceScore
1621	}
1622	return false
1623}
1624
1625// Image context and/or feature-specific parameters.
1626type ImageContext struct {
1627	state         protoimpl.MessageState
1628	sizeCache     protoimpl.SizeCache
1629	unknownFields protoimpl.UnknownFields
1630
1631	// lat/long rectangle that specifies the location of the image.
1632	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1633	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1634	// yields the best results since it enables automatic language detection. For
1635	// languages based on the Latin alphabet, setting `language_hints` is not
1636	// needed. In rare cases, when the language of the text in the image is known,
1637	// setting a hint will help get better results (although it will be a
1638	// significant hindrance if the hint is wrong). Text detection returns an
1639	// error if one or more of the specified languages is not one of the
1640	// [supported languages](https://cloud.google.com/vision/docs/languages).
1641	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1642	// Parameters for crop hints annotation request.
1643	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1644	// Parameters for web detection.
1645	WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1646	// Parameters for text detection and document text detection.
1647	TextDetectionParams *TextDetectionParams `protobuf:"bytes,12,opt,name=text_detection_params,json=textDetectionParams,proto3" json:"text_detection_params,omitempty"`
1648}
1649
1650func (x *ImageContext) Reset() {
1651	*x = ImageContext{}
1652	if protoimpl.UnsafeEnabled {
1653		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[17]
1654		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1655		ms.StoreMessageInfo(mi)
1656	}
1657}
1658
1659func (x *ImageContext) String() string {
1660	return protoimpl.X.MessageStringOf(x)
1661}
1662
1663func (*ImageContext) ProtoMessage() {}
1664
1665func (x *ImageContext) ProtoReflect() protoreflect.Message {
1666	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[17]
1667	if protoimpl.UnsafeEnabled && x != nil {
1668		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1669		if ms.LoadMessageInfo() == nil {
1670			ms.StoreMessageInfo(mi)
1671		}
1672		return ms
1673	}
1674	return mi.MessageOf(x)
1675}
1676
1677// Deprecated: Use ImageContext.ProtoReflect.Descriptor instead.
1678func (*ImageContext) Descriptor() ([]byte, []int) {
1679	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{17}
1680}
1681
1682func (x *ImageContext) GetLatLongRect() *LatLongRect {
1683	if x != nil {
1684		return x.LatLongRect
1685	}
1686	return nil
1687}
1688
1689func (x *ImageContext) GetLanguageHints() []string {
1690	if x != nil {
1691		return x.LanguageHints
1692	}
1693	return nil
1694}
1695
1696func (x *ImageContext) GetCropHintsParams() *CropHintsParams {
1697	if x != nil {
1698		return x.CropHintsParams
1699	}
1700	return nil
1701}
1702
1703func (x *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1704	if x != nil {
1705		return x.WebDetectionParams
1706	}
1707	return nil
1708}
1709
1710func (x *ImageContext) GetTextDetectionParams() *TextDetectionParams {
1711	if x != nil {
1712		return x.TextDetectionParams
1713	}
1714	return nil
1715}
1716
1717// Request for performing Google Cloud Vision API tasks over a user-provided
1718// image, with user-requested features.
1719type AnnotateImageRequest struct {
1720	state         protoimpl.MessageState
1721	sizeCache     protoimpl.SizeCache
1722	unknownFields protoimpl.UnknownFields
1723
1724	// The image to be processed.
1725	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1726	// Requested features.
1727	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1728	// Additional context that may accompany the image.
1729	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1730}
1731
1732func (x *AnnotateImageRequest) Reset() {
1733	*x = AnnotateImageRequest{}
1734	if protoimpl.UnsafeEnabled {
1735		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[18]
1736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1737		ms.StoreMessageInfo(mi)
1738	}
1739}
1740
1741func (x *AnnotateImageRequest) String() string {
1742	return protoimpl.X.MessageStringOf(x)
1743}
1744
1745func (*AnnotateImageRequest) ProtoMessage() {}
1746
1747func (x *AnnotateImageRequest) ProtoReflect() protoreflect.Message {
1748	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[18]
1749	if protoimpl.UnsafeEnabled && x != nil {
1750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1751		if ms.LoadMessageInfo() == nil {
1752			ms.StoreMessageInfo(mi)
1753		}
1754		return ms
1755	}
1756	return mi.MessageOf(x)
1757}
1758
1759// Deprecated: Use AnnotateImageRequest.ProtoReflect.Descriptor instead.
1760func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1761	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{18}
1762}
1763
1764func (x *AnnotateImageRequest) GetImage() *Image {
1765	if x != nil {
1766		return x.Image
1767	}
1768	return nil
1769}
1770
1771func (x *AnnotateImageRequest) GetFeatures() []*Feature {
1772	if x != nil {
1773		return x.Features
1774	}
1775	return nil
1776}
1777
1778func (x *AnnotateImageRequest) GetImageContext() *ImageContext {
1779	if x != nil {
1780		return x.ImageContext
1781	}
1782	return nil
1783}
1784
1785// Response to an image annotation request.
1786type AnnotateImageResponse struct {
1787	state         protoimpl.MessageState
1788	sizeCache     protoimpl.SizeCache
1789	unknownFields protoimpl.UnknownFields
1790
1791	// If present, face detection has completed successfully.
1792	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
1793	// If present, landmark detection has completed successfully.
1794	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
1795	// If present, logo detection has completed successfully.
1796	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
1797	// If present, label detection has completed successfully.
1798	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
1799	// If present, text (OCR) detection has completed successfully.
1800	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
1801	// If present, text (OCR) detection or document (OCR) text detection has
1802	// completed successfully.
1803	// This annotation provides the structural hierarchy for the OCR detected
1804	// text.
1805	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
1806	// If present, safe-search annotation has completed successfully.
1807	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
1808	// If present, image properties were extracted successfully.
1809	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
1810	// If present, crop hints have completed successfully.
1811	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
1812	// If present, web detection has completed successfully.
1813	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
1814	// If set, represents the error message for the operation.
1815	// Note that filled-in image annotations are guaranteed to be
1816	// correct, even when `error` is set.
1817	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
1818}
1819
1820func (x *AnnotateImageResponse) Reset() {
1821	*x = AnnotateImageResponse{}
1822	if protoimpl.UnsafeEnabled {
1823		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[19]
1824		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1825		ms.StoreMessageInfo(mi)
1826	}
1827}
1828
1829func (x *AnnotateImageResponse) String() string {
1830	return protoimpl.X.MessageStringOf(x)
1831}
1832
1833func (*AnnotateImageResponse) ProtoMessage() {}
1834
1835func (x *AnnotateImageResponse) ProtoReflect() protoreflect.Message {
1836	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[19]
1837	if protoimpl.UnsafeEnabled && x != nil {
1838		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1839		if ms.LoadMessageInfo() == nil {
1840			ms.StoreMessageInfo(mi)
1841		}
1842		return ms
1843	}
1844	return mi.MessageOf(x)
1845}
1846
1847// Deprecated: Use AnnotateImageResponse.ProtoReflect.Descriptor instead.
1848func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
1849	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{19}
1850}
1851
1852func (x *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
1853	if x != nil {
1854		return x.FaceAnnotations
1855	}
1856	return nil
1857}
1858
1859func (x *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
1860	if x != nil {
1861		return x.LandmarkAnnotations
1862	}
1863	return nil
1864}
1865
1866func (x *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
1867	if x != nil {
1868		return x.LogoAnnotations
1869	}
1870	return nil
1871}
1872
1873func (x *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
1874	if x != nil {
1875		return x.LabelAnnotations
1876	}
1877	return nil
1878}
1879
1880func (x *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
1881	if x != nil {
1882		return x.TextAnnotations
1883	}
1884	return nil
1885}
1886
1887func (x *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
1888	if x != nil {
1889		return x.FullTextAnnotation
1890	}
1891	return nil
1892}
1893
1894func (x *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
1895	if x != nil {
1896		return x.SafeSearchAnnotation
1897	}
1898	return nil
1899}
1900
1901func (x *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
1902	if x != nil {
1903		return x.ImagePropertiesAnnotation
1904	}
1905	return nil
1906}
1907
1908func (x *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
1909	if x != nil {
1910		return x.CropHintsAnnotation
1911	}
1912	return nil
1913}
1914
1915func (x *AnnotateImageResponse) GetWebDetection() *WebDetection {
1916	if x != nil {
1917		return x.WebDetection
1918	}
1919	return nil
1920}
1921
1922func (x *AnnotateImageResponse) GetError() *status.Status {
1923	if x != nil {
1924		return x.Error
1925	}
1926	return nil
1927}
1928
1929// Multiple image annotation requests are batched into a single service call.
1930type BatchAnnotateImagesRequest struct {
1931	state         protoimpl.MessageState
1932	sizeCache     protoimpl.SizeCache
1933	unknownFields protoimpl.UnknownFields
1934
1935	// Required. Individual image annotation requests for this batch.
1936	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
1937}
1938
1939func (x *BatchAnnotateImagesRequest) Reset() {
1940	*x = BatchAnnotateImagesRequest{}
1941	if protoimpl.UnsafeEnabled {
1942		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[20]
1943		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1944		ms.StoreMessageInfo(mi)
1945	}
1946}
1947
1948func (x *BatchAnnotateImagesRequest) String() string {
1949	return protoimpl.X.MessageStringOf(x)
1950}
1951
1952func (*BatchAnnotateImagesRequest) ProtoMessage() {}
1953
1954func (x *BatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
1955	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[20]
1956	if protoimpl.UnsafeEnabled && x != nil {
1957		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1958		if ms.LoadMessageInfo() == nil {
1959			ms.StoreMessageInfo(mi)
1960		}
1961		return ms
1962	}
1963	return mi.MessageOf(x)
1964}
1965
1966// Deprecated: Use BatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
1967func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
1968	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{20}
1969}
1970
1971func (x *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
1972	if x != nil {
1973		return x.Requests
1974	}
1975	return nil
1976}
1977
1978// Response to a batch image annotation request.
1979type BatchAnnotateImagesResponse struct {
1980	state         protoimpl.MessageState
1981	sizeCache     protoimpl.SizeCache
1982	unknownFields protoimpl.UnknownFields
1983
1984	// Individual responses to image annotation requests within the batch.
1985	Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
1986}
1987
1988func (x *BatchAnnotateImagesResponse) Reset() {
1989	*x = BatchAnnotateImagesResponse{}
1990	if protoimpl.UnsafeEnabled {
1991		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[21]
1992		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1993		ms.StoreMessageInfo(mi)
1994	}
1995}
1996
1997func (x *BatchAnnotateImagesResponse) String() string {
1998	return protoimpl.X.MessageStringOf(x)
1999}
2000
2001func (*BatchAnnotateImagesResponse) ProtoMessage() {}
2002
2003func (x *BatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2004	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[21]
2005	if protoimpl.UnsafeEnabled && x != nil {
2006		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2007		if ms.LoadMessageInfo() == nil {
2008			ms.StoreMessageInfo(mi)
2009		}
2010		return ms
2011	}
2012	return mi.MessageOf(x)
2013}
2014
2015// Deprecated: Use BatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2016func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2017	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{21}
2018}
2019
2020func (x *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
2021	if x != nil {
2022		return x.Responses
2023	}
2024	return nil
2025}
2026
2027// A face-specific landmark (for example, a face feature).
2028type FaceAnnotation_Landmark struct {
2029	state         protoimpl.MessageState
2030	sizeCache     protoimpl.SizeCache
2031	unknownFields protoimpl.UnknownFields
2032
2033	// Face landmark type.
2034	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
2035	// Face landmark position.
2036	Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
2037}
2038
2039func (x *FaceAnnotation_Landmark) Reset() {
2040	*x = FaceAnnotation_Landmark{}
2041	if protoimpl.UnsafeEnabled {
2042		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[22]
2043		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2044		ms.StoreMessageInfo(mi)
2045	}
2046}
2047
2048func (x *FaceAnnotation_Landmark) String() string {
2049	return protoimpl.X.MessageStringOf(x)
2050}
2051
2052func (*FaceAnnotation_Landmark) ProtoMessage() {}
2053
2054func (x *FaceAnnotation_Landmark) ProtoReflect() protoreflect.Message {
2055	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[22]
2056	if protoimpl.UnsafeEnabled && x != nil {
2057		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2058		if ms.LoadMessageInfo() == nil {
2059			ms.StoreMessageInfo(mi)
2060		}
2061		return ms
2062	}
2063	return mi.MessageOf(x)
2064}
2065
2066// Deprecated: Use FaceAnnotation_Landmark.ProtoReflect.Descriptor instead.
2067func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
2068	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0}
2069}
2070
2071func (x *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
2072	if x != nil {
2073		return x.Type
2074	}
2075	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
2076}
2077
2078func (x *FaceAnnotation_Landmark) GetPosition() *Position {
2079	if x != nil {
2080		return x.Position
2081	}
2082	return nil
2083}
2084
2085var File_google_cloud_vision_v1p1beta1_image_annotator_proto protoreflect.FileDescriptor
2086
2087var file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc = []byte{
2088	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
2089	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2090	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x2e,
2091	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2092	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2093	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
2094	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2095	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
2096	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
2097	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
2098	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f,
2099	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
2100	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d,
2101	0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67,
2102	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f,
2103	0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61,
2104	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2105	0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69,
2106	0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77,
2107	0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
2108	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73,
2109	0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
2110	0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70,
2111	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70,
2112	0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa,
2113	0x02, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79,
2114	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2115	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
2116	0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
2117	0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
2118	0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
2119	0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05,
2120	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64,
2121	0x65, 0x6c, 0x22, 0xf6, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54,
2122	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
2123	0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54,
2124	0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52,
2125	0x4b, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a,
2126	0x0e, 0x4c, 0x4f, 0x47, 0x4f, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
2127	0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43,
2128	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44,
2129	0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f,
2130	0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45,
2131	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x46, 0x45, 0x5f,
2132	0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e,
2133	0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50,
2134	0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x50,
2135	0x5f, 0x48, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x45, 0x42, 0x5f,
2136	0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x22, 0x4e, 0x0a, 0x0b, 0x49,
2137	0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x63,
2138	0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
2139	0x09, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1b,
2140	0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28,
2141	0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x22, 0x65, 0x0a, 0x05, 0x49,
2142	0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
2143	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x42,
2144	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
2145	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2146	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
2147	0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
2148	0x63, 0x65, 0x22, 0xa5, 0x10, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2149	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
2150	0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
2151	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2152	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75,
2153	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64,
2154	0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x64, 0x5f, 0x62, 0x6f,
2155	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
2156	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2157	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2158	0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0e,
2159	0x66, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x54,
2160	0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
2161	0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2162	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2163	0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2164	0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d,
2165	0x61, 0x72, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x67,
2166	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x6e,
2167	0x67, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x6e, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65,
2168	0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, 0x61, 0x6e, 0x41, 0x6e, 0x67, 0x6c, 0x65,
2169	0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x06,
2170	0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12,
2171	0x31, 0x0a, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
2172	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64,
2173	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
2174	0x63, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e,
2175	0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01,
2176	0x28, 0x02, 0x52, 0x15, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43,
2177	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0e, 0x6a, 0x6f, 0x79,
2178	0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
2179	0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2180	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2181	0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0d, 0x6a, 0x6f,
2182	0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x56, 0x0a, 0x11, 0x73,
2183	0x6f, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2184	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2185	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2186	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2187	0x64, 0x52, 0x10, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
2188	0x6f, 0x6f, 0x64, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6b,
2189	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
2190	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2191	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
2192	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0f, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c,
2193	0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x73, 0x75, 0x72,
2194	0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2195	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2196	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2197	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2198	0x64, 0x52, 0x12, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
2199	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x65,
2200	0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2201	0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2202	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2203	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
2204	0x6f, 0x64, 0x52, 0x16, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64,
2205	0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x58, 0x0a, 0x12, 0x62, 0x6c,
2206	0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2207	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2208	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2209	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2210	0x64, 0x52, 0x11, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
2211	0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65, 0x61, 0x72,
2212	0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
2213	0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2214	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2215	0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x12, 0x68, 0x65,
2216	0x61, 0x64, 0x77, 0x65, 0x61, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2217	0x1a, 0xd7, 0x07, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x4f, 0x0a,
2218	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f,
2219	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2220	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65,
2221	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d,
2222	0x61, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43,
2223	0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
2224	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2225	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
2226	0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
2227	0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10,
2228	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b,
2229	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x01,
2230	0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x02, 0x12,
2231	0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f,
2232	0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47,
2233	0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52,
2234	0x4f, 0x57, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f,
2235	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12,
2236	0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48,
2237	0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d,
2238	0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f,
2239	0x45, 0x59, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x54,
2240	0x49, 0x50, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4c, 0x49,
2241	0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50,
2242	0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x4c, 0x45, 0x46, 0x54,
2243	0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x52, 0x49, 0x47, 0x48,
2244	0x54, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x45, 0x4e,
2245	0x54, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f,
2246	0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10,
2247	0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x45, 0x46, 0x54,
2248	0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f,
2249	0x4d, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45,
2250	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44,
2251	0x41, 0x52, 0x59, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59,
2252	0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x12,
2253	0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54,
2254	0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x13, 0x12, 0x18,
2255	0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f,
2256	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48,
2257	0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41,
2258	0x52, 0x59, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59,
2259	0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x16,
2260	0x12, 0x1d, 0x0a, 0x19, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f,
2261	0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x17, 0x12,
2262	0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46,
2263	0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45,
2264	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52,
2265	0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x52,
2266	0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50,
2267	0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x1a, 0x12, 0x14, 0x0a,
2268	0x10, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f,
2269	0x4e, 0x10, 0x1b, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x41, 0x52,
2270	0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45,
2271	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1d, 0x12, 0x13,
2272	0x0a, 0x0f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49,
2273	0x4c, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x4f, 0x52, 0x45, 0x48, 0x45, 0x41, 0x44, 0x5f,
2274	0x47, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48,
2275	0x49, 0x4e, 0x5f, 0x47, 0x4e, 0x41, 0x54, 0x48, 0x49, 0x4f, 0x4e, 0x10, 0x20, 0x12, 0x14, 0x0a,
2276	0x10, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f,
2277	0x4e, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48,
2278	0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x22, 0x22, 0x3c, 0x0a, 0x0c, 0x4c, 0x6f,
2279	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61,
2280	0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f,
2281	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67,
2282	0x52, 0x06, 0x6c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70,
2283	0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2284	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
2285	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21,
2286	0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
2287	0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
2288	0x65, 0x22, 0x9a, 0x03, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f,
2289	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20,
2290	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61,
2291	0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65,
2292	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2293	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2294	0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
2295	0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
2296	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f,
2297	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69,
2298	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f,
2299	0x70, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
2300	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
2301	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2302	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2303	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f,
2304	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f,
2305	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2306	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2307	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f,
2308	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61,
2309	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
2310	0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2311	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
2312	0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
2313	0x74, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xe3,
2314	0x02, 0x0a, 0x14, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e,
2315	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74,
2316	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2317	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2318	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2319	0x64, 0x52, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x70, 0x6f, 0x6f,
2320	0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2321	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2322	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
2323	0x6f, 0x64, 0x52, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x64,
2324	0x69, 0x63, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
2325	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2326	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
2327	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x45,
2328	0x0a, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
2329	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2330	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
2331	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x08, 0x76, 0x69, 0x6f,
2332	0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20,
2333	0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2334	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65,
2335	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x04,
2336	0x72, 0x61, 0x63, 0x79, 0x22, 0x77, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52,
2337	0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c,
2338	0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2339	0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x09, 0x6d,
2340	0x69, 0x6e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f,
2341	0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
2342	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c,
2343	0x6e, 0x67, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x72, 0x0a,
2344	0x09, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x6f,
2345	0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2346	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63,
2347	0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
2348	0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69,
2349	0x78, 0x65, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2350	0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
2351	0x6e, 0x22, 0x5c, 0x0a, 0x18, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c,
2352	0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a,
2353	0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e,
2354	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2355	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f,
2356	0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22,
2357	0x73, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
2358	0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x63,
2359	0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f,
2360	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2361	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x69,
2362	0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
2363	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f,
2364	0x6c, 0x6f, 0x72, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e,
2365	0x74, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f,
2366	0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2367	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
2368	0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
2369	0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50,
2370	0x6f, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
2371	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
2372	0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63,
2373	0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
2374	0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x63,
2375	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74,
2376	0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x63,
2377	0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
2378	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2379	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2380	0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69,
2381	0x6e, 0x74, 0x73, 0x22, 0x36, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
2382	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74,
2383	0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x61,
2384	0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x57,
2385	0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
2386	0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f,
2387	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
2388	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
2389	0x73, 0x22, 0x69, 0x0a, 0x13, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
2390	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x65, 0x6e, 0x61, 0x62,
2391	0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
2392	0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f,
2393	0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
2394	0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
2395	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xae, 0x03, 0x0a,
2396	0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a,
2397	0x0d, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01,
2398	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2399	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2400	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74,
2401	0x52, 0x0b, 0x6c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a,
2402	0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18,
2403	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48,
2404	0x69, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e,
2405	0x74, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
2406	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2407	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2408	0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
2409	0x0f, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
2410	0x12, 0x63, 0x0a, 0x14, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
2411	0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31,
2412	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2413	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57,
2414	0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
2415	0x73, 0x52, 0x12, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
2416	0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65,
2417	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c,
2418	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2419	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2420	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
2421	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65,
2422	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe8, 0x01,
2423	0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
2424	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18,
2425	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2426	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31,
2427	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61,
2428	0x67, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02,
2429	0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2430	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2431	0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65,
2432	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
2433	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2434	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2435	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d,
2436	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67,
2437	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8b, 0x08, 0x0a, 0x15, 0x41, 0x6e, 0x6e,
2438	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2439	0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
2440	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
2441	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2442	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63,
2443	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x63,
2444	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x14,
2445	0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2446	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
2447	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2448	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
2449	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6c, 0x61, 0x6e,
2450	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2451	0x12, 0x5a, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2452	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
2453	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2454	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
2455	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x67,
2456	0x6f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x11,
2457	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2458	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2459	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2460	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e,
2461	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41,
2462	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x65,
2463	0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
2464	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2465	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2466	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2467	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2468	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x74,
2469	0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c,
2470	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2471	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2472	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2473	0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e,
2474	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x73, 0x61, 0x66, 0x65, 0x5f,
2475	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
2476	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2477	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2478	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72,
2479	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x61,
2480	0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
2481	0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x1b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70,
2482	0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
2483	0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2484	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2485	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f,
2486	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72,
2487	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
2488	0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x15, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73,
2489	0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28,
2490	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2491	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2492	0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2493	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
2494	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x77, 0x65,
2495	0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
2496	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2497	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2498	0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
2499	0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x05,
2500	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f,
2501	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
2502	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x72, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
2503	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71,
2504	0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
2505	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2506	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2507	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49,
2508	0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
2509	0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x71, 0x0a, 0x1b, 0x42, 0x61,
2510	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
2511	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73,
2512	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67,
2513	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2514	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e,
2515	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2516	0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x2a, 0x65, 0x0a,
2517	0x0a, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x55,
2518	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45, 0x52, 0x59,
2519	0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55,
2520	0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53,
2521	0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b, 0x45, 0x4c,
2522	0x59, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x4b, 0x45,
2523	0x4c, 0x59, 0x10, 0x05, 0x32, 0xc9, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e,
2524	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63,
2525	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12,
2526	0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2527	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2528	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
2529	0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f,
2530	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2531	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
2532	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65,
2533	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a,
2534	0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65,
2535	0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08,
2536	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x76, 0xca, 0x41, 0x15, 0x76, 0x69, 0x73,
2537	0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2538	0x6f, 0x6d, 0xd2, 0x41, 0x5b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
2539	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2540	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
2541	0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
2542	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
2543	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2544	0x42, 0x82, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2545	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2546	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e,
2547	0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67,
2548	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
2549	0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2550	0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
2551	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69,
2552	0x6f, 0x6e, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2553}
2554
2555var (
2556	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescOnce sync.Once
2557	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData = file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc
2558)
2559
2560func file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP() []byte {
2561	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescOnce.Do(func() {
2562		file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData)
2563	})
2564	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData
2565}
2566
2567var file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
2568var file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
2569var file_google_cloud_vision_v1p1beta1_image_annotator_proto_goTypes = []interface{}{
2570	(Likelihood)(0),                     // 0: google.cloud.vision.v1p1beta1.Likelihood
2571	(Feature_Type)(0),                   // 1: google.cloud.vision.v1p1beta1.Feature.Type
2572	(FaceAnnotation_Landmark_Type)(0),   // 2: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type
2573	(*Feature)(nil),                     // 3: google.cloud.vision.v1p1beta1.Feature
2574	(*ImageSource)(nil),                 // 4: google.cloud.vision.v1p1beta1.ImageSource
2575	(*Image)(nil),                       // 5: google.cloud.vision.v1p1beta1.Image
2576	(*FaceAnnotation)(nil),              // 6: google.cloud.vision.v1p1beta1.FaceAnnotation
2577	(*LocationInfo)(nil),                // 7: google.cloud.vision.v1p1beta1.LocationInfo
2578	(*Property)(nil),                    // 8: google.cloud.vision.v1p1beta1.Property
2579	(*EntityAnnotation)(nil),            // 9: google.cloud.vision.v1p1beta1.EntityAnnotation
2580	(*SafeSearchAnnotation)(nil),        // 10: google.cloud.vision.v1p1beta1.SafeSearchAnnotation
2581	(*LatLongRect)(nil),                 // 11: google.cloud.vision.v1p1beta1.LatLongRect
2582	(*ColorInfo)(nil),                   // 12: google.cloud.vision.v1p1beta1.ColorInfo
2583	(*DominantColorsAnnotation)(nil),    // 13: google.cloud.vision.v1p1beta1.DominantColorsAnnotation
2584	(*ImageProperties)(nil),             // 14: google.cloud.vision.v1p1beta1.ImageProperties
2585	(*CropHint)(nil),                    // 15: google.cloud.vision.v1p1beta1.CropHint
2586	(*CropHintsAnnotation)(nil),         // 16: google.cloud.vision.v1p1beta1.CropHintsAnnotation
2587	(*CropHintsParams)(nil),             // 17: google.cloud.vision.v1p1beta1.CropHintsParams
2588	(*WebDetectionParams)(nil),          // 18: google.cloud.vision.v1p1beta1.WebDetectionParams
2589	(*TextDetectionParams)(nil),         // 19: google.cloud.vision.v1p1beta1.TextDetectionParams
2590	(*ImageContext)(nil),                // 20: google.cloud.vision.v1p1beta1.ImageContext
2591	(*AnnotateImageRequest)(nil),        // 21: google.cloud.vision.v1p1beta1.AnnotateImageRequest
2592	(*AnnotateImageResponse)(nil),       // 22: google.cloud.vision.v1p1beta1.AnnotateImageResponse
2593	(*BatchAnnotateImagesRequest)(nil),  // 23: google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest
2594	(*BatchAnnotateImagesResponse)(nil), // 24: google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse
2595	(*FaceAnnotation_Landmark)(nil),     // 25: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark
2596	(*BoundingPoly)(nil),                // 26: google.cloud.vision.v1p1beta1.BoundingPoly
2597	(*latlng.LatLng)(nil),               // 27: google.type.LatLng
2598	(*color.Color)(nil),                 // 28: google.type.Color
2599	(*TextAnnotation)(nil),              // 29: google.cloud.vision.v1p1beta1.TextAnnotation
2600	(*WebDetection)(nil),                // 30: google.cloud.vision.v1p1beta1.WebDetection
2601	(*status.Status)(nil),               // 31: google.rpc.Status
2602	(*Position)(nil),                    // 32: google.cloud.vision.v1p1beta1.Position
2603}
2604var file_google_cloud_vision_v1p1beta1_image_annotator_proto_depIdxs = []int32{
2605	1,  // 0: google.cloud.vision.v1p1beta1.Feature.type:type_name -> google.cloud.vision.v1p1beta1.Feature.Type
2606	4,  // 1: google.cloud.vision.v1p1beta1.Image.source:type_name -> google.cloud.vision.v1p1beta1.ImageSource
2607	26, // 2: google.cloud.vision.v1p1beta1.FaceAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2608	26, // 3: google.cloud.vision.v1p1beta1.FaceAnnotation.fd_bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2609	25, // 4: google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks:type_name -> google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark
2610	0,  // 5: google.cloud.vision.v1p1beta1.FaceAnnotation.joy_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2611	0,  // 6: google.cloud.vision.v1p1beta1.FaceAnnotation.sorrow_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2612	0,  // 7: google.cloud.vision.v1p1beta1.FaceAnnotation.anger_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2613	0,  // 8: google.cloud.vision.v1p1beta1.FaceAnnotation.surprise_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2614	0,  // 9: google.cloud.vision.v1p1beta1.FaceAnnotation.under_exposed_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2615	0,  // 10: google.cloud.vision.v1p1beta1.FaceAnnotation.blurred_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2616	0,  // 11: google.cloud.vision.v1p1beta1.FaceAnnotation.headwear_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2617	27, // 12: google.cloud.vision.v1p1beta1.LocationInfo.lat_lng:type_name -> google.type.LatLng
2618	26, // 13: google.cloud.vision.v1p1beta1.EntityAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2619	7,  // 14: google.cloud.vision.v1p1beta1.EntityAnnotation.locations:type_name -> google.cloud.vision.v1p1beta1.LocationInfo
2620	8,  // 15: google.cloud.vision.v1p1beta1.EntityAnnotation.properties:type_name -> google.cloud.vision.v1p1beta1.Property
2621	0,  // 16: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.adult:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2622	0,  // 17: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.spoof:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2623	0,  // 18: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.medical:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2624	0,  // 19: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.violence:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2625	0,  // 20: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.racy:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2626	27, // 21: google.cloud.vision.v1p1beta1.LatLongRect.min_lat_lng:type_name -> google.type.LatLng
2627	27, // 22: google.cloud.vision.v1p1beta1.LatLongRect.max_lat_lng:type_name -> google.type.LatLng
2628	28, // 23: google.cloud.vision.v1p1beta1.ColorInfo.color:type_name -> google.type.Color
2629	12, // 24: google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors:type_name -> google.cloud.vision.v1p1beta1.ColorInfo
2630	13, // 25: google.cloud.vision.v1p1beta1.ImageProperties.dominant_colors:type_name -> google.cloud.vision.v1p1beta1.DominantColorsAnnotation
2631	26, // 26: google.cloud.vision.v1p1beta1.CropHint.bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2632	15, // 27: google.cloud.vision.v1p1beta1.CropHintsAnnotation.crop_hints:type_name -> google.cloud.vision.v1p1beta1.CropHint
2633	11, // 28: google.cloud.vision.v1p1beta1.ImageContext.lat_long_rect:type_name -> google.cloud.vision.v1p1beta1.LatLongRect
2634	17, // 29: google.cloud.vision.v1p1beta1.ImageContext.crop_hints_params:type_name -> google.cloud.vision.v1p1beta1.CropHintsParams
2635	18, // 30: google.cloud.vision.v1p1beta1.ImageContext.web_detection_params:type_name -> google.cloud.vision.v1p1beta1.WebDetectionParams
2636	19, // 31: google.cloud.vision.v1p1beta1.ImageContext.text_detection_params:type_name -> google.cloud.vision.v1p1beta1.TextDetectionParams
2637	5,  // 32: google.cloud.vision.v1p1beta1.AnnotateImageRequest.image:type_name -> google.cloud.vision.v1p1beta1.Image
2638	3,  // 33: google.cloud.vision.v1p1beta1.AnnotateImageRequest.features:type_name -> google.cloud.vision.v1p1beta1.Feature
2639	20, // 34: google.cloud.vision.v1p1beta1.AnnotateImageRequest.image_context:type_name -> google.cloud.vision.v1p1beta1.ImageContext
2640	6,  // 35: google.cloud.vision.v1p1beta1.AnnotateImageResponse.face_annotations:type_name -> google.cloud.vision.v1p1beta1.FaceAnnotation
2641	9,  // 36: google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmark_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2642	9,  // 37: google.cloud.vision.v1p1beta1.AnnotateImageResponse.logo_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2643	9,  // 38: google.cloud.vision.v1p1beta1.AnnotateImageResponse.label_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2644	9,  // 39: google.cloud.vision.v1p1beta1.AnnotateImageResponse.text_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2645	29, // 40: google.cloud.vision.v1p1beta1.AnnotateImageResponse.full_text_annotation:type_name -> google.cloud.vision.v1p1beta1.TextAnnotation
2646	10, // 41: google.cloud.vision.v1p1beta1.AnnotateImageResponse.safe_search_annotation:type_name -> google.cloud.vision.v1p1beta1.SafeSearchAnnotation
2647	14, // 42: google.cloud.vision.v1p1beta1.AnnotateImageResponse.image_properties_annotation:type_name -> google.cloud.vision.v1p1beta1.ImageProperties
2648	16, // 43: google.cloud.vision.v1p1beta1.AnnotateImageResponse.crop_hints_annotation:type_name -> google.cloud.vision.v1p1beta1.CropHintsAnnotation
2649	30, // 44: google.cloud.vision.v1p1beta1.AnnotateImageResponse.web_detection:type_name -> google.cloud.vision.v1p1beta1.WebDetection
2650	31, // 45: google.cloud.vision.v1p1beta1.AnnotateImageResponse.error:type_name -> google.rpc.Status
2651	21, // 46: google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p1beta1.AnnotateImageRequest
2652	22, // 47: google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses:type_name -> google.cloud.vision.v1p1beta1.AnnotateImageResponse
2653	2,  // 48: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.type:type_name -> google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type
2654	32, // 49: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.position:type_name -> google.cloud.vision.v1p1beta1.Position
2655	23, // 50: google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages:input_type -> google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest
2656	24, // 51: google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages:output_type -> google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse
2657	51, // [51:52] is the sub-list for method output_type
2658	50, // [50:51] is the sub-list for method input_type
2659	50, // [50:50] is the sub-list for extension type_name
2660	50, // [50:50] is the sub-list for extension extendee
2661	0,  // [0:50] is the sub-list for field type_name
2662}
2663
2664func init() { file_google_cloud_vision_v1p1beta1_image_annotator_proto_init() }
2665func file_google_cloud_vision_v1p1beta1_image_annotator_proto_init() {
2666	if File_google_cloud_vision_v1p1beta1_image_annotator_proto != nil {
2667		return
2668	}
2669	file_google_cloud_vision_v1p1beta1_geometry_proto_init()
2670	file_google_cloud_vision_v1p1beta1_text_annotation_proto_init()
2671	file_google_cloud_vision_v1p1beta1_web_detection_proto_init()
2672	if !protoimpl.UnsafeEnabled {
2673		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2674			switch v := v.(*Feature); i {
2675			case 0:
2676				return &v.state
2677			case 1:
2678				return &v.sizeCache
2679			case 2:
2680				return &v.unknownFields
2681			default:
2682				return nil
2683			}
2684		}
2685		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2686			switch v := v.(*ImageSource); i {
2687			case 0:
2688				return &v.state
2689			case 1:
2690				return &v.sizeCache
2691			case 2:
2692				return &v.unknownFields
2693			default:
2694				return nil
2695			}
2696		}
2697		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2698			switch v := v.(*Image); i {
2699			case 0:
2700				return &v.state
2701			case 1:
2702				return &v.sizeCache
2703			case 2:
2704				return &v.unknownFields
2705			default:
2706				return nil
2707			}
2708		}
2709		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2710			switch v := v.(*FaceAnnotation); i {
2711			case 0:
2712				return &v.state
2713			case 1:
2714				return &v.sizeCache
2715			case 2:
2716				return &v.unknownFields
2717			default:
2718				return nil
2719			}
2720		}
2721		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2722			switch v := v.(*LocationInfo); i {
2723			case 0:
2724				return &v.state
2725			case 1:
2726				return &v.sizeCache
2727			case 2:
2728				return &v.unknownFields
2729			default:
2730				return nil
2731			}
2732		}
2733		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2734			switch v := v.(*Property); i {
2735			case 0:
2736				return &v.state
2737			case 1:
2738				return &v.sizeCache
2739			case 2:
2740				return &v.unknownFields
2741			default:
2742				return nil
2743			}
2744		}
2745		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2746			switch v := v.(*EntityAnnotation); i {
2747			case 0:
2748				return &v.state
2749			case 1:
2750				return &v.sizeCache
2751			case 2:
2752				return &v.unknownFields
2753			default:
2754				return nil
2755			}
2756		}
2757		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2758			switch v := v.(*SafeSearchAnnotation); i {
2759			case 0:
2760				return &v.state
2761			case 1:
2762				return &v.sizeCache
2763			case 2:
2764				return &v.unknownFields
2765			default:
2766				return nil
2767			}
2768		}
2769		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2770			switch v := v.(*LatLongRect); i {
2771			case 0:
2772				return &v.state
2773			case 1:
2774				return &v.sizeCache
2775			case 2:
2776				return &v.unknownFields
2777			default:
2778				return nil
2779			}
2780		}
2781		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2782			switch v := v.(*ColorInfo); i {
2783			case 0:
2784				return &v.state
2785			case 1:
2786				return &v.sizeCache
2787			case 2:
2788				return &v.unknownFields
2789			default:
2790				return nil
2791			}
2792		}
2793		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2794			switch v := v.(*DominantColorsAnnotation); i {
2795			case 0:
2796				return &v.state
2797			case 1:
2798				return &v.sizeCache
2799			case 2:
2800				return &v.unknownFields
2801			default:
2802				return nil
2803			}
2804		}
2805		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2806			switch v := v.(*ImageProperties); i {
2807			case 0:
2808				return &v.state
2809			case 1:
2810				return &v.sizeCache
2811			case 2:
2812				return &v.unknownFields
2813			default:
2814				return nil
2815			}
2816		}
2817		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2818			switch v := v.(*CropHint); i {
2819			case 0:
2820				return &v.state
2821			case 1:
2822				return &v.sizeCache
2823			case 2:
2824				return &v.unknownFields
2825			default:
2826				return nil
2827			}
2828		}
2829		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2830			switch v := v.(*CropHintsAnnotation); i {
2831			case 0:
2832				return &v.state
2833			case 1:
2834				return &v.sizeCache
2835			case 2:
2836				return &v.unknownFields
2837			default:
2838				return nil
2839			}
2840		}
2841		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2842			switch v := v.(*CropHintsParams); i {
2843			case 0:
2844				return &v.state
2845			case 1:
2846				return &v.sizeCache
2847			case 2:
2848				return &v.unknownFields
2849			default:
2850				return nil
2851			}
2852		}
2853		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2854			switch v := v.(*WebDetectionParams); i {
2855			case 0:
2856				return &v.state
2857			case 1:
2858				return &v.sizeCache
2859			case 2:
2860				return &v.unknownFields
2861			default:
2862				return nil
2863			}
2864		}
2865		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2866			switch v := v.(*TextDetectionParams); i {
2867			case 0:
2868				return &v.state
2869			case 1:
2870				return &v.sizeCache
2871			case 2:
2872				return &v.unknownFields
2873			default:
2874				return nil
2875			}
2876		}
2877		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2878			switch v := v.(*ImageContext); i {
2879			case 0:
2880				return &v.state
2881			case 1:
2882				return &v.sizeCache
2883			case 2:
2884				return &v.unknownFields
2885			default:
2886				return nil
2887			}
2888		}
2889		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2890			switch v := v.(*AnnotateImageRequest); i {
2891			case 0:
2892				return &v.state
2893			case 1:
2894				return &v.sizeCache
2895			case 2:
2896				return &v.unknownFields
2897			default:
2898				return nil
2899			}
2900		}
2901		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2902			switch v := v.(*AnnotateImageResponse); i {
2903			case 0:
2904				return &v.state
2905			case 1:
2906				return &v.sizeCache
2907			case 2:
2908				return &v.unknownFields
2909			default:
2910				return nil
2911			}
2912		}
2913		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2914			switch v := v.(*BatchAnnotateImagesRequest); i {
2915			case 0:
2916				return &v.state
2917			case 1:
2918				return &v.sizeCache
2919			case 2:
2920				return &v.unknownFields
2921			default:
2922				return nil
2923			}
2924		}
2925		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2926			switch v := v.(*BatchAnnotateImagesResponse); i {
2927			case 0:
2928				return &v.state
2929			case 1:
2930				return &v.sizeCache
2931			case 2:
2932				return &v.unknownFields
2933			default:
2934				return nil
2935			}
2936		}
2937		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
2938			switch v := v.(*FaceAnnotation_Landmark); i {
2939			case 0:
2940				return &v.state
2941			case 1:
2942				return &v.sizeCache
2943			case 2:
2944				return &v.unknownFields
2945			default:
2946				return nil
2947			}
2948		}
2949	}
2950	type x struct{}
2951	out := protoimpl.TypeBuilder{
2952		File: protoimpl.DescBuilder{
2953			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2954			RawDescriptor: file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc,
2955			NumEnums:      3,
2956			NumMessages:   23,
2957			NumExtensions: 0,
2958			NumServices:   1,
2959		},
2960		GoTypes:           file_google_cloud_vision_v1p1beta1_image_annotator_proto_goTypes,
2961		DependencyIndexes: file_google_cloud_vision_v1p1beta1_image_annotator_proto_depIdxs,
2962		EnumInfos:         file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes,
2963		MessageInfos:      file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes,
2964	}.Build()
2965	File_google_cloud_vision_v1p1beta1_image_annotator_proto = out.File
2966	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc = nil
2967	file_google_cloud_vision_v1p1beta1_image_annotator_proto_goTypes = nil
2968	file_google_cloud_vision_v1p1beta1_image_annotator_proto_depIdxs = nil
2969}
2970
2971// Reference imports to suppress errors if they are not otherwise used.
2972var _ context.Context
2973var _ grpc.ClientConnInterface
2974
2975// This is a compile-time assertion to ensure that this generated file
2976// is compatible with the grpc package it is being compiled against.
2977const _ = grpc.SupportPackageIsVersion6
2978
2979// ImageAnnotatorClient is the client API for ImageAnnotator service.
2980//
2981// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2982type ImageAnnotatorClient interface {
2983	// Run image detection and annotation for a batch of images.
2984	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
2985}
2986
2987type imageAnnotatorClient struct {
2988	cc grpc.ClientConnInterface
2989}
2990
2991func NewImageAnnotatorClient(cc grpc.ClientConnInterface) ImageAnnotatorClient {
2992	return &imageAnnotatorClient{cc}
2993}
2994
2995func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
2996	out := new(BatchAnnotateImagesResponse)
2997	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
2998	if err != nil {
2999		return nil, err
3000	}
3001	return out, nil
3002}
3003
3004// ImageAnnotatorServer is the server API for ImageAnnotator service.
3005type ImageAnnotatorServer interface {
3006	// Run image detection and annotation for a batch of images.
3007	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
3008}
3009
3010// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
3011type UnimplementedImageAnnotatorServer struct {
3012}
3013
3014func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
3015	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
3016}
3017
3018func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
3019	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
3020}
3021
3022func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3023	in := new(BatchAnnotateImagesRequest)
3024	if err := dec(in); err != nil {
3025		return nil, err
3026	}
3027	if interceptor == nil {
3028		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
3029	}
3030	info := &grpc.UnaryServerInfo{
3031		Server:     srv,
3032		FullMethod: "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages",
3033	}
3034	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3035		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
3036	}
3037	return interceptor(ctx, in, info, handler)
3038}
3039
3040var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
3041	ServiceName: "google.cloud.vision.v1p1beta1.ImageAnnotator",
3042	HandlerType: (*ImageAnnotatorServer)(nil),
3043	Methods: []grpc.MethodDesc{
3044		{
3045			MethodName: "BatchAnnotateImages",
3046			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
3047		},
3048	},
3049	Streams:  []grpc.StreamDesc{},
3050	Metadata: "google/cloud/vision/v1p1beta1/image_annotator.proto",
3051}
3052