You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1999 lines
83 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/cloud/vision/v1p1beta1/image_annotator.proto
  3. package vision // import "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import _ "google.golang.org/genproto/googleapis/api/annotations"
  8. import status "google.golang.org/genproto/googleapis/rpc/status"
  9. import color "google.golang.org/genproto/googleapis/type/color"
  10. import latlng "google.golang.org/genproto/googleapis/type/latlng"
  11. import (
  12. context "golang.org/x/net/context"
  13. grpc "google.golang.org/grpc"
  14. )
  15. // Reference imports to suppress errors if they are not otherwise used.
  16. var _ = proto.Marshal
  17. var _ = fmt.Errorf
  18. var _ = math.Inf
  19. // This is a compile-time assertion to ensure that this generated file
  20. // is compatible with the proto package it is being compiled against.
  21. // A compilation error at this line likely means your copy of the
  22. // proto package needs to be updated.
  23. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  24. // A bucketized representation of likelihood, which is intended to give clients
  25. // highly stable results across model upgrades.
  26. type Likelihood int32
  27. const (
  28. // Unknown likelihood.
  29. Likelihood_UNKNOWN Likelihood = 0
  30. // It is very unlikely that the image belongs to the specified vertical.
  31. Likelihood_VERY_UNLIKELY Likelihood = 1
  32. // It is unlikely that the image belongs to the specified vertical.
  33. Likelihood_UNLIKELY Likelihood = 2
  34. // It is possible that the image belongs to the specified vertical.
  35. Likelihood_POSSIBLE Likelihood = 3
  36. // It is likely that the image belongs to the specified vertical.
  37. Likelihood_LIKELY Likelihood = 4
  38. // It is very likely that the image belongs to the specified vertical.
  39. Likelihood_VERY_LIKELY Likelihood = 5
  40. )
  41. var Likelihood_name = map[int32]string{
  42. 0: "UNKNOWN",
  43. 1: "VERY_UNLIKELY",
  44. 2: "UNLIKELY",
  45. 3: "POSSIBLE",
  46. 4: "LIKELY",
  47. 5: "VERY_LIKELY",
  48. }
  49. var Likelihood_value = map[string]int32{
  50. "UNKNOWN": 0,
  51. "VERY_UNLIKELY": 1,
  52. "UNLIKELY": 2,
  53. "POSSIBLE": 3,
  54. "LIKELY": 4,
  55. "VERY_LIKELY": 5,
  56. }
  57. func (x Likelihood) String() string {
  58. return proto.EnumName(Likelihood_name, int32(x))
  59. }
  60. func (Likelihood) EnumDescriptor() ([]byte, []int) {
  61. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{0}
  62. }
  63. // Type of image feature.
  64. type Feature_Type int32
  65. const (
  66. // Unspecified feature type.
  67. Feature_TYPE_UNSPECIFIED Feature_Type = 0
  68. // Run face detection.
  69. Feature_FACE_DETECTION Feature_Type = 1
  70. // Run landmark detection.
  71. Feature_LANDMARK_DETECTION Feature_Type = 2
  72. // Run logo detection.
  73. Feature_LOGO_DETECTION Feature_Type = 3
  74. // Run label detection.
  75. Feature_LABEL_DETECTION Feature_Type = 4
  76. // Run OCR.
  77. Feature_TEXT_DETECTION Feature_Type = 5
  78. // Run dense text document OCR. Takes precedence when both
  79. // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
  80. Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
  81. // Run computer vision models to compute image safe-search properties.
  82. Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
  83. // Compute a set of image properties, such as the image's dominant colors.
  84. Feature_IMAGE_PROPERTIES Feature_Type = 7
  85. // Run crop hints.
  86. Feature_CROP_HINTS Feature_Type = 9
  87. // Run web detection.
  88. Feature_WEB_DETECTION Feature_Type = 10
  89. )
  90. var Feature_Type_name = map[int32]string{
  91. 0: "TYPE_UNSPECIFIED",
  92. 1: "FACE_DETECTION",
  93. 2: "LANDMARK_DETECTION",
  94. 3: "LOGO_DETECTION",
  95. 4: "LABEL_DETECTION",
  96. 5: "TEXT_DETECTION",
  97. 11: "DOCUMENT_TEXT_DETECTION",
  98. 6: "SAFE_SEARCH_DETECTION",
  99. 7: "IMAGE_PROPERTIES",
  100. 9: "CROP_HINTS",
  101. 10: "WEB_DETECTION",
  102. }
  103. var Feature_Type_value = map[string]int32{
  104. "TYPE_UNSPECIFIED": 0,
  105. "FACE_DETECTION": 1,
  106. "LANDMARK_DETECTION": 2,
  107. "LOGO_DETECTION": 3,
  108. "LABEL_DETECTION": 4,
  109. "TEXT_DETECTION": 5,
  110. "DOCUMENT_TEXT_DETECTION": 11,
  111. "SAFE_SEARCH_DETECTION": 6,
  112. "IMAGE_PROPERTIES": 7,
  113. "CROP_HINTS": 9,
  114. "WEB_DETECTION": 10,
  115. }
  116. func (x Feature_Type) String() string {
  117. return proto.EnumName(Feature_Type_name, int32(x))
  118. }
  119. func (Feature_Type) EnumDescriptor() ([]byte, []int) {
  120. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{0, 0}
  121. }
  122. // Face landmark (feature) type.
  123. // Left and right are defined from the vantage of the viewer of the image
  124. // without considering mirror projections typical of photos. So, `LEFT_EYE`,
  125. // typically, is the person's right eye.
  126. type FaceAnnotation_Landmark_Type int32
  127. const (
  128. // Unknown face landmark detected. Should not be filled.
  129. FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
  130. // Left eye.
  131. FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
  132. // Right eye.
  133. FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
  134. // Left of left eyebrow.
  135. FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
  136. // Right of left eyebrow.
  137. FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
  138. // Left of right eyebrow.
  139. FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
  140. // Right of right eyebrow.
  141. FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
  142. // Midpoint between eyes.
  143. FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
  144. // Nose tip.
  145. FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
  146. // Upper lip.
  147. FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
  148. // Lower lip.
  149. FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
  150. // Mouth left.
  151. FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
  152. // Mouth right.
  153. FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
  154. // Mouth center.
  155. FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
  156. // Nose, bottom right.
  157. FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
  158. // Nose, bottom left.
  159. FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
  160. // Nose, bottom center.
  161. FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
  162. // Left eye, top boundary.
  163. FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
  164. // Left eye, right corner.
  165. FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
  166. // Left eye, bottom boundary.
  167. FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
  168. // Left eye, left corner.
  169. FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
  170. // Right eye, top boundary.
  171. FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
  172. // Right eye, right corner.
  173. FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
  174. // Right eye, bottom boundary.
  175. FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
  176. // Right eye, left corner.
  177. FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
  178. // Left eyebrow, upper midpoint.
  179. FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
  180. // Right eyebrow, upper midpoint.
  181. FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
  182. // Left ear tragion.
  183. FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
  184. // Right ear tragion.
  185. FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
  186. // Left eye pupil.
  187. FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
  188. // Right eye pupil.
  189. FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
  190. // Forehead glabella.
  191. FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
  192. // Chin gnathion.
  193. FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
  194. // Chin left gonion.
  195. FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
  196. // Chin right gonion.
  197. FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
  198. )
  199. var FaceAnnotation_Landmark_Type_name = map[int32]string{
  200. 0: "UNKNOWN_LANDMARK",
  201. 1: "LEFT_EYE",
  202. 2: "RIGHT_EYE",
  203. 3: "LEFT_OF_LEFT_EYEBROW",
  204. 4: "RIGHT_OF_LEFT_EYEBROW",
  205. 5: "LEFT_OF_RIGHT_EYEBROW",
  206. 6: "RIGHT_OF_RIGHT_EYEBROW",
  207. 7: "MIDPOINT_BETWEEN_EYES",
  208. 8: "NOSE_TIP",
  209. 9: "UPPER_LIP",
  210. 10: "LOWER_LIP",
  211. 11: "MOUTH_LEFT",
  212. 12: "MOUTH_RIGHT",
  213. 13: "MOUTH_CENTER",
  214. 14: "NOSE_BOTTOM_RIGHT",
  215. 15: "NOSE_BOTTOM_LEFT",
  216. 16: "NOSE_BOTTOM_CENTER",
  217. 17: "LEFT_EYE_TOP_BOUNDARY",
  218. 18: "LEFT_EYE_RIGHT_CORNER",
  219. 19: "LEFT_EYE_BOTTOM_BOUNDARY",
  220. 20: "LEFT_EYE_LEFT_CORNER",
  221. 21: "RIGHT_EYE_TOP_BOUNDARY",
  222. 22: "RIGHT_EYE_RIGHT_CORNER",
  223. 23: "RIGHT_EYE_BOTTOM_BOUNDARY",
  224. 24: "RIGHT_EYE_LEFT_CORNER",
  225. 25: "LEFT_EYEBROW_UPPER_MIDPOINT",
  226. 26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
  227. 27: "LEFT_EAR_TRAGION",
  228. 28: "RIGHT_EAR_TRAGION",
  229. 29: "LEFT_EYE_PUPIL",
  230. 30: "RIGHT_EYE_PUPIL",
  231. 31: "FOREHEAD_GLABELLA",
  232. 32: "CHIN_GNATHION",
  233. 33: "CHIN_LEFT_GONION",
  234. 34: "CHIN_RIGHT_GONION",
  235. }
  236. var FaceAnnotation_Landmark_Type_value = map[string]int32{
  237. "UNKNOWN_LANDMARK": 0,
  238. "LEFT_EYE": 1,
  239. "RIGHT_EYE": 2,
  240. "LEFT_OF_LEFT_EYEBROW": 3,
  241. "RIGHT_OF_LEFT_EYEBROW": 4,
  242. "LEFT_OF_RIGHT_EYEBROW": 5,
  243. "RIGHT_OF_RIGHT_EYEBROW": 6,
  244. "MIDPOINT_BETWEEN_EYES": 7,
  245. "NOSE_TIP": 8,
  246. "UPPER_LIP": 9,
  247. "LOWER_LIP": 10,
  248. "MOUTH_LEFT": 11,
  249. "MOUTH_RIGHT": 12,
  250. "MOUTH_CENTER": 13,
  251. "NOSE_BOTTOM_RIGHT": 14,
  252. "NOSE_BOTTOM_LEFT": 15,
  253. "NOSE_BOTTOM_CENTER": 16,
  254. "LEFT_EYE_TOP_BOUNDARY": 17,
  255. "LEFT_EYE_RIGHT_CORNER": 18,
  256. "LEFT_EYE_BOTTOM_BOUNDARY": 19,
  257. "LEFT_EYE_LEFT_CORNER": 20,
  258. "RIGHT_EYE_TOP_BOUNDARY": 21,
  259. "RIGHT_EYE_RIGHT_CORNER": 22,
  260. "RIGHT_EYE_BOTTOM_BOUNDARY": 23,
  261. "RIGHT_EYE_LEFT_CORNER": 24,
  262. "LEFT_EYEBROW_UPPER_MIDPOINT": 25,
  263. "RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
  264. "LEFT_EAR_TRAGION": 27,
  265. "RIGHT_EAR_TRAGION": 28,
  266. "LEFT_EYE_PUPIL": 29,
  267. "RIGHT_EYE_PUPIL": 30,
  268. "FOREHEAD_GLABELLA": 31,
  269. "CHIN_GNATHION": 32,
  270. "CHIN_LEFT_GONION": 33,
  271. "CHIN_RIGHT_GONION": 34,
  272. }
  273. func (x FaceAnnotation_Landmark_Type) String() string {
  274. return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x))
  275. }
  276. func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
  277. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{3, 0, 0}
  278. }
  279. // Users describe the type of Google Cloud Vision API tasks to perform over
  280. // images by using *Feature*s. Each Feature indicates a type of image
  281. // detection task to perform. Features encode the Cloud Vision API
  282. // vertical to operate on and the number of top-scoring results to return.
  283. type Feature struct {
  284. // The feature type.
  285. Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.Feature_Type" json:"type,omitempty"`
  286. // Maximum number of results of this type.
  287. MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
  288. // Model to use for the feature.
  289. // Supported values: "builtin/stable" (the default if unset) and
  290. // "builtin/latest".
  291. Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
  292. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  293. XXX_unrecognized []byte `json:"-"`
  294. XXX_sizecache int32 `json:"-"`
  295. }
  296. func (m *Feature) Reset() { *m = Feature{} }
  297. func (m *Feature) String() string { return proto.CompactTextString(m) }
  298. func (*Feature) ProtoMessage() {}
  299. func (*Feature) Descriptor() ([]byte, []int) {
  300. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{0}
  301. }
  302. func (m *Feature) XXX_Unmarshal(b []byte) error {
  303. return xxx_messageInfo_Feature.Unmarshal(m, b)
  304. }
  305. func (m *Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  306. return xxx_messageInfo_Feature.Marshal(b, m, deterministic)
  307. }
  308. func (dst *Feature) XXX_Merge(src proto.Message) {
  309. xxx_messageInfo_Feature.Merge(dst, src)
  310. }
  311. func (m *Feature) XXX_Size() int {
  312. return xxx_messageInfo_Feature.Size(m)
  313. }
  314. func (m *Feature) XXX_DiscardUnknown() {
  315. xxx_messageInfo_Feature.DiscardUnknown(m)
  316. }
  317. var xxx_messageInfo_Feature proto.InternalMessageInfo
  318. func (m *Feature) GetType() Feature_Type {
  319. if m != nil {
  320. return m.Type
  321. }
  322. return Feature_TYPE_UNSPECIFIED
  323. }
  324. func (m *Feature) GetMaxResults() int32 {
  325. if m != nil {
  326. return m.MaxResults
  327. }
  328. return 0
  329. }
  330. func (m *Feature) GetModel() string {
  331. if m != nil {
  332. return m.Model
  333. }
  334. return ""
  335. }
  336. // External image source (Google Cloud Storage image location).
  337. type ImageSource struct {
  338. // NOTE: For new code `image_uri` below is preferred.
  339. // Google Cloud Storage image URI, which must be in the following form:
  340. // `gs://bucket_name/object_name` (for details, see
  341. // [Google Cloud Storage Request
  342. // URIs](https://cloud.google.com/storage/docs/reference-uris)).
  343. // NOTE: Cloud Storage object versioning is not supported.
  344. GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
  345. // Image URI which supports:
  346. // 1) Google Cloud Storage image URI, which must be in the following form:
  347. // `gs://bucket_name/object_name` (for details, see
  348. // [Google Cloud Storage Request
  349. // URIs](https://cloud.google.com/storage/docs/reference-uris)).
  350. // NOTE: Cloud Storage object versioning is not supported.
  351. // 2) Publicly accessible image HTTP/HTTPS URL.
  352. // This is preferred over the legacy `gcs_image_uri` above. When both
  353. // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
  354. // precedence.
  355. ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
  356. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  357. XXX_unrecognized []byte `json:"-"`
  358. XXX_sizecache int32 `json:"-"`
  359. }
  360. func (m *ImageSource) Reset() { *m = ImageSource{} }
  361. func (m *ImageSource) String() string { return proto.CompactTextString(m) }
  362. func (*ImageSource) ProtoMessage() {}
  363. func (*ImageSource) Descriptor() ([]byte, []int) {
  364. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{1}
  365. }
  366. func (m *ImageSource) XXX_Unmarshal(b []byte) error {
  367. return xxx_messageInfo_ImageSource.Unmarshal(m, b)
  368. }
  369. func (m *ImageSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  370. return xxx_messageInfo_ImageSource.Marshal(b, m, deterministic)
  371. }
  372. func (dst *ImageSource) XXX_Merge(src proto.Message) {
  373. xxx_messageInfo_ImageSource.Merge(dst, src)
  374. }
  375. func (m *ImageSource) XXX_Size() int {
  376. return xxx_messageInfo_ImageSource.Size(m)
  377. }
  378. func (m *ImageSource) XXX_DiscardUnknown() {
  379. xxx_messageInfo_ImageSource.DiscardUnknown(m)
  380. }
  381. var xxx_messageInfo_ImageSource proto.InternalMessageInfo
  382. func (m *ImageSource) GetGcsImageUri() string {
  383. if m != nil {
  384. return m.GcsImageUri
  385. }
  386. return ""
  387. }
  388. func (m *ImageSource) GetImageUri() string {
  389. if m != nil {
  390. return m.ImageUri
  391. }
  392. return ""
  393. }
  394. // Client image to perform Google Cloud Vision API tasks over.
  395. type Image struct {
  396. // Image content, represented as a stream of bytes.
  397. // Note: as with all `bytes` fields, protobuffers use a pure binary
  398. // representation, whereas JSON representations use base64.
  399. Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
  400. // Google Cloud Storage image location. If both `content` and `source`
  401. // are provided for an image, `content` takes precedence and is
  402. // used to perform the image annotation request.
  403. Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
  404. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  405. XXX_unrecognized []byte `json:"-"`
  406. XXX_sizecache int32 `json:"-"`
  407. }
  408. func (m *Image) Reset() { *m = Image{} }
  409. func (m *Image) String() string { return proto.CompactTextString(m) }
  410. func (*Image) ProtoMessage() {}
  411. func (*Image) Descriptor() ([]byte, []int) {
  412. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{2}
  413. }
  414. func (m *Image) XXX_Unmarshal(b []byte) error {
  415. return xxx_messageInfo_Image.Unmarshal(m, b)
  416. }
  417. func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  418. return xxx_messageInfo_Image.Marshal(b, m, deterministic)
  419. }
  420. func (dst *Image) XXX_Merge(src proto.Message) {
  421. xxx_messageInfo_Image.Merge(dst, src)
  422. }
  423. func (m *Image) XXX_Size() int {
  424. return xxx_messageInfo_Image.Size(m)
  425. }
  426. func (m *Image) XXX_DiscardUnknown() {
  427. xxx_messageInfo_Image.DiscardUnknown(m)
  428. }
  429. var xxx_messageInfo_Image proto.InternalMessageInfo
  430. func (m *Image) GetContent() []byte {
  431. if m != nil {
  432. return m.Content
  433. }
  434. return nil
  435. }
  436. func (m *Image) GetSource() *ImageSource {
  437. if m != nil {
  438. return m.Source
  439. }
  440. return nil
  441. }
  442. // A face annotation object contains the results of face detection.
  443. type FaceAnnotation struct {
  444. // The bounding polygon around the face. The coordinates of the bounding box
  445. // are in the original image's scale, as returned in `ImageParams`.
  446. // The bounding box is computed to "frame" the face in accordance with human
  447. // expectations. It is based on the landmarker results.
  448. // Note that one or more x and/or y coordinates may not be generated in the
  449. // `BoundingPoly` (the polygon will be unbounded) if only a partial face
  450. // appears in the image to be annotated.
  451. BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
  452. // The `fd_bounding_poly` bounding polygon is tighter than the
  453. // `boundingPoly`, and encloses only the skin part of the face. Typically, it
  454. // is used to eliminate the face from any image analysis that detects the
  455. // "amount of skin" visible in an image. It is not based on the
  456. // landmarker results, only on the initial face detection, hence
  457. // the <code>fd</code> (face detection) prefix.
  458. FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
  459. // Detected face landmarks.
  460. Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
  461. // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
  462. // of the face relative to the image vertical about the axis perpendicular to
  463. // the face. Range [-180,180].
  464. RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
  465. // Yaw angle, which indicates the leftward/rightward angle that the face is
  466. // pointing relative to the vertical plane perpendicular to the image. Range
  467. // [-180,180].
  468. PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
  469. // Pitch angle, which indicates the upwards/downwards angle that the face is
  470. // pointing relative to the image's horizontal plane. Range [-180,180].
  471. TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
  472. // Detection confidence. Range [0, 1].
  473. DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
  474. // Face landmarking confidence. Range [0, 1].
  475. LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
  476. // Joy likelihood.
  477. JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"joy_likelihood,omitempty"`
  478. // Sorrow likelihood.
  479. SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
  480. // Anger likelihood.
  481. AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"anger_likelihood,omitempty"`
  482. // Surprise likelihood.
  483. SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"surprise_likelihood,omitempty"`
  484. // Under-exposed likelihood.
  485. UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
  486. // Blurred likelihood.
  487. BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"blurred_likelihood,omitempty"`
  488. // Headwear likelihood.
  489. HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"headwear_likelihood,omitempty"`
  490. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  491. XXX_unrecognized []byte `json:"-"`
  492. XXX_sizecache int32 `json:"-"`
  493. }
  494. func (m *FaceAnnotation) Reset() { *m = FaceAnnotation{} }
  495. func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
  496. func (*FaceAnnotation) ProtoMessage() {}
  497. func (*FaceAnnotation) Descriptor() ([]byte, []int) {
  498. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{3}
  499. }
  500. func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error {
  501. return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b)
  502. }
  503. func (m *FaceAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  504. return xxx_messageInfo_FaceAnnotation.Marshal(b, m, deterministic)
  505. }
  506. func (dst *FaceAnnotation) XXX_Merge(src proto.Message) {
  507. xxx_messageInfo_FaceAnnotation.Merge(dst, src)
  508. }
  509. func (m *FaceAnnotation) XXX_Size() int {
  510. return xxx_messageInfo_FaceAnnotation.Size(m)
  511. }
  512. func (m *FaceAnnotation) XXX_DiscardUnknown() {
  513. xxx_messageInfo_FaceAnnotation.DiscardUnknown(m)
  514. }
  515. var xxx_messageInfo_FaceAnnotation proto.InternalMessageInfo
  516. func (m *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
  517. if m != nil {
  518. return m.BoundingPoly
  519. }
  520. return nil
  521. }
  522. func (m *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
  523. if m != nil {
  524. return m.FdBoundingPoly
  525. }
  526. return nil
  527. }
  528. func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
  529. if m != nil {
  530. return m.Landmarks
  531. }
  532. return nil
  533. }
  534. func (m *FaceAnnotation) GetRollAngle() float32 {
  535. if m != nil {
  536. return m.RollAngle
  537. }
  538. return 0
  539. }
  540. func (m *FaceAnnotation) GetPanAngle() float32 {
  541. if m != nil {
  542. return m.PanAngle
  543. }
  544. return 0
  545. }
  546. func (m *FaceAnnotation) GetTiltAngle() float32 {
  547. if m != nil {
  548. return m.TiltAngle
  549. }
  550. return 0
  551. }
  552. func (m *FaceAnnotation) GetDetectionConfidence() float32 {
  553. if m != nil {
  554. return m.DetectionConfidence
  555. }
  556. return 0
  557. }
  558. func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
  559. if m != nil {
  560. return m.LandmarkingConfidence
  561. }
  562. return 0
  563. }
  564. func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
  565. if m != nil {
  566. return m.JoyLikelihood
  567. }
  568. return Likelihood_UNKNOWN
  569. }
  570. func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
  571. if m != nil {
  572. return m.SorrowLikelihood
  573. }
  574. return Likelihood_UNKNOWN
  575. }
  576. func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
  577. if m != nil {
  578. return m.AngerLikelihood
  579. }
  580. return Likelihood_UNKNOWN
  581. }
  582. func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
  583. if m != nil {
  584. return m.SurpriseLikelihood
  585. }
  586. return Likelihood_UNKNOWN
  587. }
  588. func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
  589. if m != nil {
  590. return m.UnderExposedLikelihood
  591. }
  592. return Likelihood_UNKNOWN
  593. }
  594. func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
  595. if m != nil {
  596. return m.BlurredLikelihood
  597. }
  598. return Likelihood_UNKNOWN
  599. }
  600. func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
  601. if m != nil {
  602. return m.HeadwearLikelihood
  603. }
  604. return Likelihood_UNKNOWN
  605. }
  606. // A face-specific landmark (for example, a face feature).
  607. type FaceAnnotation_Landmark struct {
  608. // Face landmark type.
  609. Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
  610. // Face landmark position.
  611. Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
  612. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  613. XXX_unrecognized []byte `json:"-"`
  614. XXX_sizecache int32 `json:"-"`
  615. }
  616. func (m *FaceAnnotation_Landmark) Reset() { *m = FaceAnnotation_Landmark{} }
  617. func (m *FaceAnnotation_Landmark) String() string { return proto.CompactTextString(m) }
  618. func (*FaceAnnotation_Landmark) ProtoMessage() {}
  619. func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
  620. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{3, 0}
  621. }
  622. func (m *FaceAnnotation_Landmark) XXX_Unmarshal(b []byte) error {
  623. return xxx_messageInfo_FaceAnnotation_Landmark.Unmarshal(m, b)
  624. }
  625. func (m *FaceAnnotation_Landmark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  626. return xxx_messageInfo_FaceAnnotation_Landmark.Marshal(b, m, deterministic)
  627. }
  628. func (dst *FaceAnnotation_Landmark) XXX_Merge(src proto.Message) {
  629. xxx_messageInfo_FaceAnnotation_Landmark.Merge(dst, src)
  630. }
  631. func (m *FaceAnnotation_Landmark) XXX_Size() int {
  632. return xxx_messageInfo_FaceAnnotation_Landmark.Size(m)
  633. }
  634. func (m *FaceAnnotation_Landmark) XXX_DiscardUnknown() {
  635. xxx_messageInfo_FaceAnnotation_Landmark.DiscardUnknown(m)
  636. }
  637. var xxx_messageInfo_FaceAnnotation_Landmark proto.InternalMessageInfo
  638. func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
  639. if m != nil {
  640. return m.Type
  641. }
  642. return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
  643. }
  644. func (m *FaceAnnotation_Landmark) GetPosition() *Position {
  645. if m != nil {
  646. return m.Position
  647. }
  648. return nil
  649. }
  650. // Detected entity location information.
  651. type LocationInfo struct {
  652. // lat/long location coordinates.
  653. LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
  654. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  655. XXX_unrecognized []byte `json:"-"`
  656. XXX_sizecache int32 `json:"-"`
  657. }
  658. func (m *LocationInfo) Reset() { *m = LocationInfo{} }
  659. func (m *LocationInfo) String() string { return proto.CompactTextString(m) }
  660. func (*LocationInfo) ProtoMessage() {}
  661. func (*LocationInfo) Descriptor() ([]byte, []int) {
  662. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{4}
  663. }
  664. func (m *LocationInfo) XXX_Unmarshal(b []byte) error {
  665. return xxx_messageInfo_LocationInfo.Unmarshal(m, b)
  666. }
  667. func (m *LocationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  668. return xxx_messageInfo_LocationInfo.Marshal(b, m, deterministic)
  669. }
  670. func (dst *LocationInfo) XXX_Merge(src proto.Message) {
  671. xxx_messageInfo_LocationInfo.Merge(dst, src)
  672. }
  673. func (m *LocationInfo) XXX_Size() int {
  674. return xxx_messageInfo_LocationInfo.Size(m)
  675. }
  676. func (m *LocationInfo) XXX_DiscardUnknown() {
  677. xxx_messageInfo_LocationInfo.DiscardUnknown(m)
  678. }
  679. var xxx_messageInfo_LocationInfo proto.InternalMessageInfo
  680. func (m *LocationInfo) GetLatLng() *latlng.LatLng {
  681. if m != nil {
  682. return m.LatLng
  683. }
  684. return nil
  685. }
  686. // A `Property` consists of a user-supplied name/value pair.
  687. type Property struct {
  688. // Name of the property.
  689. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  690. // Value of the property.
  691. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  692. // Value of numeric properties.
  693. Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
  694. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  695. XXX_unrecognized []byte `json:"-"`
  696. XXX_sizecache int32 `json:"-"`
  697. }
  698. func (m *Property) Reset() { *m = Property{} }
  699. func (m *Property) String() string { return proto.CompactTextString(m) }
  700. func (*Property) ProtoMessage() {}
  701. func (*Property) Descriptor() ([]byte, []int) {
  702. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{5}
  703. }
  704. func (m *Property) XXX_Unmarshal(b []byte) error {
  705. return xxx_messageInfo_Property.Unmarshal(m, b)
  706. }
  707. func (m *Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  708. return xxx_messageInfo_Property.Marshal(b, m, deterministic)
  709. }
  710. func (dst *Property) XXX_Merge(src proto.Message) {
  711. xxx_messageInfo_Property.Merge(dst, src)
  712. }
  713. func (m *Property) XXX_Size() int {
  714. return xxx_messageInfo_Property.Size(m)
  715. }
  716. func (m *Property) XXX_DiscardUnknown() {
  717. xxx_messageInfo_Property.DiscardUnknown(m)
  718. }
  719. var xxx_messageInfo_Property proto.InternalMessageInfo
  720. func (m *Property) GetName() string {
  721. if m != nil {
  722. return m.Name
  723. }
  724. return ""
  725. }
  726. func (m *Property) GetValue() string {
  727. if m != nil {
  728. return m.Value
  729. }
  730. return ""
  731. }
  732. func (m *Property) GetUint64Value() uint64 {
  733. if m != nil {
  734. return m.Uint64Value
  735. }
  736. return 0
  737. }
  738. // Set of detected entity features.
  739. type EntityAnnotation struct {
  740. // Opaque entity ID. Some IDs may be available in
  741. // [Google Knowledge Graph Search
  742. // API](https://developers.google.com/knowledge-graph/).
  743. Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
  744. // The language code for the locale in which the entity textual
  745. // `description` is expressed.
  746. Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
  747. // Entity textual description, expressed in its `locale` language.
  748. Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  749. // Overall score of the result. Range [0, 1].
  750. Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
  751. // The accuracy of the entity detection in an image.
  752. // For example, for an image in which the "Eiffel Tower" entity is detected,
  753. // this field represents the confidence that there is a tower in the query
  754. // image. Range [0, 1].
  755. Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
  756. // The relevancy of the ICA (Image Content Annotation) label to the
  757. // image. For example, the relevancy of "tower" is likely higher to an image
  758. // containing the detected "Eiffel Tower" than to an image containing a
  759. // detected distant towering building, even though the confidence that
  760. // there is a tower in each image may be the same. Range [0, 1].
  761. Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
  762. // Image region to which this entity belongs. Not produced
  763. // for `LABEL_DETECTION` features.
  764. BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
  765. // The location information for the detected entity. Multiple
  766. // `LocationInfo` elements can be present because one location may
  767. // indicate the location of the scene in the image, and another location
  768. // may indicate the location of the place where the image was taken.
  769. // Location information is usually present for landmarks.
  770. Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
  771. // Some entities may have optional user-supplied `Property` (name/value)
  772. // fields, such a score or string that qualifies the entity.
  773. Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
  774. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  775. XXX_unrecognized []byte `json:"-"`
  776. XXX_sizecache int32 `json:"-"`
  777. }
  778. func (m *EntityAnnotation) Reset() { *m = EntityAnnotation{} }
  779. func (m *EntityAnnotation) String() string { return proto.CompactTextString(m) }
  780. func (*EntityAnnotation) ProtoMessage() {}
  781. func (*EntityAnnotation) Descriptor() ([]byte, []int) {
  782. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{6}
  783. }
  784. func (m *EntityAnnotation) XXX_Unmarshal(b []byte) error {
  785. return xxx_messageInfo_EntityAnnotation.Unmarshal(m, b)
  786. }
  787. func (m *EntityAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  788. return xxx_messageInfo_EntityAnnotation.Marshal(b, m, deterministic)
  789. }
  790. func (dst *EntityAnnotation) XXX_Merge(src proto.Message) {
  791. xxx_messageInfo_EntityAnnotation.Merge(dst, src)
  792. }
  793. func (m *EntityAnnotation) XXX_Size() int {
  794. return xxx_messageInfo_EntityAnnotation.Size(m)
  795. }
  796. func (m *EntityAnnotation) XXX_DiscardUnknown() {
  797. xxx_messageInfo_EntityAnnotation.DiscardUnknown(m)
  798. }
  799. var xxx_messageInfo_EntityAnnotation proto.InternalMessageInfo
  800. func (m *EntityAnnotation) GetMid() string {
  801. if m != nil {
  802. return m.Mid
  803. }
  804. return ""
  805. }
  806. func (m *EntityAnnotation) GetLocale() string {
  807. if m != nil {
  808. return m.Locale
  809. }
  810. return ""
  811. }
  812. func (m *EntityAnnotation) GetDescription() string {
  813. if m != nil {
  814. return m.Description
  815. }
  816. return ""
  817. }
  818. func (m *EntityAnnotation) GetScore() float32 {
  819. if m != nil {
  820. return m.Score
  821. }
  822. return 0
  823. }
  824. func (m *EntityAnnotation) GetConfidence() float32 {
  825. if m != nil {
  826. return m.Confidence
  827. }
  828. return 0
  829. }
  830. func (m *EntityAnnotation) GetTopicality() float32 {
  831. if m != nil {
  832. return m.Topicality
  833. }
  834. return 0
  835. }
  836. func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
  837. if m != nil {
  838. return m.BoundingPoly
  839. }
  840. return nil
  841. }
  842. func (m *EntityAnnotation) GetLocations() []*LocationInfo {
  843. if m != nil {
  844. return m.Locations
  845. }
  846. return nil
  847. }
  848. func (m *EntityAnnotation) GetProperties() []*Property {
  849. if m != nil {
  850. return m.Properties
  851. }
  852. return nil
  853. }
  854. // Set of features pertaining to the image, computed by computer vision
  855. // methods over safe-search verticals (for example, adult, spoof, medical,
  856. // violence).
  857. type SafeSearchAnnotation struct {
  858. // Represents the adult content likelihood for the image. Adult content may
  859. // contain elements such as nudity, pornographic images or cartoons, or
  860. // sexual activities.
  861. Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"adult,omitempty"`
  862. // Spoof likelihood. The likelihood that an modification
  863. // was made to the image's canonical version to make it appear
  864. // funny or offensive.
  865. Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"spoof,omitempty"`
  866. // Likelihood that this is a medical image.
  867. Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"medical,omitempty"`
  868. // Likelihood that this image contains violent content.
  869. Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"violence,omitempty"`
  870. // Likelihood that the request image contains racy content. Racy content may
  871. // include (but is not limited to) skimpy or sheer clothing, strategically
  872. // covered nudity, lewd or provocative poses, or close-ups of sensitive
  873. // body areas.
  874. Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"racy,omitempty"`
  875. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  876. XXX_unrecognized []byte `json:"-"`
  877. XXX_sizecache int32 `json:"-"`
  878. }
  879. func (m *SafeSearchAnnotation) Reset() { *m = SafeSearchAnnotation{} }
  880. func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) }
  881. func (*SafeSearchAnnotation) ProtoMessage() {}
  882. func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
  883. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{7}
  884. }
  885. func (m *SafeSearchAnnotation) XXX_Unmarshal(b []byte) error {
  886. return xxx_messageInfo_SafeSearchAnnotation.Unmarshal(m, b)
  887. }
  888. func (m *SafeSearchAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  889. return xxx_messageInfo_SafeSearchAnnotation.Marshal(b, m, deterministic)
  890. }
  891. func (dst *SafeSearchAnnotation) XXX_Merge(src proto.Message) {
  892. xxx_messageInfo_SafeSearchAnnotation.Merge(dst, src)
  893. }
  894. func (m *SafeSearchAnnotation) XXX_Size() int {
  895. return xxx_messageInfo_SafeSearchAnnotation.Size(m)
  896. }
  897. func (m *SafeSearchAnnotation) XXX_DiscardUnknown() {
  898. xxx_messageInfo_SafeSearchAnnotation.DiscardUnknown(m)
  899. }
  900. var xxx_messageInfo_SafeSearchAnnotation proto.InternalMessageInfo
  901. func (m *SafeSearchAnnotation) GetAdult() Likelihood {
  902. if m != nil {
  903. return m.Adult
  904. }
  905. return Likelihood_UNKNOWN
  906. }
  907. func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
  908. if m != nil {
  909. return m.Spoof
  910. }
  911. return Likelihood_UNKNOWN
  912. }
  913. func (m *SafeSearchAnnotation) GetMedical() Likelihood {
  914. if m != nil {
  915. return m.Medical
  916. }
  917. return Likelihood_UNKNOWN
  918. }
  919. func (m *SafeSearchAnnotation) GetViolence() Likelihood {
  920. if m != nil {
  921. return m.Violence
  922. }
  923. return Likelihood_UNKNOWN
  924. }
  925. func (m *SafeSearchAnnotation) GetRacy() Likelihood {
  926. if m != nil {
  927. return m.Racy
  928. }
  929. return Likelihood_UNKNOWN
  930. }
  931. // Rectangle determined by min and max `LatLng` pairs.
  932. type LatLongRect struct {
  933. // Min lat/long pair.
  934. MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
  935. // Max lat/long pair.
  936. MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
  937. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  938. XXX_unrecognized []byte `json:"-"`
  939. XXX_sizecache int32 `json:"-"`
  940. }
  941. func (m *LatLongRect) Reset() { *m = LatLongRect{} }
  942. func (m *LatLongRect) String() string { return proto.CompactTextString(m) }
  943. func (*LatLongRect) ProtoMessage() {}
  944. func (*LatLongRect) Descriptor() ([]byte, []int) {
  945. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{8}
  946. }
  947. func (m *LatLongRect) XXX_Unmarshal(b []byte) error {
  948. return xxx_messageInfo_LatLongRect.Unmarshal(m, b)
  949. }
  950. func (m *LatLongRect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  951. return xxx_messageInfo_LatLongRect.Marshal(b, m, deterministic)
  952. }
  953. func (dst *LatLongRect) XXX_Merge(src proto.Message) {
  954. xxx_messageInfo_LatLongRect.Merge(dst, src)
  955. }
  956. func (m *LatLongRect) XXX_Size() int {
  957. return xxx_messageInfo_LatLongRect.Size(m)
  958. }
  959. func (m *LatLongRect) XXX_DiscardUnknown() {
  960. xxx_messageInfo_LatLongRect.DiscardUnknown(m)
  961. }
  962. var xxx_messageInfo_LatLongRect proto.InternalMessageInfo
  963. func (m *LatLongRect) GetMinLatLng() *latlng.LatLng {
  964. if m != nil {
  965. return m.MinLatLng
  966. }
  967. return nil
  968. }
  969. func (m *LatLongRect) GetMaxLatLng() *latlng.LatLng {
  970. if m != nil {
  971. return m.MaxLatLng
  972. }
  973. return nil
  974. }
  975. // Color information consists of RGB channels, score, and the fraction of
  976. // the image that the color occupies in the image.
  977. type ColorInfo struct {
  978. // RGB components of the color.
  979. Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
  980. // Image-specific score for this color. Value in range [0, 1].
  981. Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
  982. // The fraction of pixels the color occupies in the image.
  983. // Value in range [0, 1].
  984. PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
  985. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  986. XXX_unrecognized []byte `json:"-"`
  987. XXX_sizecache int32 `json:"-"`
  988. }
  989. func (m *ColorInfo) Reset() { *m = ColorInfo{} }
  990. func (m *ColorInfo) String() string { return proto.CompactTextString(m) }
  991. func (*ColorInfo) ProtoMessage() {}
  992. func (*ColorInfo) Descriptor() ([]byte, []int) {
  993. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{9}
  994. }
  995. func (m *ColorInfo) XXX_Unmarshal(b []byte) error {
  996. return xxx_messageInfo_ColorInfo.Unmarshal(m, b)
  997. }
  998. func (m *ColorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  999. return xxx_messageInfo_ColorInfo.Marshal(b, m, deterministic)
  1000. }
  1001. func (dst *ColorInfo) XXX_Merge(src proto.Message) {
  1002. xxx_messageInfo_ColorInfo.Merge(dst, src)
  1003. }
  1004. func (m *ColorInfo) XXX_Size() int {
  1005. return xxx_messageInfo_ColorInfo.Size(m)
  1006. }
  1007. func (m *ColorInfo) XXX_DiscardUnknown() {
  1008. xxx_messageInfo_ColorInfo.DiscardUnknown(m)
  1009. }
  1010. var xxx_messageInfo_ColorInfo proto.InternalMessageInfo
  1011. func (m *ColorInfo) GetColor() *color.Color {
  1012. if m != nil {
  1013. return m.Color
  1014. }
  1015. return nil
  1016. }
  1017. func (m *ColorInfo) GetScore() float32 {
  1018. if m != nil {
  1019. return m.Score
  1020. }
  1021. return 0
  1022. }
  1023. func (m *ColorInfo) GetPixelFraction() float32 {
  1024. if m != nil {
  1025. return m.PixelFraction
  1026. }
  1027. return 0
  1028. }
  1029. // Set of dominant colors and their corresponding scores.
  1030. type DominantColorsAnnotation struct {
  1031. // RGB color values with their score and pixel fraction.
  1032. Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
  1033. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1034. XXX_unrecognized []byte `json:"-"`
  1035. XXX_sizecache int32 `json:"-"`
  1036. }
  1037. func (m *DominantColorsAnnotation) Reset() { *m = DominantColorsAnnotation{} }
  1038. func (m *DominantColorsAnnotation) String() string { return proto.CompactTextString(m) }
  1039. func (*DominantColorsAnnotation) ProtoMessage() {}
  1040. func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
  1041. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{10}
  1042. }
  1043. func (m *DominantColorsAnnotation) XXX_Unmarshal(b []byte) error {
  1044. return xxx_messageInfo_DominantColorsAnnotation.Unmarshal(m, b)
  1045. }
  1046. func (m *DominantColorsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1047. return xxx_messageInfo_DominantColorsAnnotation.Marshal(b, m, deterministic)
  1048. }
  1049. func (dst *DominantColorsAnnotation) XXX_Merge(src proto.Message) {
  1050. xxx_messageInfo_DominantColorsAnnotation.Merge(dst, src)
  1051. }
  1052. func (m *DominantColorsAnnotation) XXX_Size() int {
  1053. return xxx_messageInfo_DominantColorsAnnotation.Size(m)
  1054. }
  1055. func (m *DominantColorsAnnotation) XXX_DiscardUnknown() {
  1056. xxx_messageInfo_DominantColorsAnnotation.DiscardUnknown(m)
  1057. }
  1058. var xxx_messageInfo_DominantColorsAnnotation proto.InternalMessageInfo
  1059. func (m *DominantColorsAnnotation) GetColors() []*ColorInfo {
  1060. if m != nil {
  1061. return m.Colors
  1062. }
  1063. return nil
  1064. }
  1065. // Stores image properties, such as dominant colors.
  1066. type ImageProperties struct {
  1067. // If present, dominant colors completed successfully.
  1068. DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
  1069. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1070. XXX_unrecognized []byte `json:"-"`
  1071. XXX_sizecache int32 `json:"-"`
  1072. }
  1073. func (m *ImageProperties) Reset() { *m = ImageProperties{} }
  1074. func (m *ImageProperties) String() string { return proto.CompactTextString(m) }
  1075. func (*ImageProperties) ProtoMessage() {}
  1076. func (*ImageProperties) Descriptor() ([]byte, []int) {
  1077. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{11}
  1078. }
  1079. func (m *ImageProperties) XXX_Unmarshal(b []byte) error {
  1080. return xxx_messageInfo_ImageProperties.Unmarshal(m, b)
  1081. }
  1082. func (m *ImageProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1083. return xxx_messageInfo_ImageProperties.Marshal(b, m, deterministic)
  1084. }
  1085. func (dst *ImageProperties) XXX_Merge(src proto.Message) {
  1086. xxx_messageInfo_ImageProperties.Merge(dst, src)
  1087. }
  1088. func (m *ImageProperties) XXX_Size() int {
  1089. return xxx_messageInfo_ImageProperties.Size(m)
  1090. }
  1091. func (m *ImageProperties) XXX_DiscardUnknown() {
  1092. xxx_messageInfo_ImageProperties.DiscardUnknown(m)
  1093. }
  1094. var xxx_messageInfo_ImageProperties proto.InternalMessageInfo
  1095. func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
  1096. if m != nil {
  1097. return m.DominantColors
  1098. }
  1099. return nil
  1100. }
  1101. // Single crop hint that is used to generate a new crop when serving an image.
  1102. type CropHint struct {
  1103. // The bounding polygon for the crop region. The coordinates of the bounding
  1104. // box are in the original image's scale, as returned in `ImageParams`.
  1105. BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
  1106. // Confidence of this being a salient region. Range [0, 1].
  1107. Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
  1108. // Fraction of importance of this salient region with respect to the original
  1109. // image.
  1110. ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
  1111. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1112. XXX_unrecognized []byte `json:"-"`
  1113. XXX_sizecache int32 `json:"-"`
  1114. }
  1115. func (m *CropHint) Reset() { *m = CropHint{} }
  1116. func (m *CropHint) String() string { return proto.CompactTextString(m) }
  1117. func (*CropHint) ProtoMessage() {}
  1118. func (*CropHint) Descriptor() ([]byte, []int) {
  1119. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{12}
  1120. }
  1121. func (m *CropHint) XXX_Unmarshal(b []byte) error {
  1122. return xxx_messageInfo_CropHint.Unmarshal(m, b)
  1123. }
  1124. func (m *CropHint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1125. return xxx_messageInfo_CropHint.Marshal(b, m, deterministic)
  1126. }
  1127. func (dst *CropHint) XXX_Merge(src proto.Message) {
  1128. xxx_messageInfo_CropHint.Merge(dst, src)
  1129. }
  1130. func (m *CropHint) XXX_Size() int {
  1131. return xxx_messageInfo_CropHint.Size(m)
  1132. }
  1133. func (m *CropHint) XXX_DiscardUnknown() {
  1134. xxx_messageInfo_CropHint.DiscardUnknown(m)
  1135. }
  1136. var xxx_messageInfo_CropHint proto.InternalMessageInfo
  1137. func (m *CropHint) GetBoundingPoly() *BoundingPoly {
  1138. if m != nil {
  1139. return m.BoundingPoly
  1140. }
  1141. return nil
  1142. }
  1143. func (m *CropHint) GetConfidence() float32 {
  1144. if m != nil {
  1145. return m.Confidence
  1146. }
  1147. return 0
  1148. }
  1149. func (m *CropHint) GetImportanceFraction() float32 {
  1150. if m != nil {
  1151. return m.ImportanceFraction
  1152. }
  1153. return 0
  1154. }
  1155. // Set of crop hints that are used to generate new crops when serving images.
  1156. type CropHintsAnnotation struct {
  1157. // Crop hint results.
  1158. CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
  1159. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1160. XXX_unrecognized []byte `json:"-"`
  1161. XXX_sizecache int32 `json:"-"`
  1162. }
  1163. func (m *CropHintsAnnotation) Reset() { *m = CropHintsAnnotation{} }
  1164. func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) }
  1165. func (*CropHintsAnnotation) ProtoMessage() {}
  1166. func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
  1167. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{13}
  1168. }
  1169. func (m *CropHintsAnnotation) XXX_Unmarshal(b []byte) error {
  1170. return xxx_messageInfo_CropHintsAnnotation.Unmarshal(m, b)
  1171. }
  1172. func (m *CropHintsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1173. return xxx_messageInfo_CropHintsAnnotation.Marshal(b, m, deterministic)
  1174. }
  1175. func (dst *CropHintsAnnotation) XXX_Merge(src proto.Message) {
  1176. xxx_messageInfo_CropHintsAnnotation.Merge(dst, src)
  1177. }
  1178. func (m *CropHintsAnnotation) XXX_Size() int {
  1179. return xxx_messageInfo_CropHintsAnnotation.Size(m)
  1180. }
  1181. func (m *CropHintsAnnotation) XXX_DiscardUnknown() {
  1182. xxx_messageInfo_CropHintsAnnotation.DiscardUnknown(m)
  1183. }
  1184. var xxx_messageInfo_CropHintsAnnotation proto.InternalMessageInfo
  1185. func (m *CropHintsAnnotation) GetCropHints() []*CropHint {
  1186. if m != nil {
  1187. return m.CropHints
  1188. }
  1189. return nil
  1190. }
  1191. // Parameters for crop hints annotation request.
  1192. type CropHintsParams struct {
  1193. // Aspect ratios in floats, representing the ratio of the width to the height
  1194. // of the image. For example, if the desired aspect ratio is 4/3, the
  1195. // corresponding float value should be 1.33333. If not specified, the
  1196. // best possible crop is returned. The number of provided aspect ratios is
  1197. // limited to a maximum of 16; any aspect ratios provided after the 16th are
  1198. // ignored.
  1199. AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
  1200. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1201. XXX_unrecognized []byte `json:"-"`
  1202. XXX_sizecache int32 `json:"-"`
  1203. }
  1204. func (m *CropHintsParams) Reset() { *m = CropHintsParams{} }
  1205. func (m *CropHintsParams) String() string { return proto.CompactTextString(m) }
  1206. func (*CropHintsParams) ProtoMessage() {}
  1207. func (*CropHintsParams) Descriptor() ([]byte, []int) {
  1208. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{14}
  1209. }
  1210. func (m *CropHintsParams) XXX_Unmarshal(b []byte) error {
  1211. return xxx_messageInfo_CropHintsParams.Unmarshal(m, b)
  1212. }
  1213. func (m *CropHintsParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1214. return xxx_messageInfo_CropHintsParams.Marshal(b, m, deterministic)
  1215. }
  1216. func (dst *CropHintsParams) XXX_Merge(src proto.Message) {
  1217. xxx_messageInfo_CropHintsParams.Merge(dst, src)
  1218. }
  1219. func (m *CropHintsParams) XXX_Size() int {
  1220. return xxx_messageInfo_CropHintsParams.Size(m)
  1221. }
  1222. func (m *CropHintsParams) XXX_DiscardUnknown() {
  1223. xxx_messageInfo_CropHintsParams.DiscardUnknown(m)
  1224. }
  1225. var xxx_messageInfo_CropHintsParams proto.InternalMessageInfo
  1226. func (m *CropHintsParams) GetAspectRatios() []float32 {
  1227. if m != nil {
  1228. return m.AspectRatios
  1229. }
  1230. return nil
  1231. }
  1232. // Parameters for web detection request.
  1233. type WebDetectionParams struct {
  1234. // Whether to include results derived from the geo information in the image.
  1235. IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
  1236. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1237. XXX_unrecognized []byte `json:"-"`
  1238. XXX_sizecache int32 `json:"-"`
  1239. }
  1240. func (m *WebDetectionParams) Reset() { *m = WebDetectionParams{} }
  1241. func (m *WebDetectionParams) String() string { return proto.CompactTextString(m) }
  1242. func (*WebDetectionParams) ProtoMessage() {}
  1243. func (*WebDetectionParams) Descriptor() ([]byte, []int) {
  1244. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{15}
  1245. }
  1246. func (m *WebDetectionParams) XXX_Unmarshal(b []byte) error {
  1247. return xxx_messageInfo_WebDetectionParams.Unmarshal(m, b)
  1248. }
  1249. func (m *WebDetectionParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1250. return xxx_messageInfo_WebDetectionParams.Marshal(b, m, deterministic)
  1251. }
  1252. func (dst *WebDetectionParams) XXX_Merge(src proto.Message) {
  1253. xxx_messageInfo_WebDetectionParams.Merge(dst, src)
  1254. }
  1255. func (m *WebDetectionParams) XXX_Size() int {
  1256. return xxx_messageInfo_WebDetectionParams.Size(m)
  1257. }
  1258. func (m *WebDetectionParams) XXX_DiscardUnknown() {
  1259. xxx_messageInfo_WebDetectionParams.DiscardUnknown(m)
  1260. }
  1261. var xxx_messageInfo_WebDetectionParams proto.InternalMessageInfo
  1262. func (m *WebDetectionParams) GetIncludeGeoResults() bool {
  1263. if m != nil {
  1264. return m.IncludeGeoResults
  1265. }
  1266. return false
  1267. }
  1268. // Image context and/or feature-specific parameters.
  1269. type ImageContext struct {
  1270. // lat/long rectangle that specifies the location of the image.
  1271. LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
  1272. // List of languages to use for TEXT_DETECTION. In most cases, an empty value
  1273. // yields the best results since it enables automatic language detection. For
  1274. // languages based on the Latin alphabet, setting `language_hints` is not
  1275. // needed. In rare cases, when the language of the text in the image is known,
  1276. // setting a hint will help get better results (although it will be a
  1277. // significant hindrance if the hint is wrong). Text detection returns an
  1278. // error if one or more of the specified languages is not one of the
  1279. // [supported languages](/vision/docs/languages).
  1280. LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
  1281. // Parameters for crop hints annotation request.
  1282. CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
  1283. // Parameters for web detection.
  1284. WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
  1285. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1286. XXX_unrecognized []byte `json:"-"`
  1287. XXX_sizecache int32 `json:"-"`
  1288. }
  1289. func (m *ImageContext) Reset() { *m = ImageContext{} }
  1290. func (m *ImageContext) String() string { return proto.CompactTextString(m) }
  1291. func (*ImageContext) ProtoMessage() {}
  1292. func (*ImageContext) Descriptor() ([]byte, []int) {
  1293. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{16}
  1294. }
  1295. func (m *ImageContext) XXX_Unmarshal(b []byte) error {
  1296. return xxx_messageInfo_ImageContext.Unmarshal(m, b)
  1297. }
  1298. func (m *ImageContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1299. return xxx_messageInfo_ImageContext.Marshal(b, m, deterministic)
  1300. }
  1301. func (dst *ImageContext) XXX_Merge(src proto.Message) {
  1302. xxx_messageInfo_ImageContext.Merge(dst, src)
  1303. }
  1304. func (m *ImageContext) XXX_Size() int {
  1305. return xxx_messageInfo_ImageContext.Size(m)
  1306. }
  1307. func (m *ImageContext) XXX_DiscardUnknown() {
  1308. xxx_messageInfo_ImageContext.DiscardUnknown(m)
  1309. }
  1310. var xxx_messageInfo_ImageContext proto.InternalMessageInfo
  1311. func (m *ImageContext) GetLatLongRect() *LatLongRect {
  1312. if m != nil {
  1313. return m.LatLongRect
  1314. }
  1315. return nil
  1316. }
  1317. func (m *ImageContext) GetLanguageHints() []string {
  1318. if m != nil {
  1319. return m.LanguageHints
  1320. }
  1321. return nil
  1322. }
  1323. func (m *ImageContext) GetCropHintsParams() *CropHintsParams {
  1324. if m != nil {
  1325. return m.CropHintsParams
  1326. }
  1327. return nil
  1328. }
  1329. func (m *ImageContext) GetWebDetectionParams() *WebDetectionParams {
  1330. if m != nil {
  1331. return m.WebDetectionParams
  1332. }
  1333. return nil
  1334. }
  1335. // Request for performing Google Cloud Vision API tasks over a user-provided
  1336. // image, with user-requested features.
  1337. type AnnotateImageRequest struct {
  1338. // The image to be processed.
  1339. Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
  1340. // Requested features.
  1341. Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
  1342. // Additional context that may accompany the image.
  1343. ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
  1344. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1345. XXX_unrecognized []byte `json:"-"`
  1346. XXX_sizecache int32 `json:"-"`
  1347. }
  1348. func (m *AnnotateImageRequest) Reset() { *m = AnnotateImageRequest{} }
  1349. func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) }
  1350. func (*AnnotateImageRequest) ProtoMessage() {}
  1351. func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
  1352. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{17}
  1353. }
  1354. func (m *AnnotateImageRequest) XXX_Unmarshal(b []byte) error {
  1355. return xxx_messageInfo_AnnotateImageRequest.Unmarshal(m, b)
  1356. }
  1357. func (m *AnnotateImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1358. return xxx_messageInfo_AnnotateImageRequest.Marshal(b, m, deterministic)
  1359. }
  1360. func (dst *AnnotateImageRequest) XXX_Merge(src proto.Message) {
  1361. xxx_messageInfo_AnnotateImageRequest.Merge(dst, src)
  1362. }
  1363. func (m *AnnotateImageRequest) XXX_Size() int {
  1364. return xxx_messageInfo_AnnotateImageRequest.Size(m)
  1365. }
  1366. func (m *AnnotateImageRequest) XXX_DiscardUnknown() {
  1367. xxx_messageInfo_AnnotateImageRequest.DiscardUnknown(m)
  1368. }
  1369. var xxx_messageInfo_AnnotateImageRequest proto.InternalMessageInfo
  1370. func (m *AnnotateImageRequest) GetImage() *Image {
  1371. if m != nil {
  1372. return m.Image
  1373. }
  1374. return nil
  1375. }
  1376. func (m *AnnotateImageRequest) GetFeatures() []*Feature {
  1377. if m != nil {
  1378. return m.Features
  1379. }
  1380. return nil
  1381. }
  1382. func (m *AnnotateImageRequest) GetImageContext() *ImageContext {
  1383. if m != nil {
  1384. return m.ImageContext
  1385. }
  1386. return nil
  1387. }
  1388. // Response to an image annotation request.
  1389. type AnnotateImageResponse struct {
  1390. // If present, face detection has completed successfully.
  1391. FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
  1392. // If present, landmark detection has completed successfully.
  1393. LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
  1394. // If present, logo detection has completed successfully.
  1395. LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
  1396. // If present, label detection has completed successfully.
  1397. LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
  1398. // If present, text (OCR) detection has completed successfully.
  1399. TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
  1400. // If present, text (OCR) detection or document (OCR) text detection has
  1401. // completed successfully.
  1402. // This annotation provides the structural hierarchy for the OCR detected
  1403. // text.
  1404. FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
  1405. // If present, safe-search annotation has completed successfully.
  1406. SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
  1407. // If present, image properties were extracted successfully.
  1408. ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
  1409. // If present, crop hints have completed successfully.
  1410. CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
  1411. // If present, web detection has completed successfully.
  1412. WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
  1413. // If set, represents the error message for the operation.
  1414. // Note that filled-in image annotations are guaranteed to be
  1415. // correct, even when `error` is set.
  1416. Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
  1417. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1418. XXX_unrecognized []byte `json:"-"`
  1419. XXX_sizecache int32 `json:"-"`
  1420. }
  1421. func (m *AnnotateImageResponse) Reset() { *m = AnnotateImageResponse{} }
  1422. func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) }
  1423. func (*AnnotateImageResponse) ProtoMessage() {}
  1424. func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
  1425. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{18}
  1426. }
  1427. func (m *AnnotateImageResponse) XXX_Unmarshal(b []byte) error {
  1428. return xxx_messageInfo_AnnotateImageResponse.Unmarshal(m, b)
  1429. }
  1430. func (m *AnnotateImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1431. return xxx_messageInfo_AnnotateImageResponse.Marshal(b, m, deterministic)
  1432. }
  1433. func (dst *AnnotateImageResponse) XXX_Merge(src proto.Message) {
  1434. xxx_messageInfo_AnnotateImageResponse.Merge(dst, src)
  1435. }
  1436. func (m *AnnotateImageResponse) XXX_Size() int {
  1437. return xxx_messageInfo_AnnotateImageResponse.Size(m)
  1438. }
  1439. func (m *AnnotateImageResponse) XXX_DiscardUnknown() {
  1440. xxx_messageInfo_AnnotateImageResponse.DiscardUnknown(m)
  1441. }
  1442. var xxx_messageInfo_AnnotateImageResponse proto.InternalMessageInfo
  1443. func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
  1444. if m != nil {
  1445. return m.FaceAnnotations
  1446. }
  1447. return nil
  1448. }
  1449. func (m *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
  1450. if m != nil {
  1451. return m.LandmarkAnnotations
  1452. }
  1453. return nil
  1454. }
  1455. func (m *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
  1456. if m != nil {
  1457. return m.LogoAnnotations
  1458. }
  1459. return nil
  1460. }
  1461. func (m *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
  1462. if m != nil {
  1463. return m.LabelAnnotations
  1464. }
  1465. return nil
  1466. }
  1467. func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
  1468. if m != nil {
  1469. return m.TextAnnotations
  1470. }
  1471. return nil
  1472. }
  1473. func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
  1474. if m != nil {
  1475. return m.FullTextAnnotation
  1476. }
  1477. return nil
  1478. }
  1479. func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
  1480. if m != nil {
  1481. return m.SafeSearchAnnotation
  1482. }
  1483. return nil
  1484. }
  1485. func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
  1486. if m != nil {
  1487. return m.ImagePropertiesAnnotation
  1488. }
  1489. return nil
  1490. }
  1491. func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
  1492. if m != nil {
  1493. return m.CropHintsAnnotation
  1494. }
  1495. return nil
  1496. }
  1497. func (m *AnnotateImageResponse) GetWebDetection() *WebDetection {
  1498. if m != nil {
  1499. return m.WebDetection
  1500. }
  1501. return nil
  1502. }
  1503. func (m *AnnotateImageResponse) GetError() *status.Status {
  1504. if m != nil {
  1505. return m.Error
  1506. }
  1507. return nil
  1508. }
  1509. // Multiple image annotation requests are batched into a single service call.
  1510. type BatchAnnotateImagesRequest struct {
  1511. // Individual image annotation requests for this batch.
  1512. Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
  1513. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1514. XXX_unrecognized []byte `json:"-"`
  1515. XXX_sizecache int32 `json:"-"`
  1516. }
  1517. func (m *BatchAnnotateImagesRequest) Reset() { *m = BatchAnnotateImagesRequest{} }
  1518. func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) }
  1519. func (*BatchAnnotateImagesRequest) ProtoMessage() {}
  1520. func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
  1521. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{19}
  1522. }
  1523. func (m *BatchAnnotateImagesRequest) XXX_Unmarshal(b []byte) error {
  1524. return xxx_messageInfo_BatchAnnotateImagesRequest.Unmarshal(m, b)
  1525. }
  1526. func (m *BatchAnnotateImagesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1527. return xxx_messageInfo_BatchAnnotateImagesRequest.Marshal(b, m, deterministic)
  1528. }
  1529. func (dst *BatchAnnotateImagesRequest) XXX_Merge(src proto.Message) {
  1530. xxx_messageInfo_BatchAnnotateImagesRequest.Merge(dst, src)
  1531. }
  1532. func (m *BatchAnnotateImagesRequest) XXX_Size() int {
  1533. return xxx_messageInfo_BatchAnnotateImagesRequest.Size(m)
  1534. }
  1535. func (m *BatchAnnotateImagesRequest) XXX_DiscardUnknown() {
  1536. xxx_messageInfo_BatchAnnotateImagesRequest.DiscardUnknown(m)
  1537. }
  1538. var xxx_messageInfo_BatchAnnotateImagesRequest proto.InternalMessageInfo
  1539. func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
  1540. if m != nil {
  1541. return m.Requests
  1542. }
  1543. return nil
  1544. }
  1545. // Response to a batch image annotation request.
  1546. type BatchAnnotateImagesResponse struct {
  1547. // Individual responses to image annotation requests within the batch.
  1548. Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
  1549. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1550. XXX_unrecognized []byte `json:"-"`
  1551. XXX_sizecache int32 `json:"-"`
  1552. }
  1553. func (m *BatchAnnotateImagesResponse) Reset() { *m = BatchAnnotateImagesResponse{} }
  1554. func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) }
  1555. func (*BatchAnnotateImagesResponse) ProtoMessage() {}
  1556. func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
  1557. return fileDescriptor_image_annotator_b9bb1d6b9235c514, []int{20}
  1558. }
  1559. func (m *BatchAnnotateImagesResponse) XXX_Unmarshal(b []byte) error {
  1560. return xxx_messageInfo_BatchAnnotateImagesResponse.Unmarshal(m, b)
  1561. }
  1562. func (m *BatchAnnotateImagesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1563. return xxx_messageInfo_BatchAnnotateImagesResponse.Marshal(b, m, deterministic)
  1564. }
  1565. func (dst *BatchAnnotateImagesResponse) XXX_Merge(src proto.Message) {
  1566. xxx_messageInfo_BatchAnnotateImagesResponse.Merge(dst, src)
  1567. }
  1568. func (m *BatchAnnotateImagesResponse) XXX_Size() int {
  1569. return xxx_messageInfo_BatchAnnotateImagesResponse.Size(m)
  1570. }
  1571. func (m *BatchAnnotateImagesResponse) XXX_DiscardUnknown() {
  1572. xxx_messageInfo_BatchAnnotateImagesResponse.DiscardUnknown(m)
  1573. }
  1574. var xxx_messageInfo_BatchAnnotateImagesResponse proto.InternalMessageInfo
  1575. func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
  1576. if m != nil {
  1577. return m.Responses
  1578. }
  1579. return nil
  1580. }
  1581. func init() {
  1582. proto.RegisterType((*Feature)(nil), "google.cloud.vision.v1p1beta1.Feature")
  1583. proto.RegisterType((*ImageSource)(nil), "google.cloud.vision.v1p1beta1.ImageSource")
  1584. proto.RegisterType((*Image)(nil), "google.cloud.vision.v1p1beta1.Image")
  1585. proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.vision.v1p1beta1.FaceAnnotation")
  1586. proto.RegisterType((*FaceAnnotation_Landmark)(nil), "google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark")
  1587. proto.RegisterType((*LocationInfo)(nil), "google.cloud.vision.v1p1beta1.LocationInfo")
  1588. proto.RegisterType((*Property)(nil), "google.cloud.vision.v1p1beta1.Property")
  1589. proto.RegisterType((*EntityAnnotation)(nil), "google.cloud.vision.v1p1beta1.EntityAnnotation")
  1590. proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.vision.v1p1beta1.SafeSearchAnnotation")
  1591. proto.RegisterType((*LatLongRect)(nil), "google.cloud.vision.v1p1beta1.LatLongRect")
  1592. proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1p1beta1.ColorInfo")
  1593. proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1p1beta1.DominantColorsAnnotation")
  1594. proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1p1beta1.ImageProperties")
  1595. proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1p1beta1.CropHint")
  1596. proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1p1beta1.CropHintsAnnotation")
  1597. proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1p1beta1.CropHintsParams")
  1598. proto.RegisterType((*WebDetectionParams)(nil), "google.cloud.vision.v1p1beta1.WebDetectionParams")
  1599. proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1p1beta1.ImageContext")
  1600. proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1p1beta1.AnnotateImageRequest")
  1601. proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1p1beta1.AnnotateImageResponse")
  1602. proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest")
  1603. proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse")
  1604. proto.RegisterEnum("google.cloud.vision.v1p1beta1.Likelihood", Likelihood_name, Likelihood_value)
  1605. proto.RegisterEnum("google.cloud.vision.v1p1beta1.Feature_Type", Feature_Type_name, Feature_Type_value)
  1606. proto.RegisterEnum("google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type", FaceAnnotation_Landmark_Type_name, FaceAnnotation_Landmark_Type_value)
  1607. }
  1608. // Reference imports to suppress errors if they are not otherwise used.
  1609. var _ context.Context
  1610. var _ grpc.ClientConn
  1611. // This is a compile-time assertion to ensure that this generated file
  1612. // is compatible with the grpc package it is being compiled against.
  1613. const _ = grpc.SupportPackageIsVersion4
  1614. // ImageAnnotatorClient is the client API for ImageAnnotator service.
  1615. //
  1616. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1617. type ImageAnnotatorClient interface {
  1618. // Run image detection and annotation for a batch of images.
  1619. BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
  1620. }
  1621. type imageAnnotatorClient struct {
  1622. cc *grpc.ClientConn
  1623. }
  1624. func NewImageAnnotatorClient(cc *grpc.ClientConn) ImageAnnotatorClient {
  1625. return &imageAnnotatorClient{cc}
  1626. }
  1627. func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
  1628. out := new(BatchAnnotateImagesResponse)
  1629. err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
  1630. if err != nil {
  1631. return nil, err
  1632. }
  1633. return out, nil
  1634. }
  1635. // ImageAnnotatorServer is the server API for ImageAnnotator service.
  1636. type ImageAnnotatorServer interface {
  1637. // Run image detection and annotation for a batch of images.
  1638. BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
  1639. }
  1640. func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
  1641. s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
  1642. }
  1643. func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1644. in := new(BatchAnnotateImagesRequest)
  1645. if err := dec(in); err != nil {
  1646. return nil, err
  1647. }
  1648. if interceptor == nil {
  1649. return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
  1650. }
  1651. info := &grpc.UnaryServerInfo{
  1652. Server: srv,
  1653. FullMethod: "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages",
  1654. }
  1655. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1656. return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
  1657. }
  1658. return interceptor(ctx, in, info, handler)
  1659. }
  1660. var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
  1661. ServiceName: "google.cloud.vision.v1p1beta1.ImageAnnotator",
  1662. HandlerType: (*ImageAnnotatorServer)(nil),
  1663. Methods: []grpc.MethodDesc{
  1664. {
  1665. MethodName: "BatchAnnotateImages",
  1666. Handler: _ImageAnnotator_BatchAnnotateImages_Handler,
  1667. },
  1668. },
  1669. Streams: []grpc.StreamDesc{},
  1670. Metadata: "google/cloud/vision/v1p1beta1/image_annotator.proto",
  1671. }
  1672. func init() {
  1673. proto.RegisterFile("google/cloud/vision/v1p1beta1/image_annotator.proto", fileDescriptor_image_annotator_b9bb1d6b9235c514)
  1674. }
  1675. var fileDescriptor_image_annotator_b9bb1d6b9235c514 = []byte{
  1676. // 2392 bytes of a gzipped FileDescriptorProto
  1677. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcd, 0x72, 0xe3, 0xc6,
  1678. 0xf1, 0x37, 0xa9, 0x2f, 0xb2, 0x49, 0x91, 0xd0, 0x48, 0x2b, 0x73, 0xb5, 0xbb, 0x5e, 0x19, 0xff,
  1679. 0xbf, 0x13, 0xc5, 0x71, 0xa8, 0x5a, 0xad, 0xe3, 0x54, 0xd6, 0x49, 0x39, 0x24, 0x05, 0x49, 0x2c,
  1680. 0x73, 0x49, 0xd4, 0x90, 0xb2, 0xbc, 0x5b, 0x4e, 0x21, 0x10, 0x38, 0xe4, 0xc2, 0x06, 0x31, 0x30,
  1681. 0x00, 0xee, 0x4a, 0x57, 0x5f, 0x73, 0xcc, 0x2d, 0xf7, 0x1c, 0x73, 0x4a, 0x9e, 0xc1, 0x2f, 0x90,
  1682. 0x43, 0x1e, 0x20, 0x39, 0xe4, 0x09, 0x52, 0xa9, 0x9c, 0x52, 0xf3, 0x01, 0x70, 0xc0, 0xfd, 0xa0,
  1683. 0xb8, 0xa9, 0x9c, 0x88, 0xe9, 0x9e, 0xdf, 0xaf, 0x67, 0xba, 0xa7, 0x67, 0x7a, 0x86, 0xf0, 0x70,
  1684. 0x4c, 0xe9, 0xd8, 0x23, 0x87, 0x8e, 0x47, 0xa7, 0xc3, 0xc3, 0xe7, 0x6e, 0xe4, 0x52, 0xff, 0xf0,
  1685. 0xf9, 0x83, 0xe0, 0xc1, 0x25, 0x89, 0xed, 0x07, 0x87, 0xee, 0xc4, 0x1e, 0x13, 0xcb, 0xf6, 0x7d,
  1686. 0x1a, 0xdb, 0x31, 0x0d, 0xeb, 0x41, 0x48, 0x63, 0x8a, 0xee, 0x09, 0x50, 0x9d, 0x83, 0xea, 0x02,
  1687. 0x54, 0x4f, 0x41, 0x7b, 0x77, 0x25, 0xa7, 0x1d, 0xb8, 0x87, 0x12, 0xea, 0x52, 0x3f, 0x12, 0xe0,
  1688. 0xbd, 0x8f, 0xde, 0x6c, 0x71, 0x4c, 0xe8, 0x84, 0xc4, 0xe1, 0xb5, 0xec, 0xbd, 0x60, 0x7c, 0x31,
  1689. 0xb9, 0x8a, 0xad, 0x99, 0x0d, 0x09, 0x7a, 0xf0, 0x66, 0xd0, 0x0b, 0x72, 0x69, 0x0d, 0x49, 0x4c,
  1690. 0x1c, 0x05, 0xf2, 0xae, 0x84, 0x84, 0x81, 0x73, 0x18, 0xc5, 0x76, 0x3c, 0x8d, 0xe6, 0x14, 0xf1,
  1691. 0x75, 0x40, 0x0e, 0x1d, 0xea, 0x25, 0x4e, 0xd8, 0xab, 0xa9, 0x0a, 0xcf, 0x8e, 0x3d, 0x7f, 0x2c,
  1692. 0x34, 0xfa, 0xbf, 0xf3, 0xb0, 0x71, 0x42, 0xec, 0x78, 0x1a, 0x12, 0xf4, 0x19, 0xac, 0xb2, 0x0e,
  1693. 0xb5, 0xdc, 0x7e, 0xee, 0xa0, 0x72, 0xf4, 0xe3, 0xfa, 0x1b, 0x3d, 0x57, 0x97, 0xa8, 0xfa, 0xe0,
  1694. 0x3a, 0x20, 0x98, 0x03, 0xd1, 0x7d, 0x28, 0x4d, 0xec, 0x2b, 0x2b, 0x24, 0xd1, 0xd4, 0x8b, 0xa3,
  1695. 0x5a, 0x7e, 0x3f, 0x77, 0xb0, 0x86, 0x61, 0x62, 0x5f, 0x61, 0x21, 0x41, 0x3b, 0xb0, 0x36, 0xa1,
  1696. 0x43, 0xe2, 0xd5, 0x56, 0xf6, 0x73, 0x07, 0x45, 0x2c, 0x1a, 0xfa, 0x3f, 0x73, 0xb0, 0xca, 0x58,
  1697. 0xd0, 0x0e, 0x68, 0x83, 0x27, 0xa6, 0x61, 0x9d, 0x77, 0xfb, 0xa6, 0xd1, 0x6a, 0x9f, 0xb4, 0x8d,
  1698. 0x63, 0xed, 0x1d, 0x84, 0xa0, 0x72, 0xd2, 0x68, 0x19, 0xd6, 0xb1, 0x31, 0x30, 0x5a, 0x83, 0x76,
  1699. 0xaf, 0xab, 0xe5, 0xd0, 0x2e, 0xa0, 0x4e, 0xa3, 0x7b, 0xfc, 0xb8, 0x81, 0x3f, 0x57, 0xe4, 0x79,
  1700. 0xd6, 0xb7, 0xd3, 0x3b, 0xed, 0x29, 0xb2, 0x15, 0xb4, 0x0d, 0xd5, 0x4e, 0xa3, 0x69, 0x74, 0x14,
  1701. 0xe1, 0x2a, 0xeb, 0x38, 0x30, 0xbe, 0x1c, 0x28, 0xb2, 0x35, 0x74, 0x07, 0xde, 0x3d, 0xee, 0xb5,
  1702. 0xce, 0x1f, 0x1b, 0xdd, 0x81, 0x35, 0xa7, 0x2c, 0xa1, 0xdb, 0x70, 0xab, 0xdf, 0x38, 0x31, 0xac,
  1703. 0xbe, 0xd1, 0xc0, 0xad, 0x33, 0x45, 0xb5, 0xce, 0x86, 0xdd, 0x7e, 0xdc, 0x38, 0x35, 0x2c, 0x13,
  1704. 0xf7, 0x4c, 0x03, 0x0f, 0xda, 0x46, 0x5f, 0xdb, 0x40, 0x15, 0x80, 0x16, 0xee, 0x99, 0xd6, 0x59,
  1705. 0xbb, 0x3b, 0xe8, 0x6b, 0x45, 0xb4, 0x05, 0x9b, 0x17, 0x46, 0x53, 0x01, 0x82, 0xde, 0x85, 0x52,
  1706. 0x9b, 0x2d, 0xda, 0x3e, 0x9d, 0x86, 0x0e, 0x41, 0x3a, 0x6c, 0x8e, 0x9d, 0xc8, 0x12, 0xeb, 0x78,
  1707. 0x1a, 0xba, 0x3c, 0x10, 0x45, 0x5c, 0x1a, 0x3b, 0x11, 0xef, 0x76, 0x1e, 0xba, 0xe8, 0x0e, 0x14,
  1708. 0x67, 0xfa, 0x3c, 0xd7, 0x17, 0x5c, 0xa9, 0xd4, 0x09, 0xac, 0xf1, 0x8e, 0xa8, 0x06, 0x1b, 0x0e,
  1709. 0xf5, 0x63, 0xe2, 0xc7, 0x9c, 0xa3, 0x8c, 0x93, 0x26, 0x6a, 0xc2, 0x7a, 0xc4, 0xad, 0x71, 0x70,
  1710. 0xe9, 0xe8, 0xc3, 0x05, 0x51, 0x56, 0xc6, 0x87, 0x25, 0x52, 0xff, 0x83, 0x06, 0x95, 0x13, 0xdb,
  1711. 0x21, 0x8d, 0x74, 0x2d, 0x23, 0x13, 0x36, 0x2f, 0xe9, 0xd4, 0x1f, 0xba, 0xfe, 0xd8, 0x0a, 0xa8,
  1712. 0x77, 0xcd, 0xcd, 0x96, 0x16, 0xae, 0xa1, 0xa6, 0xc4, 0x98, 0xd4, 0xbb, 0xc6, 0xe5, 0x4b, 0xa5,
  1713. 0x85, 0xce, 0x41, 0x1b, 0x0d, 0xad, 0x2c, 0x69, 0x7e, 0x79, 0xd2, 0xca, 0x68, 0xa8, 0xb6, 0xd1,
  1714. 0x00, 0x8a, 0x9e, 0xed, 0x0f, 0x27, 0x76, 0xf8, 0x4d, 0x54, 0x5b, 0xd9, 0x5f, 0x39, 0x28, 0x1d,
  1715. 0x7d, 0xb2, 0x68, 0xa1, 0x67, 0xa6, 0x5a, 0xef, 0x48, 0x38, 0x9e, 0x11, 0xa1, 0x7b, 0x00, 0x21,
  1716. 0xf5, 0x3c, 0xcb, 0xf6, 0xc7, 0x1e, 0xa9, 0xad, 0xee, 0xe7, 0x0e, 0xf2, 0xb8, 0xc8, 0x24, 0x0d,
  1717. 0x26, 0x60, 0x41, 0x0b, 0x6c, 0x5f, 0x6a, 0xd7, 0xb8, 0xb6, 0x10, 0xd8, 0xbe, 0x50, 0xde, 0x03,
  1718. 0x88, 0x5d, 0x2f, 0x96, 0xda, 0x75, 0x81, 0x65, 0x12, 0xa1, 0x7e, 0x00, 0x3b, 0x69, 0xfe, 0x5b,
  1719. 0x0e, 0xf5, 0x47, 0xee, 0x90, 0xf8, 0x0e, 0xa9, 0x6d, 0xf0, 0x8e, 0xdb, 0xa9, 0xae, 0x95, 0xaa,
  1720. 0xd0, 0x4f, 0x61, 0x37, 0x19, 0x1a, 0x73, 0x9d, 0x02, 0x2a, 0x70, 0xd0, 0x2d, 0x45, 0xab, 0xc0,
  1721. 0x4c, 0xa8, 0x7c, 0x4d, 0xaf, 0x2d, 0xcf, 0xfd, 0x86, 0x78, 0xee, 0x33, 0x4a, 0x87, 0xb5, 0x22,
  1722. 0xdf, 0x08, 0x7e, 0xb4, 0xc0, 0x3f, 0x9d, 0x14, 0x80, 0x37, 0xbf, 0xa6, 0xd7, 0xb3, 0x26, 0xfa,
  1723. 0x02, 0xb6, 0x22, 0x1a, 0x86, 0xf4, 0x85, 0x4a, 0x0a, 0xcb, 0x92, 0x6a, 0x82, 0x43, 0xe1, 0x1d,
  1724. 0x80, 0x66, 0xfb, 0x63, 0x12, 0xaa, 0xb4, 0xa5, 0x65, 0x69, 0xab, 0x9c, 0x42, 0x61, 0x7d, 0x0a,
  1725. 0xdb, 0xd1, 0x34, 0x0c, 0x42, 0x37, 0x22, 0x2a, 0x71, 0x79, 0x59, 0x62, 0x94, 0xb0, 0x28, 0xdc,
  1726. 0x0e, 0xd4, 0xa6, 0xfe, 0x90, 0x84, 0x16, 0xb9, 0x0a, 0x68, 0x44, 0x86, 0xaa, 0x81, 0xcd, 0x65,
  1727. 0x0d, 0xec, 0x72, 0x2a, 0x43, 0x30, 0x29, 0x46, 0xbe, 0x04, 0x74, 0xe9, 0x4d, 0xc3, 0x30, 0x4b,
  1728. 0x5f, 0x59, 0x96, 0x7e, 0x4b, 0x92, 0x64, 0x5d, 0xf3, 0x8c, 0xd8, 0xc3, 0x17, 0xc4, 0xce, 0xf8,
  1729. 0xbc, 0xba, 0xb4, 0x6b, 0x12, 0x96, 0x99, 0x6c, 0xef, 0xaf, 0x1b, 0x50, 0x48, 0x72, 0x0a, 0xf5,
  1730. 0xe4, 0x11, 0xb4, 0xc2, 0x99, 0x3f, 0x7d, 0xbb, 0xcc, 0x54, 0x8f, 0xa4, 0x16, 0x14, 0x02, 0x1a,
  1731. 0xb9, 0x4c, 0xcf, 0xf3, 0xb2, 0x74, 0xf4, 0xc3, 0x05, 0xa4, 0xa6, 0xec, 0x8e, 0x53, 0xa0, 0xfe,
  1732. 0xe7, 0xf5, 0xd9, 0x01, 0x75, 0xde, 0xfd, 0xbc, 0xdb, 0xbb, 0xe8, 0x5a, 0xc9, 0xf1, 0xa3, 0xbd,
  1733. 0x83, 0xca, 0x50, 0xe8, 0x18, 0x27, 0x03, 0xcb, 0x78, 0x62, 0x68, 0x39, 0xb4, 0x09, 0x45, 0xdc,
  1734. 0x3e, 0x3d, 0x13, 0xcd, 0x3c, 0xaa, 0xc1, 0x0e, 0x57, 0xf6, 0x4e, 0xac, 0xa4, 0x53, 0x13, 0xf7,
  1735. 0x2e, 0xb4, 0x15, 0x76, 0xa2, 0x88, 0x8e, 0xf3, 0xaa, 0x55, 0xa6, 0x4a, 0x40, 0x29, 0x17, 0x57,
  1736. 0xad, 0xa1, 0x3d, 0xd8, 0x4d, 0x51, 0x59, 0xdd, 0x3a, 0x83, 0x3d, 0x6e, 0x1f, 0x9b, 0xbd, 0x76,
  1737. 0x77, 0x60, 0x35, 0x8d, 0xc1, 0x85, 0x61, 0x74, 0x99, 0x96, 0x9d, 0x46, 0x65, 0x28, 0x74, 0x7b,
  1738. 0x7d, 0xc3, 0x1a, 0xb4, 0x4d, 0xad, 0xc0, 0xc6, 0x78, 0x6e, 0x9a, 0x06, 0xb6, 0x3a, 0x6d, 0x53,
  1739. 0x2b, 0xb2, 0x66, 0xa7, 0x77, 0x21, 0x9b, 0xc0, 0x4e, 0xae, 0xc7, 0xbd, 0xf3, 0xc1, 0x19, 0x1f,
  1740. 0x95, 0x56, 0x42, 0x55, 0x28, 0x89, 0x36, 0xb7, 0xa7, 0x95, 0x91, 0x06, 0x65, 0x21, 0x68, 0x19,
  1741. 0xdd, 0x81, 0x81, 0xb5, 0x4d, 0x74, 0x0b, 0xb6, 0x38, 0x7d, 0xb3, 0x37, 0x18, 0xf4, 0x1e, 0xcb,
  1742. 0x8e, 0x15, 0xe6, 0x2f, 0x55, 0xcc, 0xf9, 0xaa, 0xec, 0xf0, 0x56, 0xa5, 0x92, 0x44, 0x4b, 0x67,
  1743. 0x6d, 0x3c, 0x31, 0xac, 0x41, 0xcf, 0xb4, 0x9a, 0xbd, 0xf3, 0xee, 0x71, 0x03, 0x3f, 0xd1, 0xb6,
  1744. 0x32, 0x2a, 0x31, 0xeb, 0x56, 0x0f, 0x77, 0x0d, 0xac, 0x21, 0x74, 0x17, 0x6a, 0xa9, 0x4a, 0x32,
  1745. 0xa6, 0xc0, 0xed, 0xd4, 0xfd, 0x4c, 0xcb, 0x3f, 0x24, 0x6e, 0x67, 0xe6, 0xc8, 0x97, 0xcc, 0xdd,
  1746. 0xca, 0xea, 0x32, 0xf6, 0x76, 0xd1, 0x3d, 0xb8, 0x3d, 0xd3, 0xcd, 0x1b, 0x7c, 0x77, 0x16, 0xd5,
  1747. 0x79, 0x8b, 0x35, 0x74, 0x1f, 0xee, 0xa8, 0x71, 0xb6, 0x44, 0x08, 0x92, 0x88, 0x69, 0xb7, 0xd1,
  1748. 0x3e, 0xdc, 0xcd, 0x84, 0x74, 0xbe, 0xc7, 0x1e, 0x73, 0xa8, 0xa0, 0x68, 0x60, 0x6b, 0x80, 0x1b,
  1749. 0xa7, 0xac, 0x8e, 0xb8, 0xc3, 0xbc, 0x2f, 0x71, 0x8a, 0xf8, 0x2e, 0x2f, 0x86, 0x92, 0xb9, 0x9b,
  1750. 0xe7, 0x66, 0xbb, 0xa3, 0xdd, 0x63, 0xc5, 0xd0, 0x6c, 0x78, 0x42, 0xf8, 0x1e, 0xc3, 0x9f, 0xf4,
  1751. 0xb0, 0x71, 0x66, 0x34, 0x8e, 0xad, 0x53, 0x5e, 0x2b, 0x75, 0x1a, 0xda, 0x7d, 0x56, 0xb1, 0xb4,
  1752. 0xce, 0xda, 0x5d, 0xeb, 0xb4, 0xdb, 0x18, 0x9c, 0x31, 0xca, 0x7d, 0x66, 0x9f, 0x8b, 0x38, 0xef,
  1753. 0x69, 0xaf, 0xcb, 0xa4, 0xef, 0x33, 0x3c, 0x97, 0x0a, 0x66, 0x29, 0xd6, 0xf5, 0x5f, 0x40, 0xb9,
  1754. 0x43, 0x1d, 0x9e, 0x9b, 0x6d, 0x7f, 0x44, 0xd1, 0x47, 0xb0, 0xe1, 0xd9, 0xb1, 0xe5, 0xf9, 0x63,
  1755. 0x59, 0x1e, 0x6c, 0x27, 0xa9, 0xc8, 0x52, 0xb5, 0xde, 0xb1, 0xe3, 0x8e, 0x3f, 0xc6, 0xeb, 0x1e,
  1756. 0xff, 0xd5, 0x2f, 0xa0, 0x60, 0x86, 0x34, 0x20, 0x61, 0x7c, 0x8d, 0x10, 0xac, 0xfa, 0xf6, 0x84,
  1757. 0xc8, 0x82, 0x88, 0x7f, 0xb3, 0x5a, 0xf2, 0xb9, 0xed, 0x4d, 0x89, 0xac, 0x82, 0x44, 0x03, 0xbd,
  1758. 0x0f, 0xe5, 0xa9, 0xeb, 0xc7, 0x9f, 0x7c, 0x6c, 0x09, 0x25, 0xdb, 0x48, 0x56, 0x71, 0x49, 0xc8,
  1759. 0xbe, 0x60, 0x22, 0xfd, 0xf7, 0x2b, 0xa0, 0x19, 0x7e, 0xec, 0xc6, 0xd7, 0x4a, 0x01, 0xa3, 0xc1,
  1760. 0xca, 0xc4, 0x1d, 0x4a, 0x03, 0xec, 0x13, 0xed, 0xc2, 0xba, 0x47, 0x1d, 0xdb, 0x4b, 0x0c, 0xc8,
  1761. 0x16, 0xda, 0x87, 0xd2, 0x90, 0x44, 0x4e, 0xe8, 0x06, 0x7c, 0x53, 0x11, 0x95, 0xac, 0x2a, 0x62,
  1762. 0x23, 0x8b, 0x1c, 0x1a, 0x26, 0x85, 0x80, 0x68, 0xa0, 0xf7, 0x00, 0x94, 0x93, 0x58, 0x54, 0x01,
  1763. 0x8a, 0x84, 0xe9, 0x63, 0x1a, 0xb8, 0x8e, 0xed, 0xb9, 0xf1, 0xb5, 0xac, 0x03, 0x14, 0xc9, 0xcb,
  1764. 0x25, 0xd6, 0xc6, 0x7f, 0x5b, 0x62, 0xb5, 0xa1, 0xe8, 0xc9, 0xf8, 0x44, 0xb5, 0x02, 0xaf, 0x85,
  1765. 0x16, 0xb1, 0xa9, 0xf1, 0xc4, 0x33, 0x34, 0x3a, 0x05, 0x08, 0x44, 0xb0, 0x5c, 0x12, 0xd5, 0x8a,
  1766. 0x9c, 0x6b, 0xe1, 0x46, 0x2b, 0xa3, 0x8b, 0x15, 0xa8, 0xfe, 0xb7, 0x3c, 0xec, 0xf4, 0xed, 0x11,
  1767. 0xe9, 0x13, 0x3b, 0x74, 0x9e, 0x29, 0x01, 0xfa, 0x0c, 0xd6, 0xec, 0xe1, 0xd4, 0x8b, 0xe5, 0xed,
  1768. 0x64, 0x89, 0x43, 0x47, 0xe0, 0x18, 0x41, 0x14, 0x50, 0x3a, 0xe2, 0xe1, 0x5c, 0x8e, 0x80, 0xe3,
  1769. 0x50, 0x0b, 0x36, 0x26, 0x64, 0xc8, 0xc2, 0x21, 0x8f, 0xa7, 0x25, 0x28, 0x12, 0x24, 0x32, 0xa0,
  1770. 0xf0, 0xdc, 0xa5, 0x1e, 0x5f, 0x03, 0xab, 0xcb, 0xb2, 0xa4, 0x50, 0xf4, 0x4b, 0x58, 0x0d, 0x6d,
  1771. 0xe7, 0x7a, 0xf9, 0x0a, 0x8d, 0xc3, 0xf4, 0x17, 0x50, 0x62, 0xd9, 0x46, 0xfd, 0x31, 0x26, 0x4e,
  1772. 0x8c, 0x1e, 0x42, 0x69, 0xe2, 0xfa, 0xd6, 0x0d, 0x92, 0xb3, 0x38, 0x71, 0x7d, 0xf1, 0xc9, 0x41,
  1773. 0xf6, 0x55, 0x0a, 0xca, 0xbf, 0x09, 0x64, 0x5f, 0x89, 0x4f, 0x3d, 0x84, 0x62, 0x8b, 0xdd, 0x4b,
  1774. 0xf9, 0x7e, 0x70, 0x00, 0x6b, 0xfc, 0x92, 0x2a, 0x0d, 0xa2, 0x0c, 0x96, 0x77, 0xc3, 0xa2, 0xc3,
  1775. 0x2c, 0xa3, 0xf2, 0x6a, 0x46, 0x7d, 0x00, 0x95, 0xc0, 0xbd, 0x22, 0x9e, 0x35, 0x0a, 0x6d, 0x27,
  1776. 0x4d, 0xc6, 0x3c, 0xde, 0xe4, 0xd2, 0x13, 0x29, 0xd4, 0xbf, 0x82, 0xda, 0x31, 0x9d, 0xb8, 0xbe,
  1777. 0xed, 0xc7, 0x9c, 0x34, 0x52, 0x56, 0xd5, 0xaf, 0x60, 0x9d, 0x5b, 0x88, 0x6a, 0x39, 0xbe, 0x66,
  1778. 0x0f, 0x16, 0x78, 0x32, 0x1d, 0x3c, 0x96, 0x38, 0x3d, 0x82, 0x2a, 0xbf, 0x23, 0x99, 0xe9, 0x1a,
  1779. 0x46, 0xbf, 0x81, 0xea, 0x50, 0x1a, 0xb4, 0x52, 0x76, 0x36, 0xc3, 0x9f, 0x2d, 0x60, 0x7f, 0xdd,
  1780. 0x30, 0x71, 0x65, 0x98, 0xd1, 0xe8, 0x7f, 0xcc, 0x41, 0xa1, 0x15, 0xd2, 0xe0, 0xcc, 0xf5, 0xe3,
  1781. 0xff, 0xc1, 0xdd, 0x2b, 0xbb, 0x55, 0xe5, 0x5f, 0xda, 0xaa, 0x0e, 0x61, 0xdb, 0x9d, 0x04, 0x34,
  1782. 0x8c, 0x6d, 0xdf, 0x21, 0xf3, 0xde, 0x47, 0x33, 0x55, 0x1a, 0x82, 0x5f, 0xc3, 0x76, 0x32, 0x5c,
  1783. 0xd5, 0xfb, 0x27, 0x00, 0x4e, 0x48, 0x03, 0xeb, 0x19, 0x93, 0xcb, 0x08, 0x2c, 0xda, 0x35, 0x12,
  1784. 0x1e, 0x5c, 0x74, 0x12, 0x46, 0xfd, 0x13, 0xa8, 0xa6, 0xf4, 0xa6, 0x1d, 0xda, 0x93, 0x08, 0xfd,
  1785. 0x1f, 0x6c, 0xda, 0x51, 0x40, 0x9c, 0xd8, 0x0a, 0x99, 0x2d, 0xc1, 0x9e, 0xc7, 0x65, 0x21, 0xc4,
  1786. 0x5c, 0xa6, 0x1f, 0x03, 0xba, 0x20, 0x97, 0xc7, 0xc9, 0x15, 0x4a, 0x42, 0xeb, 0xb0, 0xed, 0xfa,
  1787. 0x8e, 0x37, 0x1d, 0x12, 0x6b, 0x4c, 0x68, 0xe6, 0x35, 0xa3, 0x80, 0xb7, 0xa4, 0xea, 0x94, 0x50,
  1788. 0xf9, 0xa8, 0xa1, 0x7f, 0x9f, 0x87, 0x32, 0x5f, 0x02, 0x2d, 0x76, 0xc7, 0xbe, 0x8a, 0x51, 0x17,
  1789. 0x36, 0x79, 0x56, 0x50, 0x7f, 0x6c, 0x85, 0xc4, 0x89, 0x65, 0x40, 0x16, 0x5d, 0xb5, 0x95, 0x8c,
  1790. 0xc4, 0x25, 0x4f, 0x49, 0xcf, 0x0f, 0xa0, 0xe2, 0xd9, 0xfe, 0x78, 0xca, 0xae, 0xfd, 0xc2, 0x55,
  1791. 0xf9, 0xfd, 0x95, 0x83, 0x22, 0xde, 0x4c, 0xa4, 0x7c, 0xe2, 0xe8, 0x29, 0x6c, 0xcd, 0xbc, 0x69,
  1792. 0x05, 0x7c, 0x32, 0xb2, 0xe6, 0xad, 0xdf, 0xd0, 0xa9, 0xd2, 0x7b, 0xb8, 0xea, 0xcc, 0xb9, 0xd3,
  1793. 0x81, 0x9d, 0xcc, 0x4b, 0x54, 0x42, 0xbf, 0xce, 0xe9, 0x1f, 0x2c, 0xa0, 0x7f, 0xd9, 0xc9, 0x18,
  1794. 0xbd, 0x78, 0x49, 0xa6, 0xff, 0x23, 0x07, 0x3b, 0x72, 0x75, 0x10, 0xee, 0x50, 0x4c, 0xbe, 0x9d,
  1795. 0x92, 0x28, 0x46, 0x8f, 0x60, 0x8d, 0xbf, 0x71, 0x48, 0x47, 0xfe, 0xff, 0x4d, 0xde, 0x2c, 0xb0,
  1796. 0x80, 0xa0, 0x26, 0x14, 0x46, 0xe2, 0xa5, 0x4a, 0xb8, 0xad, 0x74, 0xf4, 0x83, 0x9b, 0x3d, 0x6c,
  1797. 0xe1, 0x14, 0xc7, 0x32, 0x4c, 0x3c, 0xba, 0x38, 0x22, 0xc2, 0x7c, 0xa5, 0x2f, 0xce, 0x30, 0x75,
  1798. 0x51, 0xe0, 0xb2, 0xab, 0xb4, 0xf4, 0xdf, 0x16, 0xe0, 0xd6, 0xdc, 0x54, 0xa3, 0x80, 0xfa, 0x11,
  1799. 0x41, 0x5f, 0x82, 0x36, 0xb2, 0x1d, 0xa2, 0x3c, 0x14, 0x26, 0x99, 0xf1, 0x93, 0xa5, 0x6e, 0x43,
  1800. 0xb8, 0x3a, 0xca, 0xb4, 0x23, 0x74, 0x09, 0x3b, 0xc9, 0xc5, 0x3f, 0xc3, 0x2e, 0xbc, 0x72, 0xb8,
  1801. 0x80, 0x7d, 0xbe, 0x62, 0xc2, 0xdb, 0x09, 0x99, 0x6a, 0xe3, 0x29, 0x68, 0x1e, 0x1d, 0xd3, 0x0c,
  1802. 0xff, 0xca, 0xdb, 0xf1, 0x57, 0x19, 0x91, 0xca, 0xfd, 0x15, 0x6c, 0x79, 0xf6, 0x25, 0xf1, 0x32,
  1803. 0xe4, 0xab, 0x6f, 0x47, 0xae, 0x71, 0xa6, 0xb9, 0x91, 0xcf, 0x3d, 0xd0, 0x46, 0xb5, 0xb5, 0xb7,
  1804. 0x1c, 0x39, 0x23, 0x52, 0xb9, 0x2d, 0xd8, 0x19, 0x4d, 0x3d, 0xcf, 0x9a, 0x33, 0xc0, 0x9f, 0x16,
  1805. 0x16, 0xc7, 0x75, 0x90, 0x61, 0xc3, 0x88, 0x51, 0x65, 0x65, 0xc8, 0x85, 0xdd, 0xc8, 0x1e, 0x11,
  1806. 0x2b, 0xe2, 0x55, 0x93, 0x6a, 0x42, 0x24, 0xe8, 0xc3, 0x05, 0x26, 0x5e, 0x55, 0x71, 0xe1, 0x9d,
  1807. 0xe8, 0x55, 0x75, 0x98, 0x0f, 0x77, 0x44, 0x2e, 0xcc, 0x8a, 0x36, 0xd5, 0x5e, 0xe1, 0x46, 0xfb,
  1808. 0xcd, 0xdc, 0x89, 0x89, 0x6f, 0xbb, 0x59, 0x81, 0x62, 0x6f, 0x04, 0xb7, 0x94, 0x5d, 0x4d, 0xb1,
  1809. 0x54, 0xe2, 0x96, 0x8e, 0x6e, 0xba, 0xb3, 0xa9, 0x2b, 0xd7, 0x79, 0xc5, 0x59, 0x64, 0xc2, 0x66,
  1810. 0x66, 0x87, 0xe3, 0xcf, 0x32, 0x8b, 0x73, 0x5c, 0xdd, 0xda, 0x70, 0x59, 0xdd, 0xd4, 0x58, 0x79,
  1811. 0x43, 0xc2, 0x90, 0x86, 0xbc, 0x48, 0x53, 0xca, 0x9b, 0x30, 0x70, 0xea, 0x7d, 0xfe, 0x6c, 0x8f,
  1812. 0x45, 0x07, 0x7d, 0x02, 0x7b, 0x4d, 0x3b, 0x4e, 0xdd, 0x2c, 0x76, 0x84, 0x28, 0xd9, 0xfd, 0x7a,
  1813. 0x50, 0x08, 0xc5, 0x67, 0xb2, 0x13, 0x2c, 0x0a, 0xe7, 0xab, 0x36, 0x51, 0x9c, 0x92, 0xe8, 0xdf,
  1814. 0xc2, 0x9d, 0x57, 0x9a, 0x93, 0x3b, 0x10, 0x86, 0x62, 0x28, 0xbf, 0x13, 0x83, 0x1f, 0x2f, 0x67,
  1815. 0x50, 0x80, 0xf1, 0x8c, 0xe6, 0x43, 0x02, 0xa0, 0x3c, 0x27, 0x95, 0x60, 0x43, 0x3e, 0xa3, 0x68,
  1816. 0xef, 0xb0, 0x5b, 0xe6, 0x17, 0x06, 0x7e, 0x62, 0x9d, 0x77, 0x3b, 0xed, 0xcf, 0x8d, 0xce, 0x13,
  1817. 0x2d, 0x87, 0xca, 0x50, 0x48, 0x5b, 0x79, 0xd6, 0x32, 0x7b, 0xfd, 0x7e, 0xbb, 0xd9, 0x31, 0xb4,
  1818. 0x15, 0x04, 0xb0, 0x2e, 0x35, 0xab, 0xa8, 0x0a, 0x25, 0x0e, 0x95, 0x82, 0xb5, 0xa3, 0xef, 0x73,
  1819. 0x50, 0xe1, 0x63, 0x68, 0x24, 0xff, 0x02, 0xa1, 0x3f, 0xe5, 0x60, 0xfb, 0x15, 0xb3, 0x45, 0x3f,
  1820. 0x5f, 0x54, 0x1e, 0xbd, 0x36, 0x20, 0x7b, 0x8f, 0xde, 0x06, 0x2a, 0x3c, 0xa1, 0x7f, 0xf0, 0xdd,
  1821. 0x5f, 0xfe, 0xfe, 0xbb, 0xfc, 0x7d, 0x7d, 0x6f, 0xfe, 0x8f, 0xab, 0xe8, 0x91, 0x5c, 0xdb, 0xe4,
  1822. 0x51, 0xee, 0xc3, 0xe6, 0x77, 0x39, 0x78, 0xdf, 0xa1, 0x93, 0x37, 0x1b, 0x6a, 0x6e, 0x67, 0xe7,
  1823. 0x6a, 0x86, 0x34, 0xa6, 0x66, 0xee, 0x69, 0x4b, 0xa2, 0xc6, 0x94, 0x15, 0x08, 0x75, 0x1a, 0x8e,
  1824. 0x0f, 0xc7, 0xc4, 0xe7, 0xff, 0xf7, 0x1c, 0x0a, 0x95, 0x1d, 0xb8, 0xd1, 0x6b, 0xfe, 0x71, 0xfa,
  1825. 0x54, 0x08, 0xfe, 0x95, 0xcb, 0x5d, 0xae, 0x73, 0xc8, 0xc3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff,
  1826. 0xb8, 0x10, 0xf5, 0x85, 0x78, 0x1b, 0x00, 0x00,
  1827. }