1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/cloud/vision/v1/image_annotator.proto
6 import proto "github.com/golang/protobuf/proto"
9 import _ "google.golang.org/genproto/googleapis/api/annotations"
10 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
11 import google_type "google.golang.org/genproto/googleapis/type/color"
12 import google_type1 "google.golang.org/genproto/googleapis/type/latlng"
15 context "golang.org/x/net/context"
16 grpc "google.golang.org/grpc"
19 // Reference imports to suppress errors if they are not otherwise used.
24 // A bucketized representation of likelihood, which is intended to give clients
25 // highly stable results across model upgrades.
29 // Unknown likelihood.
30 Likelihood_UNKNOWN Likelihood = 0
31 // It is very unlikely that the image belongs to the specified vertical.
32 Likelihood_VERY_UNLIKELY Likelihood = 1
33 // It is unlikely that the image belongs to the specified vertical.
34 Likelihood_UNLIKELY Likelihood = 2
35 // It is possible that the image belongs to the specified vertical.
36 Likelihood_POSSIBLE Likelihood = 3
37 // It is likely that the image belongs to the specified vertical.
38 Likelihood_LIKELY Likelihood = 4
39 // It is very likely that the image belongs to the specified vertical.
40 Likelihood_VERY_LIKELY Likelihood = 5
43 var Likelihood_name = map[int32]string{
51 var Likelihood_value = map[string]int32{
60 func (x Likelihood) String() string {
61 return proto.EnumName(Likelihood_name, int32(x))
63 func (Likelihood) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
65 // Type of image feature.
66 type Feature_Type int32
69 // Unspecified feature type.
70 Feature_TYPE_UNSPECIFIED Feature_Type = 0
71 // Run face detection.
72 Feature_FACE_DETECTION Feature_Type = 1
73 // Run landmark detection.
74 Feature_LANDMARK_DETECTION Feature_Type = 2
75 // Run logo detection.
76 Feature_LOGO_DETECTION Feature_Type = 3
77 // Run label detection.
78 Feature_LABEL_DETECTION Feature_Type = 4
80 Feature_TEXT_DETECTION Feature_Type = 5
81 // Run dense text document OCR. Takes precedence when both
82 // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
83 Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
84 // Run computer vision models to compute image safe-search properties.
85 Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
86 // Compute a set of image properties, such as the image's dominant colors.
87 Feature_IMAGE_PROPERTIES Feature_Type = 7
89 Feature_CROP_HINTS Feature_Type = 9
91 Feature_WEB_DETECTION Feature_Type = 10
94 var Feature_Type_name = map[int32]string{
95 0: "TYPE_UNSPECIFIED",
97 2: "LANDMARK_DETECTION",
101 11: "DOCUMENT_TEXT_DETECTION",
102 6: "SAFE_SEARCH_DETECTION",
103 7: "IMAGE_PROPERTIES",
107 var Feature_Type_value = map[string]int32{
108 "TYPE_UNSPECIFIED": 0,
110 "LANDMARK_DETECTION": 2,
112 "LABEL_DETECTION": 4,
114 "DOCUMENT_TEXT_DETECTION": 11,
115 "SAFE_SEARCH_DETECTION": 6,
116 "IMAGE_PROPERTIES": 7,
121 func (x Feature_Type) String() string {
122 return proto.EnumName(Feature_Type_name, int32(x))
124 func (Feature_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
126 // Face landmark (feature) type.
127 // Left and right are defined from the vantage of the viewer of the image
128 // without considering mirror projections typical of photos. So, `LEFT_EYE`,
129 // typically, is the person's right eye.
130 type FaceAnnotation_Landmark_Type int32
133 // Unknown face landmark detected. Should not be filled.
134 FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
136 FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
138 FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
139 // Left of left eyebrow.
140 FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
141 // Right of left eyebrow.
142 FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
143 // Left of right eyebrow.
144 FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
145 // Right of right eyebrow.
146 FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
147 // Midpoint between eyes.
148 FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
150 FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
152 FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
154 FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
156 FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
158 FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
160 FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
161 // Nose, bottom right.
162 FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
163 // Nose, bottom left.
164 FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
165 // Nose, bottom center.
166 FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
167 // Left eye, top boundary.
168 FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
169 // Left eye, right corner.
170 FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
171 // Left eye, bottom boundary.
172 FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
173 // Left eye, left corner.
174 FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
175 // Right eye, top boundary.
176 FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
177 // Right eye, right corner.
178 FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
179 // Right eye, bottom boundary.
180 FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
181 // Right eye, left corner.
182 FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
183 // Left eyebrow, upper midpoint.
184 FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
185 // Right eyebrow, upper midpoint.
186 FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
188 FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
189 // Right ear tragion.
190 FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
192 FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
194 FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
195 // Forehead glabella.
196 FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
198 FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
200 FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
201 // Chin right gonion.
202 FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
205 var FaceAnnotation_Landmark_Type_name = map[int32]string{
206 0: "UNKNOWN_LANDMARK",
209 3: "LEFT_OF_LEFT_EYEBROW",
210 4: "RIGHT_OF_LEFT_EYEBROW",
211 5: "LEFT_OF_RIGHT_EYEBROW",
212 6: "RIGHT_OF_RIGHT_EYEBROW",
213 7: "MIDPOINT_BETWEEN_EYES",
220 14: "NOSE_BOTTOM_RIGHT",
221 15: "NOSE_BOTTOM_LEFT",
222 16: "NOSE_BOTTOM_CENTER",
223 17: "LEFT_EYE_TOP_BOUNDARY",
224 18: "LEFT_EYE_RIGHT_CORNER",
225 19: "LEFT_EYE_BOTTOM_BOUNDARY",
226 20: "LEFT_EYE_LEFT_CORNER",
227 21: "RIGHT_EYE_TOP_BOUNDARY",
228 22: "RIGHT_EYE_RIGHT_CORNER",
229 23: "RIGHT_EYE_BOTTOM_BOUNDARY",
230 24: "RIGHT_EYE_LEFT_CORNER",
231 25: "LEFT_EYEBROW_UPPER_MIDPOINT",
232 26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
233 27: "LEFT_EAR_TRAGION",
234 28: "RIGHT_EAR_TRAGION",
235 29: "LEFT_EYE_PUPIL",
236 30: "RIGHT_EYE_PUPIL",
237 31: "FOREHEAD_GLABELLA",
239 33: "CHIN_LEFT_GONION",
240 34: "CHIN_RIGHT_GONION",
242 var FaceAnnotation_Landmark_Type_value = map[string]int32{
243 "UNKNOWN_LANDMARK": 0,
246 "LEFT_OF_LEFT_EYEBROW": 3,
247 "RIGHT_OF_LEFT_EYEBROW": 4,
248 "LEFT_OF_RIGHT_EYEBROW": 5,
249 "RIGHT_OF_RIGHT_EYEBROW": 6,
250 "MIDPOINT_BETWEEN_EYES": 7,
257 "NOSE_BOTTOM_RIGHT": 14,
258 "NOSE_BOTTOM_LEFT": 15,
259 "NOSE_BOTTOM_CENTER": 16,
260 "LEFT_EYE_TOP_BOUNDARY": 17,
261 "LEFT_EYE_RIGHT_CORNER": 18,
262 "LEFT_EYE_BOTTOM_BOUNDARY": 19,
263 "LEFT_EYE_LEFT_CORNER": 20,
264 "RIGHT_EYE_TOP_BOUNDARY": 21,
265 "RIGHT_EYE_RIGHT_CORNER": 22,
266 "RIGHT_EYE_BOTTOM_BOUNDARY": 23,
267 "RIGHT_EYE_LEFT_CORNER": 24,
268 "LEFT_EYEBROW_UPPER_MIDPOINT": 25,
269 "RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
270 "LEFT_EAR_TRAGION": 27,
271 "RIGHT_EAR_TRAGION": 28,
272 "LEFT_EYE_PUPIL": 29,
273 "RIGHT_EYE_PUPIL": 30,
274 "FOREHEAD_GLABELLA": 31,
276 "CHIN_LEFT_GONION": 33,
277 "CHIN_RIGHT_GONION": 34,
280 func (x FaceAnnotation_Landmark_Type) String() string {
281 return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x))
283 func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
284 return fileDescriptor1, []int{3, 0, 0}
287 // Users describe the type of Google Cloud Vision API tasks to perform over
288 // images by using *Feature*s. Each Feature indicates a type of image
289 // detection task to perform. Features encode the Cloud Vision API
290 // vertical to operate on and the number of top-scoring results to return.
291 type Feature struct {
293 Type Feature_Type `protobuf:"varint,1,opt,name=type,enum=google.cloud.vision.v1.Feature_Type" json:"type,omitempty"`
294 // Maximum number of results of this type.
295 MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults" json:"max_results,omitempty"`
298 func (m *Feature) Reset() { *m = Feature{} }
299 func (m *Feature) String() string { return proto.CompactTextString(m) }
300 func (*Feature) ProtoMessage() {}
301 func (*Feature) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
303 func (m *Feature) GetType() Feature_Type {
307 return Feature_TYPE_UNSPECIFIED
310 func (m *Feature) GetMaxResults() int32 {
317 // External image source (Google Cloud Storage image location).
318 type ImageSource struct {
319 // NOTE: For new code `image_uri` below is preferred.
320 // Google Cloud Storage image URI, which must be in the following form:
321 // `gs://bucket_name/object_name` (for details, see
322 // [Google Cloud Storage Request
323 // URIs](https://cloud.google.com/storage/docs/reference-uris)).
324 // NOTE: Cloud Storage object versioning is not supported.
325 GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri" json:"gcs_image_uri,omitempty"`
326 // Image URI which supports:
327 // 1) Google Cloud Storage image URI, which must be in the following form:
328 // `gs://bucket_name/object_name` (for details, see
329 // [Google Cloud Storage Request
330 // URIs](https://cloud.google.com/storage/docs/reference-uris)).
331 // NOTE: Cloud Storage object versioning is not supported.
332 // 2) Publicly accessible image HTTP/HTTPS URL.
333 // This is preferred over the legacy `gcs_image_uri` above. When both
334 // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
336 ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri" json:"image_uri,omitempty"`
339 func (m *ImageSource) Reset() { *m = ImageSource{} }
340 func (m *ImageSource) String() string { return proto.CompactTextString(m) }
341 func (*ImageSource) ProtoMessage() {}
342 func (*ImageSource) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
344 func (m *ImageSource) GetGcsImageUri() string {
351 func (m *ImageSource) GetImageUri() string {
358 // Client image to perform Google Cloud Vision API tasks over.
360 // Image content, represented as a stream of bytes.
361 // Note: as with all `bytes` fields, protobuffers use a pure binary
362 // representation, whereas JSON representations use base64.
363 Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
364 // Google Cloud Storage image location. If both `content` and `source`
365 // are provided for an image, `content` takes precedence and is
366 // used to perform the image annotation request.
367 Source *ImageSource `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"`
370 func (m *Image) Reset() { *m = Image{} }
371 func (m *Image) String() string { return proto.CompactTextString(m) }
372 func (*Image) ProtoMessage() {}
373 func (*Image) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
375 func (m *Image) GetContent() []byte {
382 func (m *Image) GetSource() *ImageSource {
389 // A face annotation object contains the results of face detection.
390 type FaceAnnotation struct {
391 // The bounding polygon around the face. The coordinates of the bounding box
392 // are in the original image's scale, as returned in `ImageParams`.
393 // The bounding box is computed to "frame" the face in accordance with human
394 // expectations. It is based on the landmarker results.
395 // Note that one or more x and/or y coordinates may not be generated in the
396 // `BoundingPoly` (the polygon will be unbounded) if only a partial face
397 // appears in the image to be annotated.
398 BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"`
399 // The `fd_bounding_poly` bounding polygon is tighter than the
400 // `boundingPoly`, and encloses only the skin part of the face. Typically, it
401 // is used to eliminate the face from any image analysis that detects the
402 // "amount of skin" visible in an image. It is not based on the
403 // landmarker results, only on the initial face detection, hence
404 // the <code>fd</code> (face detection) prefix.
405 FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly" json:"fd_bounding_poly,omitempty"`
406 // Detected face landmarks.
407 Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks" json:"landmarks,omitempty"`
408 // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
409 // of the face relative to the image vertical about the axis perpendicular to
410 // the face. Range [-180,180].
411 RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle" json:"roll_angle,omitempty"`
412 // Yaw angle, which indicates the leftward/rightward angle that the face is
413 // pointing relative to the vertical plane perpendicular to the image. Range
415 PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle" json:"pan_angle,omitempty"`
416 // Pitch angle, which indicates the upwards/downwards angle that the face is
417 // pointing relative to the image's horizontal plane. Range [-180,180].
418 TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle" json:"tilt_angle,omitempty"`
419 // Detection confidence. Range [0, 1].
420 DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence" json:"detection_confidence,omitempty"`
421 // Face landmarking confidence. Range [0, 1].
422 LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence" json:"landmarking_confidence,omitempty"`
424 JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"joy_likelihood,omitempty"`
425 // Sorrow likelihood.
426 SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"sorrow_likelihood,omitempty"`
428 AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"anger_likelihood,omitempty"`
429 // Surprise likelihood.
430 SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"surprise_likelihood,omitempty"`
431 // Under-exposed likelihood.
432 UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"under_exposed_likelihood,omitempty"`
433 // Blurred likelihood.
434 BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"blurred_likelihood,omitempty"`
435 // Headwear likelihood.
436 HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"headwear_likelihood,omitempty"`
439 func (m *FaceAnnotation) Reset() { *m = FaceAnnotation{} }
440 func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
441 func (*FaceAnnotation) ProtoMessage() {}
442 func (*FaceAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
444 func (m *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
446 return m.BoundingPoly
451 func (m *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
453 return m.FdBoundingPoly
458 func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
465 func (m *FaceAnnotation) GetRollAngle() float32 {
472 func (m *FaceAnnotation) GetPanAngle() float32 {
479 func (m *FaceAnnotation) GetTiltAngle() float32 {
486 func (m *FaceAnnotation) GetDetectionConfidence() float32 {
488 return m.DetectionConfidence
493 func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
495 return m.LandmarkingConfidence
500 func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
502 return m.JoyLikelihood
504 return Likelihood_UNKNOWN
507 func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
509 return m.SorrowLikelihood
511 return Likelihood_UNKNOWN
514 func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
516 return m.AngerLikelihood
518 return Likelihood_UNKNOWN
521 func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
523 return m.SurpriseLikelihood
525 return Likelihood_UNKNOWN
528 func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
530 return m.UnderExposedLikelihood
532 return Likelihood_UNKNOWN
535 func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
537 return m.BlurredLikelihood
539 return Likelihood_UNKNOWN
542 func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
544 return m.HeadwearLikelihood
546 return Likelihood_UNKNOWN
549 // A face-specific landmark (for example, a face feature).
550 // Landmark positions may fall outside the bounds of the image
551 // if the face is near one or more edges of the image.
552 // Therefore it is NOT guaranteed that `0 <= x < width` or
553 // `0 <= y < height`.
554 type FaceAnnotation_Landmark struct {
555 // Face landmark type.
556 Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,enum=google.cloud.vision.v1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
557 // Face landmark position.
558 Position *Position `protobuf:"bytes,4,opt,name=position" json:"position,omitempty"`
561 func (m *FaceAnnotation_Landmark) Reset() { *m = FaceAnnotation_Landmark{} }
562 func (m *FaceAnnotation_Landmark) String() string { return proto.CompactTextString(m) }
563 func (*FaceAnnotation_Landmark) ProtoMessage() {}
564 func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
566 func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
570 return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
573 func (m *FaceAnnotation_Landmark) GetPosition() *Position {
580 // Detected entity location information.
581 type LocationInfo struct {
582 // lat/long location coordinates.
583 LatLng *google_type1.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng" json:"lat_lng,omitempty"`
586 func (m *LocationInfo) Reset() { *m = LocationInfo{} }
587 func (m *LocationInfo) String() string { return proto.CompactTextString(m) }
588 func (*LocationInfo) ProtoMessage() {}
589 func (*LocationInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
591 func (m *LocationInfo) GetLatLng() *google_type1.LatLng {
598 // A `Property` consists of a user-supplied name/value pair.
599 type Property struct {
600 // Name of the property.
601 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
602 // Value of the property.
603 Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
606 func (m *Property) Reset() { *m = Property{} }
607 func (m *Property) String() string { return proto.CompactTextString(m) }
608 func (*Property) ProtoMessage() {}
609 func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
611 func (m *Property) GetName() string {
618 func (m *Property) GetValue() string {
625 // Set of detected entity features.
626 type EntityAnnotation struct {
627 // Opaque entity ID. Some IDs may be available in
628 // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).
629 Mid string `protobuf:"bytes,1,opt,name=mid" json:"mid,omitempty"`
630 // The language code for the locale in which the entity textual
631 // `description` is expressed.
632 Locale string `protobuf:"bytes,2,opt,name=locale" json:"locale,omitempty"`
633 // Entity textual description, expressed in its `locale` language.
634 Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
635 // Overall score of the result. Range [0, 1].
636 Score float32 `protobuf:"fixed32,4,opt,name=score" json:"score,omitempty"`
637 // The accuracy of the entity detection in an image.
638 // For example, for an image in which the "Eiffel Tower" entity is detected,
639 // this field represents the confidence that there is a tower in the query
640 // image. Range [0, 1].
641 Confidence float32 `protobuf:"fixed32,5,opt,name=confidence" json:"confidence,omitempty"`
642 // The relevancy of the ICA (Image Content Annotation) label to the
643 // image. For example, the relevancy of "tower" is likely higher to an image
644 // containing the detected "Eiffel Tower" than to an image containing a
645 // detected distant towering building, even though the confidence that
646 // there is a tower in each image may be the same. Range [0, 1].
647 Topicality float32 `protobuf:"fixed32,6,opt,name=topicality" json:"topicality,omitempty"`
648 // Image region to which this entity belongs. Currently not produced
649 // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
650 // are produced for the entire text detected in an image region, followed by
651 // `boundingPoly`s for each word within the detected text.
652 BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"`
653 // The location information for the detected entity. Multiple
654 // `LocationInfo` elements can be present because one location may
655 // indicate the location of the scene in the image, and another location
656 // may indicate the location of the place where the image was taken.
657 // Location information is usually present for landmarks.
658 Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations" json:"locations,omitempty"`
659 // Some entities may have optional user-supplied `Property` (name/value)
660 // fields, such a score or string that qualifies the entity.
661 Properties []*Property `protobuf:"bytes,9,rep,name=properties" json:"properties,omitempty"`
664 func (m *EntityAnnotation) Reset() { *m = EntityAnnotation{} }
665 func (m *EntityAnnotation) String() string { return proto.CompactTextString(m) }
666 func (*EntityAnnotation) ProtoMessage() {}
667 func (*EntityAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
669 func (m *EntityAnnotation) GetMid() string {
676 func (m *EntityAnnotation) GetLocale() string {
683 func (m *EntityAnnotation) GetDescription() string {
690 func (m *EntityAnnotation) GetScore() float32 {
697 func (m *EntityAnnotation) GetConfidence() float32 {
704 func (m *EntityAnnotation) GetTopicality() float32 {
711 func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
713 return m.BoundingPoly
718 func (m *EntityAnnotation) GetLocations() []*LocationInfo {
725 func (m *EntityAnnotation) GetProperties() []*Property {
732 // Set of features pertaining to the image, computed by computer vision
733 // methods over safe-search verticals (for example, adult, spoof, medical,
735 type SafeSearchAnnotation struct {
736 // Represents the adult content likelihood for the image.
737 Adult Likelihood `protobuf:"varint,1,opt,name=adult,enum=google.cloud.vision.v1.Likelihood" json:"adult,omitempty"`
738 // Spoof likelihood. The likelihood that an modification
739 // was made to the image's canonical version to make it appear
740 // funny or offensive.
741 Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,enum=google.cloud.vision.v1.Likelihood" json:"spoof,omitempty"`
742 // Likelihood that this is a medical image.
743 Medical Likelihood `protobuf:"varint,3,opt,name=medical,enum=google.cloud.vision.v1.Likelihood" json:"medical,omitempty"`
744 // Violence likelihood.
745 Violence Likelihood `protobuf:"varint,4,opt,name=violence,enum=google.cloud.vision.v1.Likelihood" json:"violence,omitempty"`
748 func (m *SafeSearchAnnotation) Reset() { *m = SafeSearchAnnotation{} }
749 func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) }
750 func (*SafeSearchAnnotation) ProtoMessage() {}
751 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
753 func (m *SafeSearchAnnotation) GetAdult() Likelihood {
757 return Likelihood_UNKNOWN
760 func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
764 return Likelihood_UNKNOWN
767 func (m *SafeSearchAnnotation) GetMedical() Likelihood {
771 return Likelihood_UNKNOWN
774 func (m *SafeSearchAnnotation) GetViolence() Likelihood {
778 return Likelihood_UNKNOWN
781 // Rectangle determined by min and max `LatLng` pairs.
782 type LatLongRect struct {
783 // Min lat/long pair.
784 MinLatLng *google_type1.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng" json:"min_lat_lng,omitempty"`
785 // Max lat/long pair.
786 MaxLatLng *google_type1.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng" json:"max_lat_lng,omitempty"`
789 func (m *LatLongRect) Reset() { *m = LatLongRect{} }
790 func (m *LatLongRect) String() string { return proto.CompactTextString(m) }
791 func (*LatLongRect) ProtoMessage() {}
792 func (*LatLongRect) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
794 func (m *LatLongRect) GetMinLatLng() *google_type1.LatLng {
801 func (m *LatLongRect) GetMaxLatLng() *google_type1.LatLng {
808 // Color information consists of RGB channels, score, and the fraction of
809 // the image that the color occupies in the image.
810 type ColorInfo struct {
811 // RGB components of the color.
812 Color *google_type.Color `protobuf:"bytes,1,opt,name=color" json:"color,omitempty"`
813 // Image-specific score for this color. Value in range [0, 1].
814 Score float32 `protobuf:"fixed32,2,opt,name=score" json:"score,omitempty"`
815 // The fraction of pixels the color occupies in the image.
816 // Value in range [0, 1].
817 PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction" json:"pixel_fraction,omitempty"`
820 func (m *ColorInfo) Reset() { *m = ColorInfo{} }
821 func (m *ColorInfo) String() string { return proto.CompactTextString(m) }
822 func (*ColorInfo) ProtoMessage() {}
823 func (*ColorInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
825 func (m *ColorInfo) GetColor() *google_type.Color {
832 func (m *ColorInfo) GetScore() float32 {
839 func (m *ColorInfo) GetPixelFraction() float32 {
841 return m.PixelFraction
846 // Set of dominant colors and their corresponding scores.
847 type DominantColorsAnnotation struct {
848 // RGB color values with their score and pixel fraction.
849 Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors" json:"colors,omitempty"`
852 func (m *DominantColorsAnnotation) Reset() { *m = DominantColorsAnnotation{} }
853 func (m *DominantColorsAnnotation) String() string { return proto.CompactTextString(m) }
854 func (*DominantColorsAnnotation) ProtoMessage() {}
855 func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
857 func (m *DominantColorsAnnotation) GetColors() []*ColorInfo {
864 // Stores image properties, such as dominant colors.
865 type ImageProperties struct {
866 // If present, dominant colors completed successfully.
867 DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors" json:"dominant_colors,omitempty"`
870 func (m *ImageProperties) Reset() { *m = ImageProperties{} }
871 func (m *ImageProperties) String() string { return proto.CompactTextString(m) }
872 func (*ImageProperties) ProtoMessage() {}
873 func (*ImageProperties) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
875 func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
877 return m.DominantColors
882 // Single crop hint that is used to generate a new crop when serving an image.
883 type CropHint struct {
884 // The bounding polygon for the crop region. The coordinates of the bounding
885 // box are in the original image's scale, as returned in `ImageParams`.
886 BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"`
887 // Confidence of this being a salient region. Range [0, 1].
888 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"`
889 // Fraction of importance of this salient region with respect to the original
891 ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction" json:"importance_fraction,omitempty"`
894 func (m *CropHint) Reset() { *m = CropHint{} }
895 func (m *CropHint) String() string { return proto.CompactTextString(m) }
896 func (*CropHint) ProtoMessage() {}
897 func (*CropHint) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
899 func (m *CropHint) GetBoundingPoly() *BoundingPoly {
901 return m.BoundingPoly
906 func (m *CropHint) GetConfidence() float32 {
913 func (m *CropHint) GetImportanceFraction() float32 {
915 return m.ImportanceFraction
920 // Set of crop hints that are used to generate new crops when serving images.
921 type CropHintsAnnotation struct {
922 CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints" json:"crop_hints,omitempty"`
925 func (m *CropHintsAnnotation) Reset() { *m = CropHintsAnnotation{} }
926 func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) }
927 func (*CropHintsAnnotation) ProtoMessage() {}
928 func (*CropHintsAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
930 func (m *CropHintsAnnotation) GetCropHints() []*CropHint {
937 // Parameters for crop hints annotation request.
938 type CropHintsParams struct {
939 // Aspect ratios in floats, representing the ratio of the width to the height
940 // of the image. For example, if the desired aspect ratio is 4/3, the
941 // corresponding float value should be 1.33333. If not specified, the
942 // best possible crop is returned. The number of provided aspect ratios is
943 // limited to a maximum of 16; any aspect ratios provided after the 16th are
945 AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios" json:"aspect_ratios,omitempty"`
948 func (m *CropHintsParams) Reset() { *m = CropHintsParams{} }
949 func (m *CropHintsParams) String() string { return proto.CompactTextString(m) }
950 func (*CropHintsParams) ProtoMessage() {}
951 func (*CropHintsParams) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
953 func (m *CropHintsParams) GetAspectRatios() []float32 {
955 return m.AspectRatios
960 // Image context and/or feature-specific parameters.
961 type ImageContext struct {
962 // lat/long rectangle that specifies the location of the image.
963 LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect" json:"lat_long_rect,omitempty"`
964 // List of languages to use for TEXT_DETECTION. In most cases, an empty value
965 // yields the best results since it enables automatic language detection. For
966 // languages based on the Latin alphabet, setting `language_hints` is not
967 // needed. In rare cases, when the language of the text in the image is known,
968 // setting a hint will help get better results (although it will be a
969 // significant hindrance if the hint is wrong). Text detection returns an
970 // error if one or more of the specified languages is not one of the
971 // [supported languages](/vision/docs/languages).
972 LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints" json:"language_hints,omitempty"`
973 // Parameters for crop hints annotation request.
974 CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams" json:"crop_hints_params,omitempty"`
977 func (m *ImageContext) Reset() { *m = ImageContext{} }
978 func (m *ImageContext) String() string { return proto.CompactTextString(m) }
979 func (*ImageContext) ProtoMessage() {}
980 func (*ImageContext) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
982 func (m *ImageContext) GetLatLongRect() *LatLongRect {
989 func (m *ImageContext) GetLanguageHints() []string {
991 return m.LanguageHints
996 func (m *ImageContext) GetCropHintsParams() *CropHintsParams {
998 return m.CropHintsParams
1003 // Request for performing Google Cloud Vision API tasks over a user-provided
1004 // image, with user-requested features.
1005 type AnnotateImageRequest struct {
1006 // The image to be processed.
1007 Image *Image `protobuf:"bytes,1,opt,name=image" json:"image,omitempty"`
1008 // Requested features.
1009 Features []*Feature `protobuf:"bytes,2,rep,name=features" json:"features,omitempty"`
1010 // Additional context that may accompany the image.
1011 ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext" json:"image_context,omitempty"`
1014 func (m *AnnotateImageRequest) Reset() { *m = AnnotateImageRequest{} }
1015 func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) }
1016 func (*AnnotateImageRequest) ProtoMessage() {}
1017 func (*AnnotateImageRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
1019 func (m *AnnotateImageRequest) GetImage() *Image {
1026 func (m *AnnotateImageRequest) GetFeatures() []*Feature {
1033 func (m *AnnotateImageRequest) GetImageContext() *ImageContext {
1035 return m.ImageContext
1040 // Response to an image annotation request.
1041 type AnnotateImageResponse struct {
1042 // If present, face detection has completed successfully.
1043 FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations" json:"face_annotations,omitempty"`
1044 // If present, landmark detection has completed successfully.
1045 LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations" json:"landmark_annotations,omitempty"`
1046 // If present, logo detection has completed successfully.
1047 LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations" json:"logo_annotations,omitempty"`
1048 // If present, label detection has completed successfully.
1049 LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations" json:"label_annotations,omitempty"`
1050 // If present, text (OCR) detection or document (OCR) text detection has
1051 // completed successfully.
1052 TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations" json:"text_annotations,omitempty"`
1053 // If present, text (OCR) detection or document (OCR) text detection has
1054 // completed successfully.
1055 // This annotation provides the structural hierarchy for the OCR detected
1057 FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation" json:"full_text_annotation,omitempty"`
1058 // If present, safe-search annotation has completed successfully.
1059 SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation" json:"safe_search_annotation,omitempty"`
1060 // If present, image properties were extracted successfully.
1061 ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation" json:"image_properties_annotation,omitempty"`
1062 // If present, crop hints have completed successfully.
1063 CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation" json:"crop_hints_annotation,omitempty"`
1064 // If present, web detection has completed successfully.
1065 WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection" json:"web_detection,omitempty"`
1066 // If set, represents the error message for the operation.
1067 // Note that filled-in image annotations are guaranteed to be
1068 // correct, even when `error` is set.
1069 Error *google_rpc.Status `protobuf:"bytes,9,opt,name=error" json:"error,omitempty"`
1072 func (m *AnnotateImageResponse) Reset() { *m = AnnotateImageResponse{} }
1073 func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) }
1074 func (*AnnotateImageResponse) ProtoMessage() {}
1075 func (*AnnotateImageResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
1077 func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
1079 return m.FaceAnnotations
1084 func (m *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
1086 return m.LandmarkAnnotations
1091 func (m *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
1093 return m.LogoAnnotations
1098 func (m *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
1100 return m.LabelAnnotations
1105 func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
1107 return m.TextAnnotations
1112 func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
1114 return m.FullTextAnnotation
1119 func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
1121 return m.SafeSearchAnnotation
1126 func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
1128 return m.ImagePropertiesAnnotation
1133 func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
1135 return m.CropHintsAnnotation
1140 func (m *AnnotateImageResponse) GetWebDetection() *WebDetection {
1142 return m.WebDetection
1147 func (m *AnnotateImageResponse) GetError() *google_rpc.Status {
1154 // Multiple image annotation requests are batched into a single service call.
1155 type BatchAnnotateImagesRequest struct {
1156 // Individual image annotation requests for this batch.
1157 Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests" json:"requests,omitempty"`
1160 func (m *BatchAnnotateImagesRequest) Reset() { *m = BatchAnnotateImagesRequest{} }
1161 func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) }
1162 func (*BatchAnnotateImagesRequest) ProtoMessage() {}
1163 func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
1165 func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
1172 // Response to a batch image annotation request.
1173 type BatchAnnotateImagesResponse struct {
1174 // Individual responses to image annotation requests within the batch.
1175 Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses" json:"responses,omitempty"`
1178 func (m *BatchAnnotateImagesResponse) Reset() { *m = BatchAnnotateImagesResponse{} }
1179 func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) }
1180 func (*BatchAnnotateImagesResponse) ProtoMessage() {}
1181 func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
1183 func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
1191 proto.RegisterType((*Feature)(nil), "google.cloud.vision.v1.Feature")
1192 proto.RegisterType((*ImageSource)(nil), "google.cloud.vision.v1.ImageSource")
1193 proto.RegisterType((*Image)(nil), "google.cloud.vision.v1.Image")
1194 proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.vision.v1.FaceAnnotation")
1195 proto.RegisterType((*FaceAnnotation_Landmark)(nil), "google.cloud.vision.v1.FaceAnnotation.Landmark")
1196 proto.RegisterType((*LocationInfo)(nil), "google.cloud.vision.v1.LocationInfo")
1197 proto.RegisterType((*Property)(nil), "google.cloud.vision.v1.Property")
1198 proto.RegisterType((*EntityAnnotation)(nil), "google.cloud.vision.v1.EntityAnnotation")
1199 proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.vision.v1.SafeSearchAnnotation")
1200 proto.RegisterType((*LatLongRect)(nil), "google.cloud.vision.v1.LatLongRect")
1201 proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1.ColorInfo")
1202 proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1.DominantColorsAnnotation")
1203 proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1.ImageProperties")
1204 proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1.CropHint")
1205 proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1.CropHintsAnnotation")
1206 proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1.CropHintsParams")
1207 proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1.ImageContext")
1208 proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1.AnnotateImageRequest")
1209 proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1.AnnotateImageResponse")
1210 proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1.BatchAnnotateImagesRequest")
1211 proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1.BatchAnnotateImagesResponse")
1212 proto.RegisterEnum("google.cloud.vision.v1.Likelihood", Likelihood_name, Likelihood_value)
1213 proto.RegisterEnum("google.cloud.vision.v1.Feature_Type", Feature_Type_name, Feature_Type_value)
1214 proto.RegisterEnum("google.cloud.vision.v1.FaceAnnotation_Landmark_Type", FaceAnnotation_Landmark_Type_name, FaceAnnotation_Landmark_Type_value)
1217 // Reference imports to suppress errors if they are not otherwise used.
1218 var _ context.Context
1219 var _ grpc.ClientConn
1221 // This is a compile-time assertion to ensure that this generated file
1222 // is compatible with the grpc package it is being compiled against.
1223 const _ = grpc.SupportPackageIsVersion4
1225 // Client API for ImageAnnotator service
1227 type ImageAnnotatorClient interface {
1228 // Run image detection and annotation for a batch of images.
1229 BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
1232 type imageAnnotatorClient struct {
1236 func NewImageAnnotatorClient(cc *grpc.ClientConn) ImageAnnotatorClient {
1237 return &imageAnnotatorClient{cc}
1240 func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
1241 out := new(BatchAnnotateImagesResponse)
1242 err := grpc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages", in, out, c.cc, opts...)
1249 // Server API for ImageAnnotator service
1251 type ImageAnnotatorServer interface {
1252 // Run image detection and annotation for a batch of images.
1253 BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
1256 func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
1257 s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
1260 func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1261 in := new(BatchAnnotateImagesRequest)
1262 if err := dec(in); err != nil {
1265 if interceptor == nil {
1266 return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
1268 info := &grpc.UnaryServerInfo{
1270 FullMethod: "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages",
1272 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1273 return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
1275 return interceptor(ctx, in, info, handler)
1278 var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
1279 ServiceName: "google.cloud.vision.v1.ImageAnnotator",
1280 HandlerType: (*ImageAnnotatorServer)(nil),
1281 Methods: []grpc.MethodDesc{
1283 MethodName: "BatchAnnotateImages",
1284 Handler: _ImageAnnotator_BatchAnnotateImages_Handler,
1287 Streams: []grpc.StreamDesc{},
1288 Metadata: "google/cloud/vision/v1/image_annotator.proto",
1291 func init() { proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor1) }
1293 var fileDescriptor1 = []byte{
1294 // 2281 bytes of a gzipped FileDescriptorProto
1295 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0x4b, 0x73, 0x23, 0x49,
1296 0xf1, 0x5f, 0xc9, 0x2f, 0x29, 0xf5, 0x6a, 0x97, 0x1f, 0xa3, 0xb1, 0xe7, 0xe1, 0xed, 0xfd, 0xcf,
1297 0x1f, 0xc7, 0x30, 0xd8, 0x8c, 0x67, 0x21, 0x96, 0x9d, 0x09, 0x40, 0x92, 0xdb, 0xb6, 0x62, 0x64,
1298 0x49, 0x5b, 0x92, 0xd7, 0x6b, 0x20, 0xe8, 0x68, 0xb7, 0x4a, 0x9a, 0x9e, 0x6d, 0x75, 0x35, 0xdd,
1299 0xad, 0x19, 0xfb, 0x4a, 0x04, 0x11, 0xdc, 0xb9, 0x73, 0xe4, 0x4e, 0x04, 0x5f, 0x81, 0x03, 0x47,
1300 0x62, 0xcf, 0xdc, 0xf8, 0x0c, 0x04, 0x47, 0xa2, 0x1e, 0xdd, 0x2a, 0x69, 0x2c, 0x8f, 0x4c, 0x70,
1301 0x52, 0x57, 0x66, 0xfe, 0x7e, 0x59, 0x95, 0x55, 0x59, 0x59, 0x55, 0x82, 0x67, 0x03, 0x4a, 0x07,
1302 0x2e, 0xd9, 0xb7, 0x5d, 0x3a, 0xea, 0xed, 0xbf, 0x73, 0x42, 0x87, 0x7a, 0xfb, 0xef, 0x9e, 0xef,
1303 0x3b, 0x43, 0x6b, 0x40, 0x4c, 0xcb, 0xf3, 0x68, 0x64, 0x45, 0x34, 0xd8, 0xf3, 0x03, 0x1a, 0x51,
1304 0xb4, 0x29, 0xac, 0xf7, 0xb8, 0xf5, 0x9e, 0xb0, 0xde, 0x7b, 0xf7, 0x7c, 0xeb, 0x81, 0x64, 0xb1,
1305 0x7c, 0x67, 0x5f, 0x62, 0x1c, 0xea, 0x85, 0x02, 0xb5, 0xf5, 0x64, 0x86, 0x8f, 0x01, 0xa1, 0x43,
1306 0x12, 0x05, 0xd7, 0xd2, 0x6c, 0x56, 0x57, 0x22, 0x72, 0x15, 0x99, 0x63, 0x56, 0x69, 0xfd, 0x74,
1307 0x86, 0xf5, 0x7b, 0x72, 0x69, 0xf6, 0x48, 0x44, 0x6c, 0xc5, 0xf6, 0x9e, 0xb4, 0x0d, 0x7c, 0x7b,
1308 0x3f, 0x8c, 0xac, 0x68, 0x14, 0x4e, 0x29, 0xa2, 0x6b, 0x9f, 0xec, 0xdb, 0xd4, 0x8d, 0x07, 0xba,
1309 0x55, 0x56, 0x15, 0xae, 0x15, 0xb9, 0xde, 0x40, 0x68, 0xf4, 0x7f, 0xa4, 0x61, 0xe5, 0x88, 0x58,
1310 0xd1, 0x28, 0x20, 0xe8, 0x0b, 0x58, 0x64, 0x06, 0xe5, 0xd4, 0x4e, 0x6a, 0xb7, 0x78, 0xf0, 0x7f,
1311 0x7b, 0x37, 0x47, 0x67, 0x4f, 0x9a, 0xef, 0x75, 0xaf, 0x7d, 0x82, 0x39, 0x02, 0x3d, 0x86, 0xdc,
1312 0xd0, 0xba, 0x32, 0x03, 0x12, 0x8e, 0xdc, 0x28, 0x2c, 0xa7, 0x77, 0x52, 0xbb, 0x4b, 0x18, 0x86,
1313 0xd6, 0x15, 0x16, 0x12, 0xfd, 0x5f, 0x29, 0x58, 0x64, 0xf6, 0x68, 0x1d, 0xb4, 0xee, 0x45, 0xdb,
1314 0x30, 0xcf, 0x9a, 0x9d, 0xb6, 0x51, 0xab, 0x1f, 0xd5, 0x8d, 0x43, 0xed, 0x13, 0x84, 0xa0, 0x78,
1315 0x54, 0xa9, 0x19, 0xe6, 0xa1, 0xd1, 0x35, 0x6a, 0xdd, 0x7a, 0xab, 0xa9, 0xa5, 0xd0, 0x26, 0xa0,
1316 0x46, 0xa5, 0x79, 0x78, 0x5a, 0xc1, 0xaf, 0x15, 0x79, 0x9a, 0xd9, 0x36, 0x5a, 0xc7, 0x2d, 0x45,
1317 0xb6, 0x80, 0xd6, 0xa0, 0xd4, 0xa8, 0x54, 0x8d, 0x86, 0x22, 0x5c, 0x64, 0x86, 0x5d, 0xe3, 0x9b,
1318 0xae, 0x22, 0x5b, 0x42, 0xdb, 0x70, 0xef, 0xb0, 0x55, 0x3b, 0x3b, 0x35, 0x9a, 0x5d, 0x73, 0x4a,
1319 0x99, 0x43, 0xf7, 0x61, 0xa3, 0x53, 0x39, 0x32, 0xcc, 0x8e, 0x51, 0xc1, 0xb5, 0x13, 0x45, 0xb5,
1320 0xcc, 0xba, 0x5d, 0x3f, 0xad, 0x1c, 0x1b, 0x66, 0x1b, 0xb7, 0xda, 0x06, 0xee, 0xd6, 0x8d, 0x8e,
1321 0xb6, 0x82, 0x8a, 0x00, 0x35, 0xdc, 0x6a, 0x9b, 0x27, 0xf5, 0x66, 0xb7, 0xa3, 0x65, 0xd1, 0x2a,
1322 0x14, 0xce, 0x8d, 0xaa, 0x02, 0x04, 0xbd, 0x09, 0xb9, 0x3a, 0x5b, 0x7b, 0x1d, 0x3a, 0x0a, 0x6c,
1323 0x82, 0x74, 0x28, 0x0c, 0xec, 0xd0, 0x14, 0xcb, 0x71, 0x14, 0x38, 0x3c, 0xd6, 0x59, 0x9c, 0x1b,
1324 0xd8, 0x21, 0x37, 0x3b, 0x0b, 0x1c, 0xb4, 0x0d, 0xd9, 0xb1, 0x3e, 0xcd, 0xf5, 0x19, 0x47, 0x2a,
1325 0xf5, 0x5f, 0xc3, 0x12, 0x37, 0x44, 0x65, 0x58, 0xb1, 0xa9, 0x17, 0x11, 0x2f, 0xe2, 0x1c, 0x79,
1326 0x1c, 0x37, 0xd1, 0x4b, 0x58, 0x0e, 0xb9, 0x37, 0x0e, 0xce, 0x1d, 0x7c, 0x36, 0x6b, 0x22, 0x95,
1327 0x8e, 0x61, 0x09, 0xd1, 0xff, 0x5e, 0x82, 0xe2, 0x91, 0x65, 0x93, 0x4a, 0xb2, 0x40, 0x51, 0x1d,
1328 0x0a, 0x97, 0x74, 0xe4, 0xf5, 0x1c, 0x6f, 0x60, 0xfa, 0xd4, 0xbd, 0xe6, 0xfe, 0x72, 0xb3, 0xd7,
1329 0x47, 0x55, 0x1a, 0xb7, 0xa9, 0x7b, 0x8d, 0xf3, 0x97, 0x4a, 0x0b, 0x35, 0x41, 0xeb, 0xf7, 0xcc,
1330 0x49, 0xb6, 0xf4, 0x1d, 0xd8, 0x8a, 0xfd, 0x9e, 0xda, 0x46, 0xa7, 0x90, 0x75, 0x2d, 0xaf, 0x37,
1331 0xb4, 0x82, 0x6f, 0xc3, 0xf2, 0xc2, 0xce, 0xc2, 0x6e, 0xee, 0x60, 0x7f, 0xe6, 0xb2, 0x9d, 0x18,
1332 0xd5, 0x5e, 0x43, 0xe2, 0xf0, 0x98, 0x01, 0x3d, 0x04, 0x08, 0xa8, 0xeb, 0x9a, 0x96, 0x37, 0x70,
1333 0x49, 0x79, 0x71, 0x27, 0xb5, 0x9b, 0xc6, 0x59, 0x26, 0xa9, 0x30, 0x01, 0x9b, 0x18, 0xdf, 0xf2,
1334 0xa4, 0x76, 0x89, 0x6b, 0x33, 0xbe, 0xe5, 0x09, 0xe5, 0x43, 0x80, 0xc8, 0x71, 0x23, 0xa9, 0x5d,
1335 0x16, 0x58, 0x26, 0x11, 0xea, 0xe7, 0xb0, 0x9e, 0xa4, 0xb1, 0x69, 0x53, 0xaf, 0xef, 0xf4, 0x88,
1336 0x67, 0x93, 0xf2, 0x0a, 0x37, 0x5c, 0x4b, 0x74, 0xb5, 0x44, 0x85, 0x7e, 0x04, 0x9b, 0x71, 0xd7,
1337 0x58, 0xb0, 0x14, 0x50, 0x86, 0x83, 0x36, 0x14, 0xad, 0x02, 0xab, 0x43, 0xf1, 0x2d, 0xbd, 0x36,
1338 0x5d, 0xe7, 0x5b, 0xe2, 0x3a, 0x6f, 0x28, 0xed, 0x95, 0xb3, 0x3c, 0x9f, 0xf5, 0x59, 0x81, 0x69,
1339 0x24, 0x96, 0xb8, 0xf0, 0x96, 0x5e, 0x8f, 0x9b, 0xa8, 0x05, 0xab, 0x21, 0x0d, 0x02, 0xfa, 0x5e,
1340 0x65, 0x83, 0xb9, 0xd9, 0x34, 0x01, 0x56, 0x08, 0x4f, 0x41, 0xb3, 0xbc, 0x01, 0x09, 0x54, 0xbe,
1341 0xdc, 0xdc, 0x7c, 0x25, 0x8e, 0x55, 0xe8, 0x3a, 0xb0, 0x16, 0x8e, 0x02, 0x3f, 0x70, 0x42, 0xa2,
1342 0x32, 0xe6, 0xe7, 0x66, 0x44, 0x31, 0x5c, 0x21, 0xfd, 0x15, 0x94, 0x47, 0x5e, 0x8f, 0x04, 0x26,
1343 0xb9, 0xf2, 0x69, 0x48, 0x7a, 0x2a, 0x73, 0x61, 0x6e, 0xe6, 0x4d, 0xce, 0x61, 0x08, 0x0a, 0x85,
1344 0xfd, 0x2b, 0x40, 0x97, 0xee, 0x28, 0x08, 0x26, 0x79, 0x8b, 0x73, 0xf3, 0xae, 0x4a, 0xf4, 0x64,
1345 0x14, 0xde, 0x10, 0xab, 0xf7, 0x9e, 0x58, 0x13, 0x71, 0x2d, 0xcd, 0x1f, 0x85, 0x18, 0x3e, 0x96,
1346 0x6d, 0xfd, 0x6d, 0x05, 0x32, 0x71, 0x8a, 0xa0, 0x13, 0x59, 0x18, 0x16, 0x38, 0xe5, 0xe7, 0x77,
1347 0xcc, 0x30, 0xb5, 0x50, 0xbc, 0x82, 0x8c, 0x4f, 0x43, 0x87, 0xe9, 0x79, 0x7e, 0xe5, 0x0e, 0x76,
1348 0x66, 0xb1, 0xb5, 0xa5, 0x1d, 0x4e, 0x10, 0xfa, 0x5f, 0x96, 0xc7, 0x55, 0xe4, 0xac, 0xf9, 0xba,
1349 0xd9, 0x3a, 0x6f, 0x9a, 0x71, 0x8d, 0xd0, 0x3e, 0x41, 0x79, 0xc8, 0x34, 0x8c, 0xa3, 0xae, 0x69,
1350 0x5c, 0x18, 0x5a, 0x0a, 0x15, 0x20, 0x8b, 0xeb, 0xc7, 0x27, 0xa2, 0x99, 0x46, 0x65, 0x58, 0xe7,
1351 0xca, 0xd6, 0x91, 0x19, 0x1b, 0x55, 0x71, 0xeb, 0x5c, 0x5b, 0x60, 0xdb, 0xbe, 0x30, 0x9c, 0x56,
1352 0x2d, 0x32, 0x55, 0x0c, 0x4a, 0xb8, 0xb8, 0x6a, 0x09, 0x6d, 0xc1, 0x66, 0x82, 0x9a, 0xd4, 0x2d,
1353 0x33, 0xd8, 0x69, 0xfd, 0xb0, 0xdd, 0xaa, 0x37, 0xbb, 0x66, 0xd5, 0xe8, 0x9e, 0x1b, 0x46, 0x93,
1354 0x69, 0x59, 0xc9, 0xc8, 0x43, 0xa6, 0xd9, 0xea, 0x18, 0x66, 0xb7, 0xde, 0xd6, 0x32, 0xac, 0x8f,
1355 0x67, 0xed, 0xb6, 0x81, 0xcd, 0x46, 0xbd, 0xad, 0x65, 0x59, 0xb3, 0xd1, 0x3a, 0x97, 0x4d, 0x60,
1356 0xe5, 0xe5, 0xb4, 0x75, 0xd6, 0x3d, 0xe1, 0xbd, 0xd2, 0x72, 0xa8, 0x04, 0x39, 0xd1, 0xe6, 0xfe,
1357 0xb4, 0x3c, 0xd2, 0x20, 0x2f, 0x04, 0x35, 0xa3, 0xd9, 0x35, 0xb0, 0x56, 0x40, 0x1b, 0xb0, 0xca,
1358 0xe9, 0xab, 0xad, 0x6e, 0xb7, 0x75, 0x2a, 0x0d, 0x8b, 0x2c, 0x5e, 0xaa, 0x98, 0xf3, 0x95, 0x58,
1359 0x85, 0x55, 0xa5, 0x92, 0x44, 0x4b, 0x46, 0x6d, 0x5c, 0x18, 0x66, 0xb7, 0xd5, 0x36, 0xab, 0xad,
1360 0xb3, 0xe6, 0x61, 0x05, 0x5f, 0x68, 0xab, 0x13, 0x2a, 0x31, 0xea, 0x5a, 0x0b, 0x37, 0x0d, 0xac,
1361 0x21, 0xf4, 0x00, 0xca, 0x89, 0x4a, 0x32, 0x26, 0xc0, 0xb5, 0x24, 0xfc, 0x4c, 0xcb, 0x3f, 0x24,
1362 0x6e, 0x7d, 0x1c, 0xc8, 0x0f, 0xdc, 0x6d, 0x4c, 0xea, 0x26, 0xfc, 0x6d, 0xa2, 0x87, 0x70, 0x7f,
1363 0xac, 0x9b, 0x76, 0x78, 0x6f, 0x3c, 0xab, 0xd3, 0x1e, 0xcb, 0xe8, 0x31, 0x6c, 0xab, 0xf3, 0x6c,
1364 0x8a, 0x29, 0x88, 0x67, 0x4c, 0xbb, 0x8f, 0x76, 0xe0, 0xc1, 0xc4, 0x94, 0x4e, 0x5b, 0x6c, 0xb1,
1365 0x80, 0x0a, 0x8a, 0x0a, 0x36, 0xbb, 0xb8, 0x72, 0xcc, 0x8a, 0xfd, 0x36, 0x8b, 0xbe, 0xc4, 0x29,
1366 0xe2, 0x07, 0xfc, 0xc4, 0x12, 0x8f, 0xbd, 0x7d, 0xd6, 0xae, 0x37, 0xb4, 0x87, 0xec, 0xc4, 0x32,
1367 0xee, 0x9e, 0x10, 0x3e, 0x62, 0xf8, 0xa3, 0x16, 0x36, 0x4e, 0x8c, 0xca, 0xa1, 0x79, 0xcc, 0x0f,
1368 0x34, 0x8d, 0x8a, 0xf6, 0x98, 0x1d, 0x2b, 0x6a, 0x27, 0xf5, 0xa6, 0x79, 0xdc, 0xac, 0x74, 0x4f,
1369 0x18, 0xe5, 0x0e, 0xf3, 0xcf, 0x45, 0x9c, 0xf7, 0xb8, 0xd5, 0x64, 0xd2, 0x4f, 0x19, 0x9e, 0x4b,
1370 0x05, 0xb3, 0x14, 0xeb, 0xfa, 0x2b, 0xc8, 0x37, 0xa8, 0xcd, 0x93, 0xb2, 0xee, 0xf5, 0x29, 0x7a,
1371 0x06, 0x2b, 0xae, 0x15, 0x99, 0xae, 0x37, 0x90, 0xa5, 0x7c, 0x2d, 0xce, 0x41, 0x96, 0xa3, 0x7b,
1372 0x0d, 0x2b, 0x6a, 0x78, 0x03, 0xbc, 0xec, 0xf2, 0x5f, 0xfd, 0x73, 0xc8, 0xb4, 0x03, 0xea, 0x93,
1373 0x20, 0xba, 0x46, 0x08, 0x16, 0x3d, 0x6b, 0x48, 0xe4, 0xa9, 0x85, 0x7f, 0xa3, 0x75, 0x58, 0x7a,
1374 0x67, 0xb9, 0x23, 0x22, 0x8f, 0x2a, 0xa2, 0xa1, 0xff, 0x6e, 0x01, 0x34, 0xc3, 0x8b, 0x9c, 0xe8,
1375 0x5a, 0x39, 0x49, 0x68, 0xb0, 0x30, 0x74, 0x7a, 0x12, 0xcd, 0x3e, 0xd1, 0x26, 0x2c, 0xbb, 0xd4,
1376 0xb6, 0xdc, 0x18, 0x2d, 0x5b, 0x68, 0x07, 0x72, 0x3d, 0x12, 0xda, 0x81, 0xe3, 0xf3, 0xad, 0x62,
1377 0x41, 0x9c, 0x92, 0x14, 0x11, 0x73, 0x1b, 0xda, 0x34, 0x88, 0xcb, 0xb4, 0x68, 0xa0, 0x47, 0x00,
1378 0x4a, 0x9d, 0x14, 0x35, 0x5a, 0x91, 0x30, 0x7d, 0x44, 0x7d, 0xc7, 0xb6, 0x5c, 0x27, 0xba, 0x96,
1379 0x55, 0x5a, 0x91, 0x7c, 0x78, 0xd6, 0x59, 0xf9, 0xaf, 0xcf, 0x3a, 0x55, 0xc8, 0xba, 0x32, 0xea,
1380 0x61, 0x39, 0xc3, 0xcf, 0x26, 0x33, 0x69, 0xd4, 0xe9, 0xc1, 0x63, 0x18, 0xfa, 0x39, 0x80, 0x2f,
1381 0x62, 0xef, 0x90, 0xb0, 0x9c, 0xe5, 0x24, 0xb3, 0x37, 0x4c, 0x39, 0x4b, 0x58, 0xc1, 0xe8, 0xbf,
1382 0x4f, 0xc3, 0x7a, 0xc7, 0xea, 0x93, 0x0e, 0xb1, 0x02, 0xfb, 0x8d, 0x32, 0x17, 0x5f, 0xc0, 0x92,
1383 0xd5, 0x1b, 0xb9, 0x91, 0x3c, 0xed, 0xcf, 0x53, 0x27, 0x04, 0x80, 0x21, 0x43, 0x9f, 0xd2, 0x3e,
1384 0x9f, 0xb2, 0x39, 0x91, 0x1c, 0x80, 0x5e, 0xc1, 0xca, 0x90, 0xf4, 0x58, 0xac, 0x65, 0x29, 0x99,
1385 0x07, 0x1b, 0x43, 0xd0, 0x4f, 0x21, 0xf3, 0xce, 0xa1, 0x2e, 0x9f, 0xd9, 0xc5, 0xb9, 0xe1, 0x09,
1386 0x46, 0x7f, 0x0f, 0x39, 0xb6, 0xb4, 0xa9, 0x37, 0xc0, 0xc4, 0x8e, 0xd0, 0x0b, 0xc8, 0x0d, 0x1d,
1387 0xcf, 0x9c, 0x23, 0x13, 0xb2, 0x43, 0xc7, 0x13, 0x9f, 0x1c, 0x64, 0x5d, 0x25, 0xa0, 0xf4, 0x6d,
1388 0x20, 0xeb, 0x4a, 0x7c, 0xea, 0x01, 0x64, 0x6b, 0xec, 0x32, 0xc6, 0x93, 0x6f, 0x17, 0x96, 0xf8,
1389 0xcd, 0x4c, 0x3a, 0x44, 0x13, 0x58, 0x6e, 0x86, 0x85, 0xc1, 0x78, 0x85, 0xa7, 0xd5, 0x15, 0xfe,
1390 0x04, 0x8a, 0xbe, 0x73, 0x45, 0x5c, 0xb3, 0x1f, 0x58, 0x76, 0x92, 0x1c, 0x69, 0x5c, 0xe0, 0xd2,
1391 0x23, 0x29, 0xd4, 0xcf, 0xa0, 0x7c, 0x48, 0x87, 0x8e, 0x67, 0x79, 0x11, 0x27, 0x0d, 0x95, 0xa9,
1392 0xff, 0x09, 0x2c, 0x73, 0x0f, 0x61, 0x39, 0xc5, 0x57, 0xd4, 0xa7, 0xb3, 0xc2, 0x98, 0xf4, 0x1a,
1393 0x4b, 0x80, 0xee, 0x42, 0x89, 0xdf, 0x1a, 0xda, 0xc9, 0x0a, 0x43, 0x17, 0x50, 0xea, 0x49, 0x4f,
1394 0x66, 0x42, 0xcb, 0x86, 0xf6, 0xc3, 0x59, 0xb4, 0xb3, 0x3a, 0x86, 0x8b, 0xbd, 0x09, 0x8d, 0xfe,
1395 0xa7, 0x14, 0x64, 0x6a, 0x01, 0xf5, 0x4f, 0x1c, 0x2f, 0xfa, 0x5f, 0x5e, 0x43, 0x26, 0x77, 0x89,
1396 0xf4, 0x07, 0xbb, 0xc4, 0x3e, 0xac, 0x39, 0x43, 0x9f, 0x06, 0x91, 0xe5, 0xd9, 0x64, 0x3a, 0xd0,
1397 0x68, 0xac, 0x4a, 0xa2, 0xfd, 0x35, 0xac, 0xc5, 0xfd, 0x54, 0x03, 0xfd, 0x33, 0x00, 0x3b, 0xa0,
1398 0xbe, 0xf9, 0x86, 0xc9, 0x65, 0xb0, 0x67, 0xa6, 0x6f, 0x4c, 0x80, 0xb3, 0x76, 0x4c, 0xa5, 0xff,
1399 0x18, 0x4a, 0x09, 0x6f, 0xdb, 0x0a, 0xac, 0x61, 0x88, 0x3e, 0x83, 0x82, 0x15, 0xfa, 0xc4, 0x8e,
1400 0xcc, 0x80, 0x39, 0x11, 0xb4, 0x69, 0x9c, 0x17, 0x42, 0xcc, 0x65, 0xfa, 0x77, 0x29, 0xc8, 0xf3,
1401 0x79, 0xaa, 0xb1, 0x3b, 0xe1, 0x55, 0x84, 0x8e, 0xa1, 0xc0, 0xd7, 0x2c, 0xf5, 0x06, 0x66, 0x40,
1402 0xec, 0x48, 0x06, 0x6f, 0xe6, 0xd5, 0x50, 0x49, 0x14, 0x9c, 0x73, 0x95, 0xac, 0x79, 0x02, 0x45,
1403 0xd7, 0xf2, 0x06, 0x23, 0x76, 0x3f, 0x15, 0xc3, 0x4a, 0xef, 0x2c, 0xec, 0x66, 0x71, 0x21, 0x96,
1404 0xf2, 0xbe, 0xa2, 0x0e, 0xac, 0x8e, 0x47, 0x6e, 0xfa, 0xbc, 0xeb, 0xf2, 0xc0, 0xf7, 0xbd, 0x8f,
1405 0x05, 0x40, 0x8e, 0x14, 0x97, 0xec, 0x49, 0x01, 0x1b, 0xd5, 0xba, 0x8c, 0x2e, 0xe1, 0xa3, 0xc3,
1406 0xe4, 0x37, 0x23, 0x12, 0xb2, 0x54, 0x5e, 0xe2, 0x17, 0x64, 0x39, 0xaa, 0x87, 0xb7, 0x5e, 0x78,
1407 0xb1, 0xb0, 0x45, 0x2f, 0x21, 0xd3, 0x17, 0x2f, 0x19, 0x62, 0x0c, 0xb9, 0x83, 0xc7, 0x1f, 0x79,
1408 0xf1, 0xc0, 0x09, 0x80, 0x2d, 0x46, 0x71, 0x47, 0xb7, 0x45, 0x80, 0xf9, 0xda, 0xb8, 0x65, 0x31,
1409 0xaa, 0x93, 0x81, 0xf3, 0x8e, 0xd2, 0xd2, 0xff, 0xba, 0x02, 0x1b, 0x53, 0xa3, 0x0a, 0x7d, 0xea,
1410 0x85, 0x04, 0x7d, 0x05, 0x5a, 0xdf, 0xb2, 0x89, 0xf2, 0x58, 0x14, 0x2f, 0xa2, 0xff, 0x9f, 0xef,
1411 0x08, 0x8e, 0x4b, 0xfd, 0x89, 0x76, 0x88, 0x7e, 0x09, 0xeb, 0xf1, 0xad, 0x71, 0x82, 0x56, 0x04,
1412 0x60, 0x77, 0x16, 0xed, 0x74, 0x25, 0xc7, 0x6b, 0x31, 0x8b, 0x4a, 0xde, 0x01, 0xcd, 0xa5, 0x03,
1413 0x3a, 0x41, 0xbc, 0x70, 0x47, 0xe2, 0x12, 0x63, 0x50, 0x49, 0xcf, 0x60, 0xd5, 0xb5, 0x2e, 0x89,
1414 0x3b, 0xc1, 0xba, 0x78, 0x47, 0x56, 0x8d, 0x53, 0x4c, 0xf5, 0x75, 0xea, 0x21, 0x2e, 0x2c, 0x2f,
1415 0xdd, 0xb5, 0xaf, 0x8c, 0x41, 0x25, 0xfd, 0x06, 0xd6, 0xfb, 0x23, 0xd7, 0x35, 0xa7, 0x98, 0xf9,
1416 0x85, 0xf4, 0x96, 0x49, 0xeb, 0x4e, 0xd0, 0x60, 0xc4, 0x38, 0x26, 0x65, 0xe8, 0x12, 0x36, 0x43,
1417 0xab, 0x4f, 0xcc, 0x90, 0x97, 0x71, 0x95, 0x7b, 0x99, 0x73, 0x3f, 0x9b, 0xc5, 0x7d, 0x53, 0xed,
1418 0xc7, 0xeb, 0xe1, 0x4d, 0x27, 0x82, 0x01, 0x6c, 0x8b, 0x35, 0x3d, 0x3e, 0x3e, 0xa8, 0x8e, 0x32,
1419 0xb7, 0x67, 0xef, 0x54, 0x59, 0xc0, 0xf7, 0x9d, 0x49, 0x81, 0xe2, 0xc8, 0x84, 0x0d, 0x65, 0x73,
1420 0x50, 0x5c, 0xe4, 0xb8, 0x8b, 0xef, 0x7f, 0x74, 0x83, 0x50, 0x17, 0xa2, 0x7d, 0xc3, 0xbe, 0x5b,
1421 0x87, 0xc2, 0xc4, 0xbb, 0x29, 0xbf, 0xb7, 0xdf, 0x92, 0x9d, 0xe7, 0xe4, 0xf2, 0x30, 0xb6, 0xc5,
1422 0xf9, 0xf7, 0x4a, 0x8b, 0x95, 0x6b, 0x12, 0x04, 0x34, 0xe0, 0x8f, 0x28, 0x4a, 0xb9, 0x0e, 0x7c,
1423 0x7b, 0xaf, 0xc3, 0xdf, 0x5e, 0xb1, 0x30, 0xd0, 0xfb, 0xb0, 0x55, 0xb5, 0xa2, 0x24, 0xa2, 0x22,
1424 0x97, 0xc3, 0x78, 0x8b, 0x3a, 0x81, 0x4c, 0x20, 0x3e, 0xe3, 0x1c, 0x9e, 0x39, 0x65, 0x37, 0x6d,
1425 0x71, 0x38, 0x41, 0xeb, 0x6f, 0x61, 0xfb, 0x46, 0x3f, 0x72, 0xd3, 0x78, 0x0d, 0xd9, 0x40, 0x7e,
1426 0xc7, 0x9e, 0x7e, 0x30, 0xa7, 0x27, 0x81, 0xc2, 0x63, 0xfc, 0x53, 0x02, 0xa0, 0x3c, 0x34, 0xe4,
1427 0x60, 0x45, 0xde, 0xba, 0xb5, 0x4f, 0xd8, 0xa5, 0xe4, 0x6b, 0x03, 0x5f, 0x98, 0x67, 0xcd, 0x46,
1428 0xfd, 0xb5, 0xd1, 0xb8, 0xd0, 0x52, 0xec, 0x6e, 0x9b, 0xb4, 0xd2, 0xac, 0xd5, 0x6e, 0x75, 0x3a,
1429 0xf5, 0x6a, 0xc3, 0xd0, 0x16, 0x10, 0xc0, 0xb2, 0xd4, 0x2c, 0xb2, 0x7b, 0x2c, 0x87, 0x4a, 0xc1,
1430 0xd2, 0xc1, 0x9f, 0x53, 0x50, 0xe4, 0x7d, 0xa8, 0xc4, 0x0f, 0xf4, 0xe8, 0x8f, 0x29, 0x58, 0xbb,
1431 0x61, 0x98, 0xe8, 0x60, 0x66, 0xb9, 0x9f, 0x19, 0xfb, 0xad, 0x17, 0x77, 0xc2, 0x88, 0xb1, 0xeb,
1432 0x8f, 0x7e, 0xfb, 0xdd, 0x3f, 0xff, 0x90, 0x2e, 0xeb, 0x6b, 0xc9, 0xdf, 0x07, 0xe1, 0x97, 0x72,
1433 0xa9, 0x92, 0x2f, 0x53, 0x4f, 0xab, 0x11, 0x6c, 0xd9, 0x74, 0x38, 0x83, 0xb9, 0xba, 0x36, 0x39,
1434 0x9c, 0x76, 0x40, 0x23, 0xda, 0x4e, 0xfd, 0xe2, 0x95, 0x34, 0x1f, 0x50, 0x56, 0x2e, 0xf7, 0x68,
1435 0x30, 0xd8, 0x1f, 0x10, 0x8f, 0xbf, 0xc4, 0xef, 0x0b, 0x95, 0xe5, 0x3b, 0xe1, 0xf4, 0x9f, 0x00,
1436 0x2f, 0xc5, 0xd7, 0xbf, 0x53, 0xa9, 0xcb, 0x65, 0x6e, 0xfb, 0xe2, 0x3f, 0x01, 0x00, 0x00, 0xff,
1437 0xff, 0xe5, 0x59, 0xbe, 0xb0, 0xe8, 0x18, 0x00, 0x00,