...

Source file src/google.golang.org/genproto/googleapis/cloud/visionai/v1/annotations.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/visionai/v1

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.21.9
    19  // source: google/cloud/visionai/v1/annotations.proto
    20  
    21  package visionai
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	structpb "google.golang.org/protobuf/types/known/structpb"
    30  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // Enum describing all possible types of a stream annotation.
    41  type StreamAnnotationType int32
    42  
    43  const (
    44  	// Type UNSPECIFIED.
    45  	StreamAnnotationType_STREAM_ANNOTATION_TYPE_UNSPECIFIED StreamAnnotationType = 0
    46  	// active_zone annotation defines a polygon on top of the content from an
    47  	// image/video based stream, following processing will only focus on the
    48  	// content inside the active zone.
    49  	StreamAnnotationType_STREAM_ANNOTATION_TYPE_ACTIVE_ZONE StreamAnnotationType = 1
    50  	// crossing_line annotation defines a polyline on top of the content from an
    51  	// image/video based Vision AI stream, events happening across the line will
    52  	// be captured. For example, the counts of people who goes acroos the line
    53  	// in Occupancy Analytic Processor.
    54  	StreamAnnotationType_STREAM_ANNOTATION_TYPE_CROSSING_LINE StreamAnnotationType = 2
    55  )
    56  
    57  // Enum value maps for StreamAnnotationType.
    58  var (
    59  	StreamAnnotationType_name = map[int32]string{
    60  		0: "STREAM_ANNOTATION_TYPE_UNSPECIFIED",
    61  		1: "STREAM_ANNOTATION_TYPE_ACTIVE_ZONE",
    62  		2: "STREAM_ANNOTATION_TYPE_CROSSING_LINE",
    63  	}
    64  	StreamAnnotationType_value = map[string]int32{
    65  		"STREAM_ANNOTATION_TYPE_UNSPECIFIED":   0,
    66  		"STREAM_ANNOTATION_TYPE_ACTIVE_ZONE":   1,
    67  		"STREAM_ANNOTATION_TYPE_CROSSING_LINE": 2,
    68  	}
    69  )
    70  
    71  func (x StreamAnnotationType) Enum() *StreamAnnotationType {
    72  	p := new(StreamAnnotationType)
    73  	*p = x
    74  	return p
    75  }
    76  
    77  func (x StreamAnnotationType) String() string {
    78  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    79  }
    80  
    81  func (StreamAnnotationType) Descriptor() protoreflect.EnumDescriptor {
    82  	return file_google_cloud_visionai_v1_annotations_proto_enumTypes[0].Descriptor()
    83  }
    84  
    85  func (StreamAnnotationType) Type() protoreflect.EnumType {
    86  	return &file_google_cloud_visionai_v1_annotations_proto_enumTypes[0]
    87  }
    88  
    89  func (x StreamAnnotationType) Number() protoreflect.EnumNumber {
    90  	return protoreflect.EnumNumber(x)
    91  }
    92  
    93  // Deprecated: Use StreamAnnotationType.Descriptor instead.
    94  func (StreamAnnotationType) EnumDescriptor() ([]byte, []int) {
    95  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0}
    96  }
    97  
    98  // Output format for Personal Protective Equipment Detection Operator.
    99  type PersonalProtectiveEquipmentDetectionOutput struct {
   100  	state         protoimpl.MessageState
   101  	sizeCache     protoimpl.SizeCache
   102  	unknownFields protoimpl.UnknownFields
   103  
   104  	// Current timestamp.
   105  	CurrentTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=current_time,json=currentTime,proto3" json:"current_time,omitempty"`
   106  	// A list of DetectedPersons.
   107  	DetectedPersons []*PersonalProtectiveEquipmentDetectionOutput_DetectedPerson `protobuf:"bytes,2,rep,name=detected_persons,json=detectedPersons,proto3" json:"detected_persons,omitempty"`
   108  }
   109  
   110  func (x *PersonalProtectiveEquipmentDetectionOutput) Reset() {
   111  	*x = PersonalProtectiveEquipmentDetectionOutput{}
   112  	if protoimpl.UnsafeEnabled {
   113  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[0]
   114  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   115  		ms.StoreMessageInfo(mi)
   116  	}
   117  }
   118  
   119  func (x *PersonalProtectiveEquipmentDetectionOutput) String() string {
   120  	return protoimpl.X.MessageStringOf(x)
   121  }
   122  
   123  func (*PersonalProtectiveEquipmentDetectionOutput) ProtoMessage() {}
   124  
   125  func (x *PersonalProtectiveEquipmentDetectionOutput) ProtoReflect() protoreflect.Message {
   126  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[0]
   127  	if protoimpl.UnsafeEnabled && x != nil {
   128  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   129  		if ms.LoadMessageInfo() == nil {
   130  			ms.StoreMessageInfo(mi)
   131  		}
   132  		return ms
   133  	}
   134  	return mi.MessageOf(x)
   135  }
   136  
   137  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput.ProtoReflect.Descriptor instead.
   138  func (*PersonalProtectiveEquipmentDetectionOutput) Descriptor() ([]byte, []int) {
   139  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0}
   140  }
   141  
   142  func (x *PersonalProtectiveEquipmentDetectionOutput) GetCurrentTime() *timestamppb.Timestamp {
   143  	if x != nil {
   144  		return x.CurrentTime
   145  	}
   146  	return nil
   147  }
   148  
   149  func (x *PersonalProtectiveEquipmentDetectionOutput) GetDetectedPersons() []*PersonalProtectiveEquipmentDetectionOutput_DetectedPerson {
   150  	if x != nil {
   151  		return x.DetectedPersons
   152  	}
   153  	return nil
   154  }
   155  
   156  // Prediction output format for Generic Object Detection.
   157  type ObjectDetectionPredictionResult struct {
   158  	state         protoimpl.MessageState
   159  	sizeCache     protoimpl.SizeCache
   160  	unknownFields protoimpl.UnknownFields
   161  
   162  	// Current timestamp.
   163  	CurrentTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=current_time,json=currentTime,proto3" json:"current_time,omitempty"`
   164  	// A list of identified boxes.
   165  	IdentifiedBoxes []*ObjectDetectionPredictionResult_IdentifiedBox `protobuf:"bytes,2,rep,name=identified_boxes,json=identifiedBoxes,proto3" json:"identified_boxes,omitempty"`
   166  }
   167  
   168  func (x *ObjectDetectionPredictionResult) Reset() {
   169  	*x = ObjectDetectionPredictionResult{}
   170  	if protoimpl.UnsafeEnabled {
   171  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[1]
   172  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   173  		ms.StoreMessageInfo(mi)
   174  	}
   175  }
   176  
   177  func (x *ObjectDetectionPredictionResult) String() string {
   178  	return protoimpl.X.MessageStringOf(x)
   179  }
   180  
   181  func (*ObjectDetectionPredictionResult) ProtoMessage() {}
   182  
   183  func (x *ObjectDetectionPredictionResult) ProtoReflect() protoreflect.Message {
   184  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[1]
   185  	if protoimpl.UnsafeEnabled && x != nil {
   186  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   187  		if ms.LoadMessageInfo() == nil {
   188  			ms.StoreMessageInfo(mi)
   189  		}
   190  		return ms
   191  	}
   192  	return mi.MessageOf(x)
   193  }
   194  
   195  // Deprecated: Use ObjectDetectionPredictionResult.ProtoReflect.Descriptor instead.
   196  func (*ObjectDetectionPredictionResult) Descriptor() ([]byte, []int) {
   197  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{1}
   198  }
   199  
   200  func (x *ObjectDetectionPredictionResult) GetCurrentTime() *timestamppb.Timestamp {
   201  	if x != nil {
   202  		return x.CurrentTime
   203  	}
   204  	return nil
   205  }
   206  
   207  func (x *ObjectDetectionPredictionResult) GetIdentifiedBoxes() []*ObjectDetectionPredictionResult_IdentifiedBox {
   208  	if x != nil {
   209  		return x.IdentifiedBoxes
   210  	}
   211  	return nil
   212  }
   213  
   214  // Prediction output format for Image Object Detection.
   215  type ImageObjectDetectionPredictionResult struct {
   216  	state         protoimpl.MessageState
   217  	sizeCache     protoimpl.SizeCache
   218  	unknownFields protoimpl.UnknownFields
   219  
   220  	// The resource IDs of the AnnotationSpecs that had been identified, ordered
   221  	// by the confidence score descendingly. It is the id segment instead of full
   222  	// resource name.
   223  	Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"`
   224  	// The display names of the AnnotationSpecs that had been identified, order
   225  	// matches the IDs.
   226  	DisplayNames []string `protobuf:"bytes,2,rep,name=display_names,json=displayNames,proto3" json:"display_names,omitempty"`
   227  	// The Model's confidences in correctness of the predicted IDs, higher value
   228  	// means higher confidence. Order matches the Ids.
   229  	Confidences []float32 `protobuf:"fixed32,3,rep,packed,name=confidences,proto3" json:"confidences,omitempty"`
   230  	// Bounding boxes, i.e. the rectangles over the image, that pinpoint
   231  	// the found AnnotationSpecs. Given in order that matches the IDs. Each
   232  	// bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and
   233  	// `yMax`, which represent the extremal coordinates of the box. They are
   234  	// relative to the image size, and the point 0,0 is in the top left
   235  	// of the image.
   236  	Bboxes []*structpb.ListValue `protobuf:"bytes,4,rep,name=bboxes,proto3" json:"bboxes,omitempty"`
   237  }
   238  
   239  func (x *ImageObjectDetectionPredictionResult) Reset() {
   240  	*x = ImageObjectDetectionPredictionResult{}
   241  	if protoimpl.UnsafeEnabled {
   242  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[2]
   243  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   244  		ms.StoreMessageInfo(mi)
   245  	}
   246  }
   247  
   248  func (x *ImageObjectDetectionPredictionResult) String() string {
   249  	return protoimpl.X.MessageStringOf(x)
   250  }
   251  
   252  func (*ImageObjectDetectionPredictionResult) ProtoMessage() {}
   253  
   254  func (x *ImageObjectDetectionPredictionResult) ProtoReflect() protoreflect.Message {
   255  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[2]
   256  	if protoimpl.UnsafeEnabled && x != nil {
   257  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   258  		if ms.LoadMessageInfo() == nil {
   259  			ms.StoreMessageInfo(mi)
   260  		}
   261  		return ms
   262  	}
   263  	return mi.MessageOf(x)
   264  }
   265  
   266  // Deprecated: Use ImageObjectDetectionPredictionResult.ProtoReflect.Descriptor instead.
   267  func (*ImageObjectDetectionPredictionResult) Descriptor() ([]byte, []int) {
   268  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{2}
   269  }
   270  
   271  func (x *ImageObjectDetectionPredictionResult) GetIds() []int64 {
   272  	if x != nil {
   273  		return x.Ids
   274  	}
   275  	return nil
   276  }
   277  
   278  func (x *ImageObjectDetectionPredictionResult) GetDisplayNames() []string {
   279  	if x != nil {
   280  		return x.DisplayNames
   281  	}
   282  	return nil
   283  }
   284  
   285  func (x *ImageObjectDetectionPredictionResult) GetConfidences() []float32 {
   286  	if x != nil {
   287  		return x.Confidences
   288  	}
   289  	return nil
   290  }
   291  
   292  func (x *ImageObjectDetectionPredictionResult) GetBboxes() []*structpb.ListValue {
   293  	if x != nil {
   294  		return x.Bboxes
   295  	}
   296  	return nil
   297  }
   298  
   299  // Prediction output format for Image and Text Classification.
   300  type ClassificationPredictionResult struct {
   301  	state         protoimpl.MessageState
   302  	sizeCache     protoimpl.SizeCache
   303  	unknownFields protoimpl.UnknownFields
   304  
   305  	// The resource IDs of the AnnotationSpecs that had been identified.
   306  	Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"`
   307  	// The display names of the AnnotationSpecs that had been identified, order
   308  	// matches the IDs.
   309  	DisplayNames []string `protobuf:"bytes,2,rep,name=display_names,json=displayNames,proto3" json:"display_names,omitempty"`
   310  	// The Model's confidences in correctness of the predicted IDs, higher value
   311  	// means higher confidence. Order matches the Ids.
   312  	Confidences []float32 `protobuf:"fixed32,3,rep,packed,name=confidences,proto3" json:"confidences,omitempty"`
   313  }
   314  
   315  func (x *ClassificationPredictionResult) Reset() {
   316  	*x = ClassificationPredictionResult{}
   317  	if protoimpl.UnsafeEnabled {
   318  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[3]
   319  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   320  		ms.StoreMessageInfo(mi)
   321  	}
   322  }
   323  
   324  func (x *ClassificationPredictionResult) String() string {
   325  	return protoimpl.X.MessageStringOf(x)
   326  }
   327  
   328  func (*ClassificationPredictionResult) ProtoMessage() {}
   329  
   330  func (x *ClassificationPredictionResult) ProtoReflect() protoreflect.Message {
   331  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[3]
   332  	if protoimpl.UnsafeEnabled && x != nil {
   333  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   334  		if ms.LoadMessageInfo() == nil {
   335  			ms.StoreMessageInfo(mi)
   336  		}
   337  		return ms
   338  	}
   339  	return mi.MessageOf(x)
   340  }
   341  
   342  // Deprecated: Use ClassificationPredictionResult.ProtoReflect.Descriptor instead.
   343  func (*ClassificationPredictionResult) Descriptor() ([]byte, []int) {
   344  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{3}
   345  }
   346  
   347  func (x *ClassificationPredictionResult) GetIds() []int64 {
   348  	if x != nil {
   349  		return x.Ids
   350  	}
   351  	return nil
   352  }
   353  
   354  func (x *ClassificationPredictionResult) GetDisplayNames() []string {
   355  	if x != nil {
   356  		return x.DisplayNames
   357  	}
   358  	return nil
   359  }
   360  
   361  func (x *ClassificationPredictionResult) GetConfidences() []float32 {
   362  	if x != nil {
   363  		return x.Confidences
   364  	}
   365  	return nil
   366  }
   367  
   368  // Prediction output format for Image Segmentation.
   369  type ImageSegmentationPredictionResult struct {
   370  	state         protoimpl.MessageState
   371  	sizeCache     protoimpl.SizeCache
   372  	unknownFields protoimpl.UnknownFields
   373  
   374  	// A PNG image where each pixel in the mask represents the category in which
   375  	// the pixel in the original image was predicted to belong to. The size of
   376  	// this image will be the same as the original image. The mapping between the
   377  	// AnntoationSpec and the color can be found in model's metadata. The model
   378  	// will choose the most likely category and if none of the categories reach
   379  	// the confidence threshold, the pixel will be marked as background.
   380  	CategoryMask string `protobuf:"bytes,1,opt,name=category_mask,json=categoryMask,proto3" json:"category_mask,omitempty"`
   381  	// A one channel image which is encoded as an 8bit lossless PNG. The size of
   382  	// the image will be the same as the original image. For a specific pixel,
   383  	// darker color means less confidence in correctness of the cateogry in the
   384  	// categoryMask for the corresponding pixel. Black means no confidence and
   385  	// white means complete confidence.
   386  	ConfidenceMask string `protobuf:"bytes,2,opt,name=confidence_mask,json=confidenceMask,proto3" json:"confidence_mask,omitempty"`
   387  }
   388  
   389  func (x *ImageSegmentationPredictionResult) Reset() {
   390  	*x = ImageSegmentationPredictionResult{}
   391  	if protoimpl.UnsafeEnabled {
   392  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[4]
   393  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   394  		ms.StoreMessageInfo(mi)
   395  	}
   396  }
   397  
   398  func (x *ImageSegmentationPredictionResult) String() string {
   399  	return protoimpl.X.MessageStringOf(x)
   400  }
   401  
   402  func (*ImageSegmentationPredictionResult) ProtoMessage() {}
   403  
   404  func (x *ImageSegmentationPredictionResult) ProtoReflect() protoreflect.Message {
   405  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[4]
   406  	if protoimpl.UnsafeEnabled && x != nil {
   407  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   408  		if ms.LoadMessageInfo() == nil {
   409  			ms.StoreMessageInfo(mi)
   410  		}
   411  		return ms
   412  	}
   413  	return mi.MessageOf(x)
   414  }
   415  
   416  // Deprecated: Use ImageSegmentationPredictionResult.ProtoReflect.Descriptor instead.
   417  func (*ImageSegmentationPredictionResult) Descriptor() ([]byte, []int) {
   418  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{4}
   419  }
   420  
   421  func (x *ImageSegmentationPredictionResult) GetCategoryMask() string {
   422  	if x != nil {
   423  		return x.CategoryMask
   424  	}
   425  	return ""
   426  }
   427  
   428  func (x *ImageSegmentationPredictionResult) GetConfidenceMask() string {
   429  	if x != nil {
   430  		return x.ConfidenceMask
   431  	}
   432  	return ""
   433  }
   434  
   435  // Prediction output format for Video Action Recognition.
   436  type VideoActionRecognitionPredictionResult struct {
   437  	state         protoimpl.MessageState
   438  	sizeCache     protoimpl.SizeCache
   439  	unknownFields protoimpl.UnknownFields
   440  
   441  	// The beginning, inclusive, of the video's time segment in which the
   442  	// actions have been identified.
   443  	SegmentStartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=segment_start_time,json=segmentStartTime,proto3" json:"segment_start_time,omitempty"`
   444  	// The end, inclusive, of the video's time segment in which the actions have
   445  	// been identified. Particularly, if the end is the same as the start, it
   446  	// means the identification happens on a specific video frame.
   447  	SegmentEndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=segment_end_time,json=segmentEndTime,proto3" json:"segment_end_time,omitempty"`
   448  	// All of the actions identified in the time range.
   449  	Actions []*VideoActionRecognitionPredictionResult_IdentifiedAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
   450  }
   451  
   452  func (x *VideoActionRecognitionPredictionResult) Reset() {
   453  	*x = VideoActionRecognitionPredictionResult{}
   454  	if protoimpl.UnsafeEnabled {
   455  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[5]
   456  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   457  		ms.StoreMessageInfo(mi)
   458  	}
   459  }
   460  
   461  func (x *VideoActionRecognitionPredictionResult) String() string {
   462  	return protoimpl.X.MessageStringOf(x)
   463  }
   464  
   465  func (*VideoActionRecognitionPredictionResult) ProtoMessage() {}
   466  
   467  func (x *VideoActionRecognitionPredictionResult) ProtoReflect() protoreflect.Message {
   468  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[5]
   469  	if protoimpl.UnsafeEnabled && x != nil {
   470  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   471  		if ms.LoadMessageInfo() == nil {
   472  			ms.StoreMessageInfo(mi)
   473  		}
   474  		return ms
   475  	}
   476  	return mi.MessageOf(x)
   477  }
   478  
   479  // Deprecated: Use VideoActionRecognitionPredictionResult.ProtoReflect.Descriptor instead.
   480  func (*VideoActionRecognitionPredictionResult) Descriptor() ([]byte, []int) {
   481  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{5}
   482  }
   483  
   484  func (x *VideoActionRecognitionPredictionResult) GetSegmentStartTime() *timestamppb.Timestamp {
   485  	if x != nil {
   486  		return x.SegmentStartTime
   487  	}
   488  	return nil
   489  }
   490  
   491  func (x *VideoActionRecognitionPredictionResult) GetSegmentEndTime() *timestamppb.Timestamp {
   492  	if x != nil {
   493  		return x.SegmentEndTime
   494  	}
   495  	return nil
   496  }
   497  
   498  func (x *VideoActionRecognitionPredictionResult) GetActions() []*VideoActionRecognitionPredictionResult_IdentifiedAction {
   499  	if x != nil {
   500  		return x.Actions
   501  	}
   502  	return nil
   503  }
   504  
   505  // Prediction output format for Video Object Tracking.
   506  type VideoObjectTrackingPredictionResult struct {
   507  	state         protoimpl.MessageState
   508  	sizeCache     protoimpl.SizeCache
   509  	unknownFields protoimpl.UnknownFields
   510  
   511  	// The beginning, inclusive, of the video's time segment in which the
   512  	// current identifications happens.
   513  	SegmentStartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=segment_start_time,json=segmentStartTime,proto3" json:"segment_start_time,omitempty"`
   514  	// The end, inclusive, of the video's time segment in which the current
   515  	// identifications happen. Particularly, if the end is the same as the start,
   516  	// it means the identifications happen on a specific video frame.
   517  	SegmentEndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=segment_end_time,json=segmentEndTime,proto3" json:"segment_end_time,omitempty"`
   518  	// All of the objects detected in the specified time range.
   519  	Objects []*VideoObjectTrackingPredictionResult_DetectedObject `protobuf:"bytes,3,rep,name=objects,proto3" json:"objects,omitempty"`
   520  }
   521  
   522  func (x *VideoObjectTrackingPredictionResult) Reset() {
   523  	*x = VideoObjectTrackingPredictionResult{}
   524  	if protoimpl.UnsafeEnabled {
   525  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[6]
   526  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   527  		ms.StoreMessageInfo(mi)
   528  	}
   529  }
   530  
   531  func (x *VideoObjectTrackingPredictionResult) String() string {
   532  	return protoimpl.X.MessageStringOf(x)
   533  }
   534  
   535  func (*VideoObjectTrackingPredictionResult) ProtoMessage() {}
   536  
   537  func (x *VideoObjectTrackingPredictionResult) ProtoReflect() protoreflect.Message {
   538  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[6]
   539  	if protoimpl.UnsafeEnabled && x != nil {
   540  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   541  		if ms.LoadMessageInfo() == nil {
   542  			ms.StoreMessageInfo(mi)
   543  		}
   544  		return ms
   545  	}
   546  	return mi.MessageOf(x)
   547  }
   548  
   549  // Deprecated: Use VideoObjectTrackingPredictionResult.ProtoReflect.Descriptor instead.
   550  func (*VideoObjectTrackingPredictionResult) Descriptor() ([]byte, []int) {
   551  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{6}
   552  }
   553  
   554  func (x *VideoObjectTrackingPredictionResult) GetSegmentStartTime() *timestamppb.Timestamp {
   555  	if x != nil {
   556  		return x.SegmentStartTime
   557  	}
   558  	return nil
   559  }
   560  
   561  func (x *VideoObjectTrackingPredictionResult) GetSegmentEndTime() *timestamppb.Timestamp {
   562  	if x != nil {
   563  		return x.SegmentEndTime
   564  	}
   565  	return nil
   566  }
   567  
   568  func (x *VideoObjectTrackingPredictionResult) GetObjects() []*VideoObjectTrackingPredictionResult_DetectedObject {
   569  	if x != nil {
   570  		return x.Objects
   571  	}
   572  	return nil
   573  }
   574  
   575  // Prediction output format for Video Classification.
   576  type VideoClassificationPredictionResult struct {
   577  	state         protoimpl.MessageState
   578  	sizeCache     protoimpl.SizeCache
   579  	unknownFields protoimpl.UnknownFields
   580  
   581  	// The beginning, inclusive, of the video's time segment in which the
   582  	// classifications have been identified.
   583  	SegmentStartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=segment_start_time,json=segmentStartTime,proto3" json:"segment_start_time,omitempty"`
   584  	// The end, inclusive, of the video's time segment in which the
   585  	// classifications have been identified. Particularly, if the end is the same
   586  	// as the start, it means the identification happens on a specific video
   587  	// frame.
   588  	SegmentEndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=segment_end_time,json=segmentEndTime,proto3" json:"segment_end_time,omitempty"`
   589  	// All of the classifications identified in the time range.
   590  	Classifications []*VideoClassificationPredictionResult_IdentifiedClassification `protobuf:"bytes,3,rep,name=classifications,proto3" json:"classifications,omitempty"`
   591  }
   592  
   593  func (x *VideoClassificationPredictionResult) Reset() {
   594  	*x = VideoClassificationPredictionResult{}
   595  	if protoimpl.UnsafeEnabled {
   596  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[7]
   597  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   598  		ms.StoreMessageInfo(mi)
   599  	}
   600  }
   601  
   602  func (x *VideoClassificationPredictionResult) String() string {
   603  	return protoimpl.X.MessageStringOf(x)
   604  }
   605  
   606  func (*VideoClassificationPredictionResult) ProtoMessage() {}
   607  
   608  func (x *VideoClassificationPredictionResult) ProtoReflect() protoreflect.Message {
   609  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[7]
   610  	if protoimpl.UnsafeEnabled && x != nil {
   611  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   612  		if ms.LoadMessageInfo() == nil {
   613  			ms.StoreMessageInfo(mi)
   614  		}
   615  		return ms
   616  	}
   617  	return mi.MessageOf(x)
   618  }
   619  
   620  // Deprecated: Use VideoClassificationPredictionResult.ProtoReflect.Descriptor instead.
   621  func (*VideoClassificationPredictionResult) Descriptor() ([]byte, []int) {
   622  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{7}
   623  }
   624  
   625  func (x *VideoClassificationPredictionResult) GetSegmentStartTime() *timestamppb.Timestamp {
   626  	if x != nil {
   627  		return x.SegmentStartTime
   628  	}
   629  	return nil
   630  }
   631  
   632  func (x *VideoClassificationPredictionResult) GetSegmentEndTime() *timestamppb.Timestamp {
   633  	if x != nil {
   634  		return x.SegmentEndTime
   635  	}
   636  	return nil
   637  }
   638  
   639  func (x *VideoClassificationPredictionResult) GetClassifications() []*VideoClassificationPredictionResult_IdentifiedClassification {
   640  	if x != nil {
   641  		return x.Classifications
   642  	}
   643  	return nil
   644  }
   645  
   646  // The prediction result proto for occupancy counting.
   647  type OccupancyCountingPredictionResult struct {
   648  	state         protoimpl.MessageState
   649  	sizeCache     protoimpl.SizeCache
   650  	unknownFields protoimpl.UnknownFields
   651  
   652  	// Current timestamp.
   653  	CurrentTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=current_time,json=currentTime,proto3" json:"current_time,omitempty"`
   654  	// A list of identified boxes.
   655  	IdentifiedBoxes []*OccupancyCountingPredictionResult_IdentifiedBox `protobuf:"bytes,2,rep,name=identified_boxes,json=identifiedBoxes,proto3" json:"identified_boxes,omitempty"`
   656  	// Detection statistics.
   657  	Stats *OccupancyCountingPredictionResult_Stats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"`
   658  	// Track related information. All the tracks that are live at this timestamp.
   659  	// It only exists if tracking is enabled.
   660  	TrackInfo []*OccupancyCountingPredictionResult_TrackInfo `protobuf:"bytes,4,rep,name=track_info,json=trackInfo,proto3" json:"track_info,omitempty"`
   661  	// Dwell time related information. All the tracks that are live in a given
   662  	// zone with a start and end dwell time timestamp
   663  	DwellTimeInfo []*OccupancyCountingPredictionResult_DwellTimeInfo `protobuf:"bytes,5,rep,name=dwell_time_info,json=dwellTimeInfo,proto3" json:"dwell_time_info,omitempty"`
   664  }
   665  
   666  func (x *OccupancyCountingPredictionResult) Reset() {
   667  	*x = OccupancyCountingPredictionResult{}
   668  	if protoimpl.UnsafeEnabled {
   669  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[8]
   670  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   671  		ms.StoreMessageInfo(mi)
   672  	}
   673  }
   674  
   675  func (x *OccupancyCountingPredictionResult) String() string {
   676  	return protoimpl.X.MessageStringOf(x)
   677  }
   678  
   679  func (*OccupancyCountingPredictionResult) ProtoMessage() {}
   680  
   681  func (x *OccupancyCountingPredictionResult) ProtoReflect() protoreflect.Message {
   682  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[8]
   683  	if protoimpl.UnsafeEnabled && x != nil {
   684  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   685  		if ms.LoadMessageInfo() == nil {
   686  			ms.StoreMessageInfo(mi)
   687  		}
   688  		return ms
   689  	}
   690  	return mi.MessageOf(x)
   691  }
   692  
   693  // Deprecated: Use OccupancyCountingPredictionResult.ProtoReflect.Descriptor instead.
   694  func (*OccupancyCountingPredictionResult) Descriptor() ([]byte, []int) {
   695  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8}
   696  }
   697  
   698  func (x *OccupancyCountingPredictionResult) GetCurrentTime() *timestamppb.Timestamp {
   699  	if x != nil {
   700  		return x.CurrentTime
   701  	}
   702  	return nil
   703  }
   704  
   705  func (x *OccupancyCountingPredictionResult) GetIdentifiedBoxes() []*OccupancyCountingPredictionResult_IdentifiedBox {
   706  	if x != nil {
   707  		return x.IdentifiedBoxes
   708  	}
   709  	return nil
   710  }
   711  
   712  func (x *OccupancyCountingPredictionResult) GetStats() *OccupancyCountingPredictionResult_Stats {
   713  	if x != nil {
   714  		return x.Stats
   715  	}
   716  	return nil
   717  }
   718  
   719  func (x *OccupancyCountingPredictionResult) GetTrackInfo() []*OccupancyCountingPredictionResult_TrackInfo {
   720  	if x != nil {
   721  		return x.TrackInfo
   722  	}
   723  	return nil
   724  }
   725  
   726  func (x *OccupancyCountingPredictionResult) GetDwellTimeInfo() []*OccupancyCountingPredictionResult_DwellTimeInfo {
   727  	if x != nil {
   728  		return x.DwellTimeInfo
   729  	}
   730  	return nil
   731  }
   732  
   733  // message about annotations about Vision AI stream resource.
   734  type StreamAnnotation struct {
   735  	state         protoimpl.MessageState
   736  	sizeCache     protoimpl.SizeCache
   737  	unknownFields protoimpl.UnknownFields
   738  
   739  	// Types that are assignable to AnnotationPayload:
   740  	//
   741  	//	*StreamAnnotation_ActiveZone
   742  	//	*StreamAnnotation_CrossingLine
   743  	AnnotationPayload isStreamAnnotation_AnnotationPayload `protobuf_oneof:"annotation_payload"`
   744  	// ID of the annotation. It must be unique when used in the certain context.
   745  	// For example, all the annotations to one input streams of a Vision AI
   746  	// application.
   747  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   748  	// User-friendly name for the annotation.
   749  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   750  	// The Vision AI stream resource name.
   751  	SourceStream string `protobuf:"bytes,3,opt,name=source_stream,json=sourceStream,proto3" json:"source_stream,omitempty"`
   752  	// The actual type of Annotation.
   753  	Type StreamAnnotationType `protobuf:"varint,4,opt,name=type,proto3,enum=google.cloud.visionai.v1.StreamAnnotationType" json:"type,omitempty"`
   754  }
   755  
   756  func (x *StreamAnnotation) Reset() {
   757  	*x = StreamAnnotation{}
   758  	if protoimpl.UnsafeEnabled {
   759  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[9]
   760  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   761  		ms.StoreMessageInfo(mi)
   762  	}
   763  }
   764  
   765  func (x *StreamAnnotation) String() string {
   766  	return protoimpl.X.MessageStringOf(x)
   767  }
   768  
   769  func (*StreamAnnotation) ProtoMessage() {}
   770  
   771  func (x *StreamAnnotation) ProtoReflect() protoreflect.Message {
   772  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[9]
   773  	if protoimpl.UnsafeEnabled && x != nil {
   774  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   775  		if ms.LoadMessageInfo() == nil {
   776  			ms.StoreMessageInfo(mi)
   777  		}
   778  		return ms
   779  	}
   780  	return mi.MessageOf(x)
   781  }
   782  
   783  // Deprecated: Use StreamAnnotation.ProtoReflect.Descriptor instead.
   784  func (*StreamAnnotation) Descriptor() ([]byte, []int) {
   785  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{9}
   786  }
   787  
   788  func (m *StreamAnnotation) GetAnnotationPayload() isStreamAnnotation_AnnotationPayload {
   789  	if m != nil {
   790  		return m.AnnotationPayload
   791  	}
   792  	return nil
   793  }
   794  
   795  func (x *StreamAnnotation) GetActiveZone() *NormalizedPolygon {
   796  	if x, ok := x.GetAnnotationPayload().(*StreamAnnotation_ActiveZone); ok {
   797  		return x.ActiveZone
   798  	}
   799  	return nil
   800  }
   801  
   802  func (x *StreamAnnotation) GetCrossingLine() *NormalizedPolyline {
   803  	if x, ok := x.GetAnnotationPayload().(*StreamAnnotation_CrossingLine); ok {
   804  		return x.CrossingLine
   805  	}
   806  	return nil
   807  }
   808  
   809  func (x *StreamAnnotation) GetId() string {
   810  	if x != nil {
   811  		return x.Id
   812  	}
   813  	return ""
   814  }
   815  
   816  func (x *StreamAnnotation) GetDisplayName() string {
   817  	if x != nil {
   818  		return x.DisplayName
   819  	}
   820  	return ""
   821  }
   822  
   823  func (x *StreamAnnotation) GetSourceStream() string {
   824  	if x != nil {
   825  		return x.SourceStream
   826  	}
   827  	return ""
   828  }
   829  
   830  func (x *StreamAnnotation) GetType() StreamAnnotationType {
   831  	if x != nil {
   832  		return x.Type
   833  	}
   834  	return StreamAnnotationType_STREAM_ANNOTATION_TYPE_UNSPECIFIED
   835  }
   836  
   837  type isStreamAnnotation_AnnotationPayload interface {
   838  	isStreamAnnotation_AnnotationPayload()
   839  }
   840  
   841  type StreamAnnotation_ActiveZone struct {
   842  	// Annotation for type ACTIVE_ZONE
   843  	ActiveZone *NormalizedPolygon `protobuf:"bytes,5,opt,name=active_zone,json=activeZone,proto3,oneof"`
   844  }
   845  
   846  type StreamAnnotation_CrossingLine struct {
   847  	// Annotation for type CROSSING_LINE
   848  	CrossingLine *NormalizedPolyline `protobuf:"bytes,6,opt,name=crossing_line,json=crossingLine,proto3,oneof"`
   849  }
   850  
   851  func (*StreamAnnotation_ActiveZone) isStreamAnnotation_AnnotationPayload() {}
   852  
   853  func (*StreamAnnotation_CrossingLine) isStreamAnnotation_AnnotationPayload() {}
   854  
   855  // A wrapper of repeated StreamAnnotation.
   856  type StreamAnnotations struct {
   857  	state         protoimpl.MessageState
   858  	sizeCache     protoimpl.SizeCache
   859  	unknownFields protoimpl.UnknownFields
   860  
   861  	// Multiple annotations.
   862  	StreamAnnotations []*StreamAnnotation `protobuf:"bytes,1,rep,name=stream_annotations,json=streamAnnotations,proto3" json:"stream_annotations,omitempty"`
   863  }
   864  
   865  func (x *StreamAnnotations) Reset() {
   866  	*x = StreamAnnotations{}
   867  	if protoimpl.UnsafeEnabled {
   868  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[10]
   869  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   870  		ms.StoreMessageInfo(mi)
   871  	}
   872  }
   873  
   874  func (x *StreamAnnotations) String() string {
   875  	return protoimpl.X.MessageStringOf(x)
   876  }
   877  
   878  func (*StreamAnnotations) ProtoMessage() {}
   879  
   880  func (x *StreamAnnotations) ProtoReflect() protoreflect.Message {
   881  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[10]
   882  	if protoimpl.UnsafeEnabled && x != nil {
   883  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   884  		if ms.LoadMessageInfo() == nil {
   885  			ms.StoreMessageInfo(mi)
   886  		}
   887  		return ms
   888  	}
   889  	return mi.MessageOf(x)
   890  }
   891  
   892  // Deprecated: Use StreamAnnotations.ProtoReflect.Descriptor instead.
   893  func (*StreamAnnotations) Descriptor() ([]byte, []int) {
   894  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{10}
   895  }
   896  
   897  func (x *StreamAnnotations) GetStreamAnnotations() []*StreamAnnotation {
   898  	if x != nil {
   899  		return x.StreamAnnotations
   900  	}
   901  	return nil
   902  }
   903  
   904  // Normalized Polygon.
   905  type NormalizedPolygon struct {
   906  	state         protoimpl.MessageState
   907  	sizeCache     protoimpl.SizeCache
   908  	unknownFields protoimpl.UnknownFields
   909  
   910  	// The bounding polygon normalized vertices. Top left corner of the image
   911  	// will be [0, 0].
   912  	NormalizedVertices []*NormalizedVertex `protobuf:"bytes,1,rep,name=normalized_vertices,json=normalizedVertices,proto3" json:"normalized_vertices,omitempty"`
   913  }
   914  
   915  func (x *NormalizedPolygon) Reset() {
   916  	*x = NormalizedPolygon{}
   917  	if protoimpl.UnsafeEnabled {
   918  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[11]
   919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   920  		ms.StoreMessageInfo(mi)
   921  	}
   922  }
   923  
   924  func (x *NormalizedPolygon) String() string {
   925  	return protoimpl.X.MessageStringOf(x)
   926  }
   927  
   928  func (*NormalizedPolygon) ProtoMessage() {}
   929  
   930  func (x *NormalizedPolygon) ProtoReflect() protoreflect.Message {
   931  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[11]
   932  	if protoimpl.UnsafeEnabled && x != nil {
   933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   934  		if ms.LoadMessageInfo() == nil {
   935  			ms.StoreMessageInfo(mi)
   936  		}
   937  		return ms
   938  	}
   939  	return mi.MessageOf(x)
   940  }
   941  
   942  // Deprecated: Use NormalizedPolygon.ProtoReflect.Descriptor instead.
   943  func (*NormalizedPolygon) Descriptor() ([]byte, []int) {
   944  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{11}
   945  }
   946  
   947  func (x *NormalizedPolygon) GetNormalizedVertices() []*NormalizedVertex {
   948  	if x != nil {
   949  		return x.NormalizedVertices
   950  	}
   951  	return nil
   952  }
   953  
   954  // Normalized Pplyline, which represents a curve consisting of connected
   955  // straight-line segments.
   956  type NormalizedPolyline struct {
   957  	state         protoimpl.MessageState
   958  	sizeCache     protoimpl.SizeCache
   959  	unknownFields protoimpl.UnknownFields
   960  
   961  	// A sequence of vertices connected by straight lines.
   962  	NormalizedVertices []*NormalizedVertex `protobuf:"bytes,1,rep,name=normalized_vertices,json=normalizedVertices,proto3" json:"normalized_vertices,omitempty"`
   963  }
   964  
   965  func (x *NormalizedPolyline) Reset() {
   966  	*x = NormalizedPolyline{}
   967  	if protoimpl.UnsafeEnabled {
   968  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[12]
   969  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   970  		ms.StoreMessageInfo(mi)
   971  	}
   972  }
   973  
   974  func (x *NormalizedPolyline) String() string {
   975  	return protoimpl.X.MessageStringOf(x)
   976  }
   977  
   978  func (*NormalizedPolyline) ProtoMessage() {}
   979  
   980  func (x *NormalizedPolyline) ProtoReflect() protoreflect.Message {
   981  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[12]
   982  	if protoimpl.UnsafeEnabled && x != nil {
   983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   984  		if ms.LoadMessageInfo() == nil {
   985  			ms.StoreMessageInfo(mi)
   986  		}
   987  		return ms
   988  	}
   989  	return mi.MessageOf(x)
   990  }
   991  
   992  // Deprecated: Use NormalizedPolyline.ProtoReflect.Descriptor instead.
   993  func (*NormalizedPolyline) Descriptor() ([]byte, []int) {
   994  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{12}
   995  }
   996  
   997  func (x *NormalizedPolyline) GetNormalizedVertices() []*NormalizedVertex {
   998  	if x != nil {
   999  		return x.NormalizedVertices
  1000  	}
  1001  	return nil
  1002  }
  1003  
  1004  // A vertex represents a 2D point in the image.
  1005  // NOTE: the normalized vertex coordinates are relative to the original image
  1006  // and range from 0 to 1.
  1007  type NormalizedVertex struct {
  1008  	state         protoimpl.MessageState
  1009  	sizeCache     protoimpl.SizeCache
  1010  	unknownFields protoimpl.UnknownFields
  1011  
  1012  	// X coordinate.
  1013  	X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
  1014  	// Y coordinate.
  1015  	Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
  1016  }
  1017  
  1018  func (x *NormalizedVertex) Reset() {
  1019  	*x = NormalizedVertex{}
  1020  	if protoimpl.UnsafeEnabled {
  1021  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[13]
  1022  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1023  		ms.StoreMessageInfo(mi)
  1024  	}
  1025  }
  1026  
  1027  func (x *NormalizedVertex) String() string {
  1028  	return protoimpl.X.MessageStringOf(x)
  1029  }
  1030  
  1031  func (*NormalizedVertex) ProtoMessage() {}
  1032  
  1033  func (x *NormalizedVertex) ProtoReflect() protoreflect.Message {
  1034  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[13]
  1035  	if protoimpl.UnsafeEnabled && x != nil {
  1036  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1037  		if ms.LoadMessageInfo() == nil {
  1038  			ms.StoreMessageInfo(mi)
  1039  		}
  1040  		return ms
  1041  	}
  1042  	return mi.MessageOf(x)
  1043  }
  1044  
  1045  // Deprecated: Use NormalizedVertex.ProtoReflect.Descriptor instead.
  1046  func (*NormalizedVertex) Descriptor() ([]byte, []int) {
  1047  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{13}
  1048  }
  1049  
  1050  func (x *NormalizedVertex) GetX() float32 {
  1051  	if x != nil {
  1052  		return x.X
  1053  	}
  1054  	return 0
  1055  }
  1056  
  1057  func (x *NormalizedVertex) GetY() float32 {
  1058  	if x != nil {
  1059  		return x.Y
  1060  	}
  1061  	return 0
  1062  }
  1063  
  1064  // Message of essential metadata of App Platform.
  1065  // This message is usually attached to a certain processor output annotation for
  1066  // customer to identify the source of the data.
  1067  type AppPlatformMetadata struct {
  1068  	state         protoimpl.MessageState
  1069  	sizeCache     protoimpl.SizeCache
  1070  	unknownFields protoimpl.UnknownFields
  1071  
  1072  	// The application resource name.
  1073  	Application string `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"`
  1074  	// The instance resource id. Instance is the nested resource of application
  1075  	// under collection 'instances'.
  1076  	InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
  1077  	// The node name of the application graph.
  1078  	Node string `protobuf:"bytes,3,opt,name=node,proto3" json:"node,omitempty"`
  1079  	// The referred processor resource name of the application node.
  1080  	Processor string `protobuf:"bytes,4,opt,name=processor,proto3" json:"processor,omitempty"`
  1081  }
  1082  
  1083  func (x *AppPlatformMetadata) Reset() {
  1084  	*x = AppPlatformMetadata{}
  1085  	if protoimpl.UnsafeEnabled {
  1086  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[14]
  1087  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1088  		ms.StoreMessageInfo(mi)
  1089  	}
  1090  }
  1091  
  1092  func (x *AppPlatformMetadata) String() string {
  1093  	return protoimpl.X.MessageStringOf(x)
  1094  }
  1095  
  1096  func (*AppPlatformMetadata) ProtoMessage() {}
  1097  
  1098  func (x *AppPlatformMetadata) ProtoReflect() protoreflect.Message {
  1099  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[14]
  1100  	if protoimpl.UnsafeEnabled && x != nil {
  1101  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1102  		if ms.LoadMessageInfo() == nil {
  1103  			ms.StoreMessageInfo(mi)
  1104  		}
  1105  		return ms
  1106  	}
  1107  	return mi.MessageOf(x)
  1108  }
  1109  
  1110  // Deprecated: Use AppPlatformMetadata.ProtoReflect.Descriptor instead.
  1111  func (*AppPlatformMetadata) Descriptor() ([]byte, []int) {
  1112  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{14}
  1113  }
  1114  
  1115  func (x *AppPlatformMetadata) GetApplication() string {
  1116  	if x != nil {
  1117  		return x.Application
  1118  	}
  1119  	return ""
  1120  }
  1121  
  1122  func (x *AppPlatformMetadata) GetInstanceId() string {
  1123  	if x != nil {
  1124  		return x.InstanceId
  1125  	}
  1126  	return ""
  1127  }
  1128  
  1129  func (x *AppPlatformMetadata) GetNode() string {
  1130  	if x != nil {
  1131  		return x.Node
  1132  	}
  1133  	return ""
  1134  }
  1135  
  1136  func (x *AppPlatformMetadata) GetProcessor() string {
  1137  	if x != nil {
  1138  		return x.Processor
  1139  	}
  1140  	return ""
  1141  }
  1142  
  1143  // For any cloud function based customer processing logic, customer's cloud
  1144  // function is expected to receive AppPlatformCloudFunctionRequest as request
  1145  // and send back AppPlatformCloudFunctionResponse as response.
  1146  // Message of request from AppPlatform to Cloud Function.
  1147  type AppPlatformCloudFunctionRequest struct {
  1148  	state         protoimpl.MessageState
  1149  	sizeCache     protoimpl.SizeCache
  1150  	unknownFields protoimpl.UnknownFields
  1151  
  1152  	// The metadata of the AppPlatform for customer to identify the source of the
  1153  	// payload.
  1154  	AppPlatformMetadata *AppPlatformMetadata `protobuf:"bytes,1,opt,name=app_platform_metadata,json=appPlatformMetadata,proto3" json:"app_platform_metadata,omitempty"`
  1155  	// The actual annotations to be processed by the customized Cloud Function.
  1156  	Annotations []*AppPlatformCloudFunctionRequest_StructedInputAnnotation `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
  1157  }
  1158  
  1159  func (x *AppPlatformCloudFunctionRequest) Reset() {
  1160  	*x = AppPlatformCloudFunctionRequest{}
  1161  	if protoimpl.UnsafeEnabled {
  1162  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[15]
  1163  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1164  		ms.StoreMessageInfo(mi)
  1165  	}
  1166  }
  1167  
  1168  func (x *AppPlatformCloudFunctionRequest) String() string {
  1169  	return protoimpl.X.MessageStringOf(x)
  1170  }
  1171  
  1172  func (*AppPlatformCloudFunctionRequest) ProtoMessage() {}
  1173  
  1174  func (x *AppPlatformCloudFunctionRequest) ProtoReflect() protoreflect.Message {
  1175  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[15]
  1176  	if protoimpl.UnsafeEnabled && x != nil {
  1177  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1178  		if ms.LoadMessageInfo() == nil {
  1179  			ms.StoreMessageInfo(mi)
  1180  		}
  1181  		return ms
  1182  	}
  1183  	return mi.MessageOf(x)
  1184  }
  1185  
  1186  // Deprecated: Use AppPlatformCloudFunctionRequest.ProtoReflect.Descriptor instead.
  1187  func (*AppPlatformCloudFunctionRequest) Descriptor() ([]byte, []int) {
  1188  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{15}
  1189  }
  1190  
  1191  func (x *AppPlatformCloudFunctionRequest) GetAppPlatformMetadata() *AppPlatformMetadata {
  1192  	if x != nil {
  1193  		return x.AppPlatformMetadata
  1194  	}
  1195  	return nil
  1196  }
  1197  
  1198  func (x *AppPlatformCloudFunctionRequest) GetAnnotations() []*AppPlatformCloudFunctionRequest_StructedInputAnnotation {
  1199  	if x != nil {
  1200  		return x.Annotations
  1201  	}
  1202  	return nil
  1203  }
  1204  
  1205  // Message of the response from customer's Cloud Function to AppPlatform.
  1206  type AppPlatformCloudFunctionResponse struct {
  1207  	state         protoimpl.MessageState
  1208  	sizeCache     protoimpl.SizeCache
  1209  	unknownFields protoimpl.UnknownFields
  1210  
  1211  	// The modified annotations that is returned back to AppPlatform.
  1212  	// If the annotations fields are empty, then those annotations will be dropped
  1213  	// by AppPlatform.
  1214  	Annotations []*AppPlatformCloudFunctionResponse_StructedOutputAnnotation `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
  1215  	// If set to true, AppPlatform will use original annotations instead of
  1216  	// dropping them, even if it is empty in the annotations filed.
  1217  	AnnotationPassthrough bool `protobuf:"varint,3,opt,name=annotation_passthrough,json=annotationPassthrough,proto3" json:"annotation_passthrough,omitempty"`
  1218  	// The event notifications that is returned back to AppPlatform. Typically it
  1219  	// will then be configured to be consumed/forwared to a operator that handles
  1220  	// events, such as Pub/Sub operator.
  1221  	Events []*AppPlatformEventBody `protobuf:"bytes,4,rep,name=events,proto3" json:"events,omitempty"`
  1222  }
  1223  
  1224  func (x *AppPlatformCloudFunctionResponse) Reset() {
  1225  	*x = AppPlatformCloudFunctionResponse{}
  1226  	if protoimpl.UnsafeEnabled {
  1227  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[16]
  1228  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1229  		ms.StoreMessageInfo(mi)
  1230  	}
  1231  }
  1232  
  1233  func (x *AppPlatformCloudFunctionResponse) String() string {
  1234  	return protoimpl.X.MessageStringOf(x)
  1235  }
  1236  
  1237  func (*AppPlatformCloudFunctionResponse) ProtoMessage() {}
  1238  
  1239  func (x *AppPlatformCloudFunctionResponse) ProtoReflect() protoreflect.Message {
  1240  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[16]
  1241  	if protoimpl.UnsafeEnabled && x != nil {
  1242  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1243  		if ms.LoadMessageInfo() == nil {
  1244  			ms.StoreMessageInfo(mi)
  1245  		}
  1246  		return ms
  1247  	}
  1248  	return mi.MessageOf(x)
  1249  }
  1250  
  1251  // Deprecated: Use AppPlatformCloudFunctionResponse.ProtoReflect.Descriptor instead.
  1252  func (*AppPlatformCloudFunctionResponse) Descriptor() ([]byte, []int) {
  1253  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{16}
  1254  }
  1255  
  1256  func (x *AppPlatformCloudFunctionResponse) GetAnnotations() []*AppPlatformCloudFunctionResponse_StructedOutputAnnotation {
  1257  	if x != nil {
  1258  		return x.Annotations
  1259  	}
  1260  	return nil
  1261  }
  1262  
  1263  func (x *AppPlatformCloudFunctionResponse) GetAnnotationPassthrough() bool {
  1264  	if x != nil {
  1265  		return x.AnnotationPassthrough
  1266  	}
  1267  	return false
  1268  }
  1269  
  1270  func (x *AppPlatformCloudFunctionResponse) GetEvents() []*AppPlatformEventBody {
  1271  	if x != nil {
  1272  		return x.Events
  1273  	}
  1274  	return nil
  1275  }
  1276  
  1277  // Message of content of appPlatform event
  1278  type AppPlatformEventBody struct {
  1279  	state         protoimpl.MessageState
  1280  	sizeCache     protoimpl.SizeCache
  1281  	unknownFields protoimpl.UnknownFields
  1282  
  1283  	// Human readable string of the event like "There are more than 6 people in
  1284  	// the scene". or "Shelf is empty!".
  1285  	EventMessage string `protobuf:"bytes,1,opt,name=event_message,json=eventMessage,proto3" json:"event_message,omitempty"`
  1286  	// For the case of Pub/Sub, it will be stored in the message attributes.
  1287  	// ​​pubsub.proto
  1288  	Payload *structpb.Struct `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
  1289  	// User defined Event Id, used to classify event, within a delivery interval,
  1290  	// events from the same application instance with the same id will be
  1291  	// de-duplicated & only first one will be sent out. Empty event_id will be
  1292  	// treated as "".
  1293  	EventId string `protobuf:"bytes,3,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
  1294  }
  1295  
  1296  func (x *AppPlatformEventBody) Reset() {
  1297  	*x = AppPlatformEventBody{}
  1298  	if protoimpl.UnsafeEnabled {
  1299  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[17]
  1300  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1301  		ms.StoreMessageInfo(mi)
  1302  	}
  1303  }
  1304  
  1305  func (x *AppPlatformEventBody) String() string {
  1306  	return protoimpl.X.MessageStringOf(x)
  1307  }
  1308  
  1309  func (*AppPlatformEventBody) ProtoMessage() {}
  1310  
  1311  func (x *AppPlatformEventBody) ProtoReflect() protoreflect.Message {
  1312  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[17]
  1313  	if protoimpl.UnsafeEnabled && x != nil {
  1314  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1315  		if ms.LoadMessageInfo() == nil {
  1316  			ms.StoreMessageInfo(mi)
  1317  		}
  1318  		return ms
  1319  	}
  1320  	return mi.MessageOf(x)
  1321  }
  1322  
  1323  // Deprecated: Use AppPlatformEventBody.ProtoReflect.Descriptor instead.
  1324  func (*AppPlatformEventBody) Descriptor() ([]byte, []int) {
  1325  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{17}
  1326  }
  1327  
  1328  func (x *AppPlatformEventBody) GetEventMessage() string {
  1329  	if x != nil {
  1330  		return x.EventMessage
  1331  	}
  1332  	return ""
  1333  }
  1334  
  1335  func (x *AppPlatformEventBody) GetPayload() *structpb.Struct {
  1336  	if x != nil {
  1337  		return x.Payload
  1338  	}
  1339  	return nil
  1340  }
  1341  
  1342  func (x *AppPlatformEventBody) GetEventId() string {
  1343  	if x != nil {
  1344  		return x.EventId
  1345  	}
  1346  	return ""
  1347  }
  1348  
  1349  // The entity info for annotations from person detection prediction result.
  1350  type PersonalProtectiveEquipmentDetectionOutput_PersonEntity struct {
  1351  	state         protoimpl.MessageState
  1352  	sizeCache     protoimpl.SizeCache
  1353  	unknownFields protoimpl.UnknownFields
  1354  
  1355  	// Entity id.
  1356  	PersonEntityId int64 `protobuf:"varint,1,opt,name=person_entity_id,json=personEntityId,proto3" json:"person_entity_id,omitempty"`
  1357  }
  1358  
  1359  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonEntity) Reset() {
  1360  	*x = PersonalProtectiveEquipmentDetectionOutput_PersonEntity{}
  1361  	if protoimpl.UnsafeEnabled {
  1362  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[18]
  1363  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1364  		ms.StoreMessageInfo(mi)
  1365  	}
  1366  }
  1367  
  1368  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonEntity) String() string {
  1369  	return protoimpl.X.MessageStringOf(x)
  1370  }
  1371  
  1372  func (*PersonalProtectiveEquipmentDetectionOutput_PersonEntity) ProtoMessage() {}
  1373  
  1374  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonEntity) ProtoReflect() protoreflect.Message {
  1375  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[18]
  1376  	if protoimpl.UnsafeEnabled && x != nil {
  1377  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1378  		if ms.LoadMessageInfo() == nil {
  1379  			ms.StoreMessageInfo(mi)
  1380  		}
  1381  		return ms
  1382  	}
  1383  	return mi.MessageOf(x)
  1384  }
  1385  
  1386  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput_PersonEntity.ProtoReflect.Descriptor instead.
  1387  func (*PersonalProtectiveEquipmentDetectionOutput_PersonEntity) Descriptor() ([]byte, []int) {
  1388  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0, 0}
  1389  }
  1390  
  1391  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonEntity) GetPersonEntityId() int64 {
  1392  	if x != nil {
  1393  		return x.PersonEntityId
  1394  	}
  1395  	return 0
  1396  }
  1397  
  1398  // The entity info for annotations from PPE detection prediction result.
  1399  type PersonalProtectiveEquipmentDetectionOutput_PPEEntity struct {
  1400  	state         protoimpl.MessageState
  1401  	sizeCache     protoimpl.SizeCache
  1402  	unknownFields protoimpl.UnknownFields
  1403  
  1404  	// Label id.
  1405  	PpeLabelId int64 `protobuf:"varint,1,opt,name=ppe_label_id,json=ppeLabelId,proto3" json:"ppe_label_id,omitempty"`
  1406  	// Human readable string of the label (Examples: helmet, glove, mask).
  1407  	PpeLabelString string `protobuf:"bytes,2,opt,name=ppe_label_string,json=ppeLabelString,proto3" json:"ppe_label_string,omitempty"`
  1408  	// Human readable string of the super category label (Examples: head_cover,
  1409  	// hands_cover, face_cover).
  1410  	PpeSupercategoryLabelString string `protobuf:"bytes,3,opt,name=ppe_supercategory_label_string,json=ppeSupercategoryLabelString,proto3" json:"ppe_supercategory_label_string,omitempty"`
  1411  	// Entity id.
  1412  	PpeEntityId int64 `protobuf:"varint,4,opt,name=ppe_entity_id,json=ppeEntityId,proto3" json:"ppe_entity_id,omitempty"`
  1413  }
  1414  
  1415  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) Reset() {
  1416  	*x = PersonalProtectiveEquipmentDetectionOutput_PPEEntity{}
  1417  	if protoimpl.UnsafeEnabled {
  1418  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[19]
  1419  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1420  		ms.StoreMessageInfo(mi)
  1421  	}
  1422  }
  1423  
  1424  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) String() string {
  1425  	return protoimpl.X.MessageStringOf(x)
  1426  }
  1427  
  1428  func (*PersonalProtectiveEquipmentDetectionOutput_PPEEntity) ProtoMessage() {}
  1429  
  1430  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) ProtoReflect() protoreflect.Message {
  1431  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[19]
  1432  	if protoimpl.UnsafeEnabled && x != nil {
  1433  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1434  		if ms.LoadMessageInfo() == nil {
  1435  			ms.StoreMessageInfo(mi)
  1436  		}
  1437  		return ms
  1438  	}
  1439  	return mi.MessageOf(x)
  1440  }
  1441  
  1442  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput_PPEEntity.ProtoReflect.Descriptor instead.
  1443  func (*PersonalProtectiveEquipmentDetectionOutput_PPEEntity) Descriptor() ([]byte, []int) {
  1444  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0, 1}
  1445  }
  1446  
  1447  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) GetPpeLabelId() int64 {
  1448  	if x != nil {
  1449  		return x.PpeLabelId
  1450  	}
  1451  	return 0
  1452  }
  1453  
  1454  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) GetPpeLabelString() string {
  1455  	if x != nil {
  1456  		return x.PpeLabelString
  1457  	}
  1458  	return ""
  1459  }
  1460  
  1461  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) GetPpeSupercategoryLabelString() string {
  1462  	if x != nil {
  1463  		return x.PpeSupercategoryLabelString
  1464  	}
  1465  	return ""
  1466  }
  1467  
  1468  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEEntity) GetPpeEntityId() int64 {
  1469  	if x != nil {
  1470  		return x.PpeEntityId
  1471  	}
  1472  	return 0
  1473  }
  1474  
  1475  // Bounding Box in the normalized coordinates.
  1476  type PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox struct {
  1477  	state         protoimpl.MessageState
  1478  	sizeCache     protoimpl.SizeCache
  1479  	unknownFields protoimpl.UnknownFields
  1480  
  1481  	// Min in x coordinate.
  1482  	Xmin float32 `protobuf:"fixed32,1,opt,name=xmin,proto3" json:"xmin,omitempty"`
  1483  	// Min in y coordinate.
  1484  	Ymin float32 `protobuf:"fixed32,2,opt,name=ymin,proto3" json:"ymin,omitempty"`
  1485  	// Width of the bounding box.
  1486  	Width float32 `protobuf:"fixed32,3,opt,name=width,proto3" json:"width,omitempty"`
  1487  	// Height of the bounding box.
  1488  	Height float32 `protobuf:"fixed32,4,opt,name=height,proto3" json:"height,omitempty"`
  1489  }
  1490  
  1491  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) Reset() {
  1492  	*x = PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox{}
  1493  	if protoimpl.UnsafeEnabled {
  1494  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[20]
  1495  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1496  		ms.StoreMessageInfo(mi)
  1497  	}
  1498  }
  1499  
  1500  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) String() string {
  1501  	return protoimpl.X.MessageStringOf(x)
  1502  }
  1503  
  1504  func (*PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) ProtoMessage() {}
  1505  
  1506  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) ProtoReflect() protoreflect.Message {
  1507  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[20]
  1508  	if protoimpl.UnsafeEnabled && x != nil {
  1509  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1510  		if ms.LoadMessageInfo() == nil {
  1511  			ms.StoreMessageInfo(mi)
  1512  		}
  1513  		return ms
  1514  	}
  1515  	return mi.MessageOf(x)
  1516  }
  1517  
  1518  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox.ProtoReflect.Descriptor instead.
  1519  func (*PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) Descriptor() ([]byte, []int) {
  1520  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0, 2}
  1521  }
  1522  
  1523  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) GetXmin() float32 {
  1524  	if x != nil {
  1525  		return x.Xmin
  1526  	}
  1527  	return 0
  1528  }
  1529  
  1530  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) GetYmin() float32 {
  1531  	if x != nil {
  1532  		return x.Ymin
  1533  	}
  1534  	return 0
  1535  }
  1536  
  1537  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) GetWidth() float32 {
  1538  	if x != nil {
  1539  		return x.Width
  1540  	}
  1541  	return 0
  1542  }
  1543  
  1544  func (x *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox) GetHeight() float32 {
  1545  	if x != nil {
  1546  		return x.Height
  1547  	}
  1548  	return 0
  1549  }
  1550  
  1551  // PersonIdentified box contains the location and the entity info of the
  1552  // person.
  1553  type PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox struct {
  1554  	state         protoimpl.MessageState
  1555  	sizeCache     protoimpl.SizeCache
  1556  	unknownFields protoimpl.UnknownFields
  1557  
  1558  	// An unique id for this box.
  1559  	BoxId int64 `protobuf:"varint,1,opt,name=box_id,json=boxId,proto3" json:"box_id,omitempty"`
  1560  	// Bounding Box in the normalized coordinates.
  1561  	NormalizedBoundingBox *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox `protobuf:"bytes,2,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"`
  1562  	// Confidence score associated with this box.
  1563  	ConfidenceScore float32 `protobuf:"fixed32,3,opt,name=confidence_score,json=confidenceScore,proto3" json:"confidence_score,omitempty"`
  1564  	// Person entity info.
  1565  	PersonEntity *PersonalProtectiveEquipmentDetectionOutput_PersonEntity `protobuf:"bytes,4,opt,name=person_entity,json=personEntity,proto3" json:"person_entity,omitempty"`
  1566  }
  1567  
  1568  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) Reset() {
  1569  	*x = PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox{}
  1570  	if protoimpl.UnsafeEnabled {
  1571  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[21]
  1572  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1573  		ms.StoreMessageInfo(mi)
  1574  	}
  1575  }
  1576  
  1577  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) String() string {
  1578  	return protoimpl.X.MessageStringOf(x)
  1579  }
  1580  
  1581  func (*PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) ProtoMessage() {}
  1582  
  1583  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) ProtoReflect() protoreflect.Message {
  1584  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[21]
  1585  	if protoimpl.UnsafeEnabled && x != nil {
  1586  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1587  		if ms.LoadMessageInfo() == nil {
  1588  			ms.StoreMessageInfo(mi)
  1589  		}
  1590  		return ms
  1591  	}
  1592  	return mi.MessageOf(x)
  1593  }
  1594  
  1595  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox.ProtoReflect.Descriptor instead.
  1596  func (*PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) Descriptor() ([]byte, []int) {
  1597  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0, 3}
  1598  }
  1599  
  1600  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) GetBoxId() int64 {
  1601  	if x != nil {
  1602  		return x.BoxId
  1603  	}
  1604  	return 0
  1605  }
  1606  
  1607  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) GetNormalizedBoundingBox() *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox {
  1608  	if x != nil {
  1609  		return x.NormalizedBoundingBox
  1610  	}
  1611  	return nil
  1612  }
  1613  
  1614  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) GetConfidenceScore() float32 {
  1615  	if x != nil {
  1616  		return x.ConfidenceScore
  1617  	}
  1618  	return 0
  1619  }
  1620  
  1621  func (x *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox) GetPersonEntity() *PersonalProtectiveEquipmentDetectionOutput_PersonEntity {
  1622  	if x != nil {
  1623  		return x.PersonEntity
  1624  	}
  1625  	return nil
  1626  }
  1627  
  1628  // PPEIdentified box contains the location and the entity info of the PPE.
  1629  type PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox struct {
  1630  	state         protoimpl.MessageState
  1631  	sizeCache     protoimpl.SizeCache
  1632  	unknownFields protoimpl.UnknownFields
  1633  
  1634  	// An unique id for this box.
  1635  	BoxId int64 `protobuf:"varint,1,opt,name=box_id,json=boxId,proto3" json:"box_id,omitempty"`
  1636  	// Bounding Box in the normalized coordinates.
  1637  	NormalizedBoundingBox *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox `protobuf:"bytes,2,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"`
  1638  	// Confidence score associated with this box.
  1639  	ConfidenceScore float32 `protobuf:"fixed32,3,opt,name=confidence_score,json=confidenceScore,proto3" json:"confidence_score,omitempty"`
  1640  	// PPE entity info.
  1641  	PpeEntity *PersonalProtectiveEquipmentDetectionOutput_PPEEntity `protobuf:"bytes,4,opt,name=ppe_entity,json=ppeEntity,proto3" json:"ppe_entity,omitempty"`
  1642  }
  1643  
  1644  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) Reset() {
  1645  	*x = PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox{}
  1646  	if protoimpl.UnsafeEnabled {
  1647  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[22]
  1648  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1649  		ms.StoreMessageInfo(mi)
  1650  	}
  1651  }
  1652  
  1653  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) String() string {
  1654  	return protoimpl.X.MessageStringOf(x)
  1655  }
  1656  
  1657  func (*PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) ProtoMessage() {}
  1658  
  1659  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) ProtoReflect() protoreflect.Message {
  1660  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[22]
  1661  	if protoimpl.UnsafeEnabled && x != nil {
  1662  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1663  		if ms.LoadMessageInfo() == nil {
  1664  			ms.StoreMessageInfo(mi)
  1665  		}
  1666  		return ms
  1667  	}
  1668  	return mi.MessageOf(x)
  1669  }
  1670  
  1671  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox.ProtoReflect.Descriptor instead.
  1672  func (*PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) Descriptor() ([]byte, []int) {
  1673  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0, 4}
  1674  }
  1675  
  1676  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) GetBoxId() int64 {
  1677  	if x != nil {
  1678  		return x.BoxId
  1679  	}
  1680  	return 0
  1681  }
  1682  
  1683  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) GetNormalizedBoundingBox() *PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox {
  1684  	if x != nil {
  1685  		return x.NormalizedBoundingBox
  1686  	}
  1687  	return nil
  1688  }
  1689  
  1690  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) GetConfidenceScore() float32 {
  1691  	if x != nil {
  1692  		return x.ConfidenceScore
  1693  	}
  1694  	return 0
  1695  }
  1696  
  1697  func (x *PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox) GetPpeEntity() *PersonalProtectiveEquipmentDetectionOutput_PPEEntity {
  1698  	if x != nil {
  1699  		return x.PpeEntity
  1700  	}
  1701  	return nil
  1702  }
  1703  
  1704  // Detected Person contains the detected person and their associated
  1705  // ppes and their protecting information.
  1706  type PersonalProtectiveEquipmentDetectionOutput_DetectedPerson struct {
  1707  	state         protoimpl.MessageState
  1708  	sizeCache     protoimpl.SizeCache
  1709  	unknownFields protoimpl.UnknownFields
  1710  
  1711  	// The id of detected person.
  1712  	PersonId int64 `protobuf:"varint,1,opt,name=person_id,json=personId,proto3" json:"person_id,omitempty"`
  1713  	// The info of detected person identified box.
  1714  	DetectedPersonIdentifiedBox *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox `protobuf:"bytes,2,opt,name=detected_person_identified_box,json=detectedPersonIdentifiedBox,proto3" json:"detected_person_identified_box,omitempty"`
  1715  	// The info of detected person associated ppe identified boxes.
  1716  	DetectedPpeIdentifiedBoxes []*PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox `protobuf:"bytes,3,rep,name=detected_ppe_identified_boxes,json=detectedPpeIdentifiedBoxes,proto3" json:"detected_ppe_identified_boxes,omitempty"`
  1717  	// Coverage score for each body part.
  1718  	// Coverage score for face.
  1719  	FaceCoverageScore *float32 `protobuf:"fixed32,4,opt,name=face_coverage_score,json=faceCoverageScore,proto3,oneof" json:"face_coverage_score,omitempty"`
  1720  	// Coverage score for eyes.
  1721  	EyesCoverageScore *float32 `protobuf:"fixed32,5,opt,name=eyes_coverage_score,json=eyesCoverageScore,proto3,oneof" json:"eyes_coverage_score,omitempty"`
  1722  	// Coverage score for head.
  1723  	HeadCoverageScore *float32 `protobuf:"fixed32,6,opt,name=head_coverage_score,json=headCoverageScore,proto3,oneof" json:"head_coverage_score,omitempty"`
  1724  	// Coverage score for hands.
  1725  	HandsCoverageScore *float32 `protobuf:"fixed32,7,opt,name=hands_coverage_score,json=handsCoverageScore,proto3,oneof" json:"hands_coverage_score,omitempty"`
  1726  	// Coverage score for body.
  1727  	BodyCoverageScore *float32 `protobuf:"fixed32,8,opt,name=body_coverage_score,json=bodyCoverageScore,proto3,oneof" json:"body_coverage_score,omitempty"`
  1728  	// Coverage score for feet.
  1729  	FeetCoverageScore *float32 `protobuf:"fixed32,9,opt,name=feet_coverage_score,json=feetCoverageScore,proto3,oneof" json:"feet_coverage_score,omitempty"`
  1730  }
  1731  
  1732  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) Reset() {
  1733  	*x = PersonalProtectiveEquipmentDetectionOutput_DetectedPerson{}
  1734  	if protoimpl.UnsafeEnabled {
  1735  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[23]
  1736  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1737  		ms.StoreMessageInfo(mi)
  1738  	}
  1739  }
  1740  
  1741  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) String() string {
  1742  	return protoimpl.X.MessageStringOf(x)
  1743  }
  1744  
  1745  func (*PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) ProtoMessage() {}
  1746  
  1747  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) ProtoReflect() protoreflect.Message {
  1748  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[23]
  1749  	if protoimpl.UnsafeEnabled && x != nil {
  1750  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1751  		if ms.LoadMessageInfo() == nil {
  1752  			ms.StoreMessageInfo(mi)
  1753  		}
  1754  		return ms
  1755  	}
  1756  	return mi.MessageOf(x)
  1757  }
  1758  
  1759  // Deprecated: Use PersonalProtectiveEquipmentDetectionOutput_DetectedPerson.ProtoReflect.Descriptor instead.
  1760  func (*PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) Descriptor() ([]byte, []int) {
  1761  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{0, 5}
  1762  }
  1763  
  1764  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetPersonId() int64 {
  1765  	if x != nil {
  1766  		return x.PersonId
  1767  	}
  1768  	return 0
  1769  }
  1770  
  1771  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetDetectedPersonIdentifiedBox() *PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox {
  1772  	if x != nil {
  1773  		return x.DetectedPersonIdentifiedBox
  1774  	}
  1775  	return nil
  1776  }
  1777  
  1778  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetDetectedPpeIdentifiedBoxes() []*PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox {
  1779  	if x != nil {
  1780  		return x.DetectedPpeIdentifiedBoxes
  1781  	}
  1782  	return nil
  1783  }
  1784  
  1785  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetFaceCoverageScore() float32 {
  1786  	if x != nil && x.FaceCoverageScore != nil {
  1787  		return *x.FaceCoverageScore
  1788  	}
  1789  	return 0
  1790  }
  1791  
  1792  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetEyesCoverageScore() float32 {
  1793  	if x != nil && x.EyesCoverageScore != nil {
  1794  		return *x.EyesCoverageScore
  1795  	}
  1796  	return 0
  1797  }
  1798  
  1799  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetHeadCoverageScore() float32 {
  1800  	if x != nil && x.HeadCoverageScore != nil {
  1801  		return *x.HeadCoverageScore
  1802  	}
  1803  	return 0
  1804  }
  1805  
  1806  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetHandsCoverageScore() float32 {
  1807  	if x != nil && x.HandsCoverageScore != nil {
  1808  		return *x.HandsCoverageScore
  1809  	}
  1810  	return 0
  1811  }
  1812  
  1813  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetBodyCoverageScore() float32 {
  1814  	if x != nil && x.BodyCoverageScore != nil {
  1815  		return *x.BodyCoverageScore
  1816  	}
  1817  	return 0
  1818  }
  1819  
  1820  func (x *PersonalProtectiveEquipmentDetectionOutput_DetectedPerson) GetFeetCoverageScore() float32 {
  1821  	if x != nil && x.FeetCoverageScore != nil {
  1822  		return *x.FeetCoverageScore
  1823  	}
  1824  	return 0
  1825  }
  1826  
  1827  // The entity info for annotations from object detection prediction result.
  1828  type ObjectDetectionPredictionResult_Entity struct {
  1829  	state         protoimpl.MessageState
  1830  	sizeCache     protoimpl.SizeCache
  1831  	unknownFields protoimpl.UnknownFields
  1832  
  1833  	// Label id.
  1834  	LabelId int64 `protobuf:"varint,1,opt,name=label_id,json=labelId,proto3" json:"label_id,omitempty"`
  1835  	// Human readable string of the label.
  1836  	LabelString string `protobuf:"bytes,2,opt,name=label_string,json=labelString,proto3" json:"label_string,omitempty"`
  1837  }
  1838  
  1839  func (x *ObjectDetectionPredictionResult_Entity) Reset() {
  1840  	*x = ObjectDetectionPredictionResult_Entity{}
  1841  	if protoimpl.UnsafeEnabled {
  1842  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[24]
  1843  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1844  		ms.StoreMessageInfo(mi)
  1845  	}
  1846  }
  1847  
  1848  func (x *ObjectDetectionPredictionResult_Entity) String() string {
  1849  	return protoimpl.X.MessageStringOf(x)
  1850  }
  1851  
  1852  func (*ObjectDetectionPredictionResult_Entity) ProtoMessage() {}
  1853  
  1854  func (x *ObjectDetectionPredictionResult_Entity) ProtoReflect() protoreflect.Message {
  1855  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[24]
  1856  	if protoimpl.UnsafeEnabled && x != nil {
  1857  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1858  		if ms.LoadMessageInfo() == nil {
  1859  			ms.StoreMessageInfo(mi)
  1860  		}
  1861  		return ms
  1862  	}
  1863  	return mi.MessageOf(x)
  1864  }
  1865  
  1866  // Deprecated: Use ObjectDetectionPredictionResult_Entity.ProtoReflect.Descriptor instead.
  1867  func (*ObjectDetectionPredictionResult_Entity) Descriptor() ([]byte, []int) {
  1868  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{1, 0}
  1869  }
  1870  
  1871  func (x *ObjectDetectionPredictionResult_Entity) GetLabelId() int64 {
  1872  	if x != nil {
  1873  		return x.LabelId
  1874  	}
  1875  	return 0
  1876  }
  1877  
  1878  func (x *ObjectDetectionPredictionResult_Entity) GetLabelString() string {
  1879  	if x != nil {
  1880  		return x.LabelString
  1881  	}
  1882  	return ""
  1883  }
  1884  
  1885  // Identified box contains location and the entity of the object.
  1886  type ObjectDetectionPredictionResult_IdentifiedBox struct {
  1887  	state         protoimpl.MessageState
  1888  	sizeCache     protoimpl.SizeCache
  1889  	unknownFields protoimpl.UnknownFields
  1890  
  1891  	// An unique id for this box.
  1892  	BoxId int64 `protobuf:"varint,1,opt,name=box_id,json=boxId,proto3" json:"box_id,omitempty"`
  1893  	// Bounding Box in the normalized coordinates.
  1894  	NormalizedBoundingBox *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox `protobuf:"bytes,2,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"`
  1895  	// Confidence score associated with this box.
  1896  	ConfidenceScore float32 `protobuf:"fixed32,3,opt,name=confidence_score,json=confidenceScore,proto3" json:"confidence_score,omitempty"`
  1897  	// Entity of this box.
  1898  	Entity *ObjectDetectionPredictionResult_Entity `protobuf:"bytes,4,opt,name=entity,proto3" json:"entity,omitempty"`
  1899  }
  1900  
  1901  func (x *ObjectDetectionPredictionResult_IdentifiedBox) Reset() {
  1902  	*x = ObjectDetectionPredictionResult_IdentifiedBox{}
  1903  	if protoimpl.UnsafeEnabled {
  1904  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[25]
  1905  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1906  		ms.StoreMessageInfo(mi)
  1907  	}
  1908  }
  1909  
  1910  func (x *ObjectDetectionPredictionResult_IdentifiedBox) String() string {
  1911  	return protoimpl.X.MessageStringOf(x)
  1912  }
  1913  
  1914  func (*ObjectDetectionPredictionResult_IdentifiedBox) ProtoMessage() {}
  1915  
  1916  func (x *ObjectDetectionPredictionResult_IdentifiedBox) ProtoReflect() protoreflect.Message {
  1917  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[25]
  1918  	if protoimpl.UnsafeEnabled && x != nil {
  1919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1920  		if ms.LoadMessageInfo() == nil {
  1921  			ms.StoreMessageInfo(mi)
  1922  		}
  1923  		return ms
  1924  	}
  1925  	return mi.MessageOf(x)
  1926  }
  1927  
  1928  // Deprecated: Use ObjectDetectionPredictionResult_IdentifiedBox.ProtoReflect.Descriptor instead.
  1929  func (*ObjectDetectionPredictionResult_IdentifiedBox) Descriptor() ([]byte, []int) {
  1930  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{1, 1}
  1931  }
  1932  
  1933  func (x *ObjectDetectionPredictionResult_IdentifiedBox) GetBoxId() int64 {
  1934  	if x != nil {
  1935  		return x.BoxId
  1936  	}
  1937  	return 0
  1938  }
  1939  
  1940  func (x *ObjectDetectionPredictionResult_IdentifiedBox) GetNormalizedBoundingBox() *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox {
  1941  	if x != nil {
  1942  		return x.NormalizedBoundingBox
  1943  	}
  1944  	return nil
  1945  }
  1946  
  1947  func (x *ObjectDetectionPredictionResult_IdentifiedBox) GetConfidenceScore() float32 {
  1948  	if x != nil {
  1949  		return x.ConfidenceScore
  1950  	}
  1951  	return 0
  1952  }
  1953  
  1954  func (x *ObjectDetectionPredictionResult_IdentifiedBox) GetEntity() *ObjectDetectionPredictionResult_Entity {
  1955  	if x != nil {
  1956  		return x.Entity
  1957  	}
  1958  	return nil
  1959  }
  1960  
  1961  // Bounding Box in the normalized coordinates.
  1962  type ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox struct {
  1963  	state         protoimpl.MessageState
  1964  	sizeCache     protoimpl.SizeCache
  1965  	unknownFields protoimpl.UnknownFields
  1966  
  1967  	// Min in x coordinate.
  1968  	Xmin float32 `protobuf:"fixed32,1,opt,name=xmin,proto3" json:"xmin,omitempty"`
  1969  	// Min in y coordinate.
  1970  	Ymin float32 `protobuf:"fixed32,2,opt,name=ymin,proto3" json:"ymin,omitempty"`
  1971  	// Width of the bounding box.
  1972  	Width float32 `protobuf:"fixed32,3,opt,name=width,proto3" json:"width,omitempty"`
  1973  	// Height of the bounding box.
  1974  	Height float32 `protobuf:"fixed32,4,opt,name=height,proto3" json:"height,omitempty"`
  1975  }
  1976  
  1977  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) Reset() {
  1978  	*x = ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox{}
  1979  	if protoimpl.UnsafeEnabled {
  1980  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[26]
  1981  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1982  		ms.StoreMessageInfo(mi)
  1983  	}
  1984  }
  1985  
  1986  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) String() string {
  1987  	return protoimpl.X.MessageStringOf(x)
  1988  }
  1989  
  1990  func (*ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) ProtoMessage() {}
  1991  
  1992  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) ProtoReflect() protoreflect.Message {
  1993  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[26]
  1994  	if protoimpl.UnsafeEnabled && x != nil {
  1995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1996  		if ms.LoadMessageInfo() == nil {
  1997  			ms.StoreMessageInfo(mi)
  1998  		}
  1999  		return ms
  2000  	}
  2001  	return mi.MessageOf(x)
  2002  }
  2003  
  2004  // Deprecated: Use ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox.ProtoReflect.Descriptor instead.
  2005  func (*ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) Descriptor() ([]byte, []int) {
  2006  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{1, 1, 0}
  2007  }
  2008  
  2009  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetXmin() float32 {
  2010  	if x != nil {
  2011  		return x.Xmin
  2012  	}
  2013  	return 0
  2014  }
  2015  
  2016  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetYmin() float32 {
  2017  	if x != nil {
  2018  		return x.Ymin
  2019  	}
  2020  	return 0
  2021  }
  2022  
  2023  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetWidth() float32 {
  2024  	if x != nil {
  2025  		return x.Width
  2026  	}
  2027  	return 0
  2028  }
  2029  
  2030  func (x *ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetHeight() float32 {
  2031  	if x != nil {
  2032  		return x.Height
  2033  	}
  2034  	return 0
  2035  }
  2036  
  2037  // Each IdentifiedAction is one particular identification of an action
  2038  // specified with the AnnotationSpec id, display_name and the associated
  2039  // confidence score.
  2040  type VideoActionRecognitionPredictionResult_IdentifiedAction struct {
  2041  	state         protoimpl.MessageState
  2042  	sizeCache     protoimpl.SizeCache
  2043  	unknownFields protoimpl.UnknownFields
  2044  
  2045  	// The resource ID of the AnnotationSpec that had been identified.
  2046  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2047  	// The display name of the AnnotationSpec that had been identified.
  2048  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  2049  	// The Model's confidence in correction of this identification, higher
  2050  	// value means higher confidence.
  2051  	Confidence float32 `protobuf:"fixed32,3,opt,name=confidence,proto3" json:"confidence,omitempty"`
  2052  }
  2053  
  2054  func (x *VideoActionRecognitionPredictionResult_IdentifiedAction) Reset() {
  2055  	*x = VideoActionRecognitionPredictionResult_IdentifiedAction{}
  2056  	if protoimpl.UnsafeEnabled {
  2057  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[27]
  2058  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2059  		ms.StoreMessageInfo(mi)
  2060  	}
  2061  }
  2062  
  2063  func (x *VideoActionRecognitionPredictionResult_IdentifiedAction) String() string {
  2064  	return protoimpl.X.MessageStringOf(x)
  2065  }
  2066  
  2067  func (*VideoActionRecognitionPredictionResult_IdentifiedAction) ProtoMessage() {}
  2068  
  2069  func (x *VideoActionRecognitionPredictionResult_IdentifiedAction) ProtoReflect() protoreflect.Message {
  2070  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[27]
  2071  	if protoimpl.UnsafeEnabled && x != nil {
  2072  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2073  		if ms.LoadMessageInfo() == nil {
  2074  			ms.StoreMessageInfo(mi)
  2075  		}
  2076  		return ms
  2077  	}
  2078  	return mi.MessageOf(x)
  2079  }
  2080  
  2081  // Deprecated: Use VideoActionRecognitionPredictionResult_IdentifiedAction.ProtoReflect.Descriptor instead.
  2082  func (*VideoActionRecognitionPredictionResult_IdentifiedAction) Descriptor() ([]byte, []int) {
  2083  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{5, 0}
  2084  }
  2085  
  2086  func (x *VideoActionRecognitionPredictionResult_IdentifiedAction) GetId() string {
  2087  	if x != nil {
  2088  		return x.Id
  2089  	}
  2090  	return ""
  2091  }
  2092  
  2093  func (x *VideoActionRecognitionPredictionResult_IdentifiedAction) GetDisplayName() string {
  2094  	if x != nil {
  2095  		return x.DisplayName
  2096  	}
  2097  	return ""
  2098  }
  2099  
  2100  func (x *VideoActionRecognitionPredictionResult_IdentifiedAction) GetConfidence() float32 {
  2101  	if x != nil {
  2102  		return x.Confidence
  2103  	}
  2104  	return 0
  2105  }
  2106  
  2107  // Boundingbox for detected object. I.e. the rectangle over the video frame
  2108  // pinpointing the found AnnotationSpec. The coordinates are relative to the
  2109  // frame size, and the point 0,0 is in the top left of the frame.
  2110  type VideoObjectTrackingPredictionResult_BoundingBox struct {
  2111  	state         protoimpl.MessageState
  2112  	sizeCache     protoimpl.SizeCache
  2113  	unknownFields protoimpl.UnknownFields
  2114  
  2115  	// The leftmost coordinate of the bounding box.
  2116  	XMin float32 `protobuf:"fixed32,1,opt,name=x_min,json=xMin,proto3" json:"x_min,omitempty"`
  2117  	// The rightmost coordinate of the bounding box.
  2118  	XMax float32 `protobuf:"fixed32,2,opt,name=x_max,json=xMax,proto3" json:"x_max,omitempty"`
  2119  	// The topmost coordinate of the bounding box.
  2120  	YMin float32 `protobuf:"fixed32,3,opt,name=y_min,json=yMin,proto3" json:"y_min,omitempty"`
  2121  	// The bottommost coordinate of the bounding box.
  2122  	YMax float32 `protobuf:"fixed32,4,opt,name=y_max,json=yMax,proto3" json:"y_max,omitempty"`
  2123  }
  2124  
  2125  func (x *VideoObjectTrackingPredictionResult_BoundingBox) Reset() {
  2126  	*x = VideoObjectTrackingPredictionResult_BoundingBox{}
  2127  	if protoimpl.UnsafeEnabled {
  2128  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[28]
  2129  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2130  		ms.StoreMessageInfo(mi)
  2131  	}
  2132  }
  2133  
  2134  func (x *VideoObjectTrackingPredictionResult_BoundingBox) String() string {
  2135  	return protoimpl.X.MessageStringOf(x)
  2136  }
  2137  
  2138  func (*VideoObjectTrackingPredictionResult_BoundingBox) ProtoMessage() {}
  2139  
  2140  func (x *VideoObjectTrackingPredictionResult_BoundingBox) ProtoReflect() protoreflect.Message {
  2141  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[28]
  2142  	if protoimpl.UnsafeEnabled && x != nil {
  2143  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2144  		if ms.LoadMessageInfo() == nil {
  2145  			ms.StoreMessageInfo(mi)
  2146  		}
  2147  		return ms
  2148  	}
  2149  	return mi.MessageOf(x)
  2150  }
  2151  
  2152  // Deprecated: Use VideoObjectTrackingPredictionResult_BoundingBox.ProtoReflect.Descriptor instead.
  2153  func (*VideoObjectTrackingPredictionResult_BoundingBox) Descriptor() ([]byte, []int) {
  2154  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{6, 0}
  2155  }
  2156  
  2157  func (x *VideoObjectTrackingPredictionResult_BoundingBox) GetXMin() float32 {
  2158  	if x != nil {
  2159  		return x.XMin
  2160  	}
  2161  	return 0
  2162  }
  2163  
  2164  func (x *VideoObjectTrackingPredictionResult_BoundingBox) GetXMax() float32 {
  2165  	if x != nil {
  2166  		return x.XMax
  2167  	}
  2168  	return 0
  2169  }
  2170  
  2171  func (x *VideoObjectTrackingPredictionResult_BoundingBox) GetYMin() float32 {
  2172  	if x != nil {
  2173  		return x.YMin
  2174  	}
  2175  	return 0
  2176  }
  2177  
  2178  func (x *VideoObjectTrackingPredictionResult_BoundingBox) GetYMax() float32 {
  2179  	if x != nil {
  2180  		return x.YMax
  2181  	}
  2182  	return 0
  2183  }
  2184  
  2185  // Each DetectedObject is one particular identification of an object
  2186  // specified with the AnnotationSpec id and display_name, the bounding box,
  2187  // the associated confidence score and the corresponding track_id.
  2188  type VideoObjectTrackingPredictionResult_DetectedObject struct {
  2189  	state         protoimpl.MessageState
  2190  	sizeCache     protoimpl.SizeCache
  2191  	unknownFields protoimpl.UnknownFields
  2192  
  2193  	// The resource ID of the AnnotationSpec that had been identified.
  2194  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2195  	// The display name of the AnnotationSpec that had been identified.
  2196  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  2197  	// Boundingbox.
  2198  	BoundingBox *VideoObjectTrackingPredictionResult_BoundingBox `protobuf:"bytes,3,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"`
  2199  	// The Model's confidence in correction of this identification, higher
  2200  	// value means higher confidence.
  2201  	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
  2202  	// The same object may be identified on muitiple frames which are typical
  2203  	// adjacent. The set of frames where a particular object has been detected
  2204  	// form a track. This track_id can be used to trace down all frames for an
  2205  	// detected object.
  2206  	TrackId int64 `protobuf:"varint,5,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"`
  2207  }
  2208  
  2209  func (x *VideoObjectTrackingPredictionResult_DetectedObject) Reset() {
  2210  	*x = VideoObjectTrackingPredictionResult_DetectedObject{}
  2211  	if protoimpl.UnsafeEnabled {
  2212  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[29]
  2213  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2214  		ms.StoreMessageInfo(mi)
  2215  	}
  2216  }
  2217  
  2218  func (x *VideoObjectTrackingPredictionResult_DetectedObject) String() string {
  2219  	return protoimpl.X.MessageStringOf(x)
  2220  }
  2221  
  2222  func (*VideoObjectTrackingPredictionResult_DetectedObject) ProtoMessage() {}
  2223  
  2224  func (x *VideoObjectTrackingPredictionResult_DetectedObject) ProtoReflect() protoreflect.Message {
  2225  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[29]
  2226  	if protoimpl.UnsafeEnabled && x != nil {
  2227  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2228  		if ms.LoadMessageInfo() == nil {
  2229  			ms.StoreMessageInfo(mi)
  2230  		}
  2231  		return ms
  2232  	}
  2233  	return mi.MessageOf(x)
  2234  }
  2235  
  2236  // Deprecated: Use VideoObjectTrackingPredictionResult_DetectedObject.ProtoReflect.Descriptor instead.
  2237  func (*VideoObjectTrackingPredictionResult_DetectedObject) Descriptor() ([]byte, []int) {
  2238  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{6, 1}
  2239  }
  2240  
  2241  func (x *VideoObjectTrackingPredictionResult_DetectedObject) GetId() string {
  2242  	if x != nil {
  2243  		return x.Id
  2244  	}
  2245  	return ""
  2246  }
  2247  
  2248  func (x *VideoObjectTrackingPredictionResult_DetectedObject) GetDisplayName() string {
  2249  	if x != nil {
  2250  		return x.DisplayName
  2251  	}
  2252  	return ""
  2253  }
  2254  
  2255  func (x *VideoObjectTrackingPredictionResult_DetectedObject) GetBoundingBox() *VideoObjectTrackingPredictionResult_BoundingBox {
  2256  	if x != nil {
  2257  		return x.BoundingBox
  2258  	}
  2259  	return nil
  2260  }
  2261  
  2262  func (x *VideoObjectTrackingPredictionResult_DetectedObject) GetConfidence() float32 {
  2263  	if x != nil {
  2264  		return x.Confidence
  2265  	}
  2266  	return 0
  2267  }
  2268  
  2269  func (x *VideoObjectTrackingPredictionResult_DetectedObject) GetTrackId() int64 {
  2270  	if x != nil {
  2271  		return x.TrackId
  2272  	}
  2273  	return 0
  2274  }
  2275  
  2276  // Each IdentifiedClassification is one particular identification of an
  2277  // classification specified with the AnnotationSpec id and display_name,
  2278  // and the associated confidence score.
  2279  type VideoClassificationPredictionResult_IdentifiedClassification struct {
  2280  	state         protoimpl.MessageState
  2281  	sizeCache     protoimpl.SizeCache
  2282  	unknownFields protoimpl.UnknownFields
  2283  
  2284  	// The resource ID of the AnnotationSpec that had been identified.
  2285  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2286  	// The display name of the AnnotationSpec that had been identified.
  2287  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  2288  	// The Model's confidence in correction of this identification, higher
  2289  	// value means higher confidence.
  2290  	Confidence float32 `protobuf:"fixed32,3,opt,name=confidence,proto3" json:"confidence,omitempty"`
  2291  }
  2292  
  2293  func (x *VideoClassificationPredictionResult_IdentifiedClassification) Reset() {
  2294  	*x = VideoClassificationPredictionResult_IdentifiedClassification{}
  2295  	if protoimpl.UnsafeEnabled {
  2296  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[30]
  2297  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2298  		ms.StoreMessageInfo(mi)
  2299  	}
  2300  }
  2301  
  2302  func (x *VideoClassificationPredictionResult_IdentifiedClassification) String() string {
  2303  	return protoimpl.X.MessageStringOf(x)
  2304  }
  2305  
  2306  func (*VideoClassificationPredictionResult_IdentifiedClassification) ProtoMessage() {}
  2307  
  2308  func (x *VideoClassificationPredictionResult_IdentifiedClassification) ProtoReflect() protoreflect.Message {
  2309  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[30]
  2310  	if protoimpl.UnsafeEnabled && x != nil {
  2311  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2312  		if ms.LoadMessageInfo() == nil {
  2313  			ms.StoreMessageInfo(mi)
  2314  		}
  2315  		return ms
  2316  	}
  2317  	return mi.MessageOf(x)
  2318  }
  2319  
  2320  // Deprecated: Use VideoClassificationPredictionResult_IdentifiedClassification.ProtoReflect.Descriptor instead.
  2321  func (*VideoClassificationPredictionResult_IdentifiedClassification) Descriptor() ([]byte, []int) {
  2322  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{7, 0}
  2323  }
  2324  
  2325  func (x *VideoClassificationPredictionResult_IdentifiedClassification) GetId() string {
  2326  	if x != nil {
  2327  		return x.Id
  2328  	}
  2329  	return ""
  2330  }
  2331  
  2332  func (x *VideoClassificationPredictionResult_IdentifiedClassification) GetDisplayName() string {
  2333  	if x != nil {
  2334  		return x.DisplayName
  2335  	}
  2336  	return ""
  2337  }
  2338  
  2339  func (x *VideoClassificationPredictionResult_IdentifiedClassification) GetConfidence() float32 {
  2340  	if x != nil {
  2341  		return x.Confidence
  2342  	}
  2343  	return 0
  2344  }
  2345  
  2346  // The entity info for annotations from occupancy counting operator.
  2347  type OccupancyCountingPredictionResult_Entity struct {
  2348  	state         protoimpl.MessageState
  2349  	sizeCache     protoimpl.SizeCache
  2350  	unknownFields protoimpl.UnknownFields
  2351  
  2352  	// Label id.
  2353  	LabelId int64 `protobuf:"varint,1,opt,name=label_id,json=labelId,proto3" json:"label_id,omitempty"`
  2354  	// Human readable string of the label.
  2355  	LabelString string `protobuf:"bytes,2,opt,name=label_string,json=labelString,proto3" json:"label_string,omitempty"`
  2356  }
  2357  
  2358  func (x *OccupancyCountingPredictionResult_Entity) Reset() {
  2359  	*x = OccupancyCountingPredictionResult_Entity{}
  2360  	if protoimpl.UnsafeEnabled {
  2361  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[31]
  2362  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2363  		ms.StoreMessageInfo(mi)
  2364  	}
  2365  }
  2366  
  2367  func (x *OccupancyCountingPredictionResult_Entity) String() string {
  2368  	return protoimpl.X.MessageStringOf(x)
  2369  }
  2370  
  2371  func (*OccupancyCountingPredictionResult_Entity) ProtoMessage() {}
  2372  
  2373  func (x *OccupancyCountingPredictionResult_Entity) ProtoReflect() protoreflect.Message {
  2374  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[31]
  2375  	if protoimpl.UnsafeEnabled && x != nil {
  2376  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2377  		if ms.LoadMessageInfo() == nil {
  2378  			ms.StoreMessageInfo(mi)
  2379  		}
  2380  		return ms
  2381  	}
  2382  	return mi.MessageOf(x)
  2383  }
  2384  
  2385  // Deprecated: Use OccupancyCountingPredictionResult_Entity.ProtoReflect.Descriptor instead.
  2386  func (*OccupancyCountingPredictionResult_Entity) Descriptor() ([]byte, []int) {
  2387  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 0}
  2388  }
  2389  
  2390  func (x *OccupancyCountingPredictionResult_Entity) GetLabelId() int64 {
  2391  	if x != nil {
  2392  		return x.LabelId
  2393  	}
  2394  	return 0
  2395  }
  2396  
  2397  func (x *OccupancyCountingPredictionResult_Entity) GetLabelString() string {
  2398  	if x != nil {
  2399  		return x.LabelString
  2400  	}
  2401  	return ""
  2402  }
  2403  
  2404  // Identified box contains location and the entity of the object.
  2405  type OccupancyCountingPredictionResult_IdentifiedBox struct {
  2406  	state         protoimpl.MessageState
  2407  	sizeCache     protoimpl.SizeCache
  2408  	unknownFields protoimpl.UnknownFields
  2409  
  2410  	// An unique id for this box.
  2411  	BoxId int64 `protobuf:"varint,1,opt,name=box_id,json=boxId,proto3" json:"box_id,omitempty"`
  2412  	// Bounding Box in the normalized coordinates.
  2413  	NormalizedBoundingBox *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox `protobuf:"bytes,2,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"`
  2414  	// Confidence score associated with this box.
  2415  	Score float32 `protobuf:"fixed32,3,opt,name=score,proto3" json:"score,omitempty"`
  2416  	// Entity of this box.
  2417  	Entity *OccupancyCountingPredictionResult_Entity `protobuf:"bytes,4,opt,name=entity,proto3" json:"entity,omitempty"`
  2418  	// An unique id to identify a track. It should be consistent across frames.
  2419  	// It only exists if tracking is enabled.
  2420  	TrackId int64 `protobuf:"varint,5,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"`
  2421  }
  2422  
  2423  func (x *OccupancyCountingPredictionResult_IdentifiedBox) Reset() {
  2424  	*x = OccupancyCountingPredictionResult_IdentifiedBox{}
  2425  	if protoimpl.UnsafeEnabled {
  2426  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[32]
  2427  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2428  		ms.StoreMessageInfo(mi)
  2429  	}
  2430  }
  2431  
  2432  func (x *OccupancyCountingPredictionResult_IdentifiedBox) String() string {
  2433  	return protoimpl.X.MessageStringOf(x)
  2434  }
  2435  
  2436  func (*OccupancyCountingPredictionResult_IdentifiedBox) ProtoMessage() {}
  2437  
  2438  func (x *OccupancyCountingPredictionResult_IdentifiedBox) ProtoReflect() protoreflect.Message {
  2439  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[32]
  2440  	if protoimpl.UnsafeEnabled && x != nil {
  2441  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2442  		if ms.LoadMessageInfo() == nil {
  2443  			ms.StoreMessageInfo(mi)
  2444  		}
  2445  		return ms
  2446  	}
  2447  	return mi.MessageOf(x)
  2448  }
  2449  
  2450  // Deprecated: Use OccupancyCountingPredictionResult_IdentifiedBox.ProtoReflect.Descriptor instead.
  2451  func (*OccupancyCountingPredictionResult_IdentifiedBox) Descriptor() ([]byte, []int) {
  2452  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 1}
  2453  }
  2454  
  2455  func (x *OccupancyCountingPredictionResult_IdentifiedBox) GetBoxId() int64 {
  2456  	if x != nil {
  2457  		return x.BoxId
  2458  	}
  2459  	return 0
  2460  }
  2461  
  2462  func (x *OccupancyCountingPredictionResult_IdentifiedBox) GetNormalizedBoundingBox() *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox {
  2463  	if x != nil {
  2464  		return x.NormalizedBoundingBox
  2465  	}
  2466  	return nil
  2467  }
  2468  
  2469  func (x *OccupancyCountingPredictionResult_IdentifiedBox) GetScore() float32 {
  2470  	if x != nil {
  2471  		return x.Score
  2472  	}
  2473  	return 0
  2474  }
  2475  
  2476  func (x *OccupancyCountingPredictionResult_IdentifiedBox) GetEntity() *OccupancyCountingPredictionResult_Entity {
  2477  	if x != nil {
  2478  		return x.Entity
  2479  	}
  2480  	return nil
  2481  }
  2482  
  2483  func (x *OccupancyCountingPredictionResult_IdentifiedBox) GetTrackId() int64 {
  2484  	if x != nil {
  2485  		return x.TrackId
  2486  	}
  2487  	return 0
  2488  }
  2489  
  2490  // The statistics info for annotations from occupancy counting operator.
  2491  type OccupancyCountingPredictionResult_Stats struct {
  2492  	state         protoimpl.MessageState
  2493  	sizeCache     protoimpl.SizeCache
  2494  	unknownFields protoimpl.UnknownFields
  2495  
  2496  	// Counts of the full frame.
  2497  	FullFrameCount []*OccupancyCountingPredictionResult_Stats_ObjectCount `protobuf:"bytes,1,rep,name=full_frame_count,json=fullFrameCount,proto3" json:"full_frame_count,omitempty"`
  2498  	// Crossing line counts.
  2499  	CrossingLineCounts []*OccupancyCountingPredictionResult_Stats_CrossingLineCount `protobuf:"bytes,2,rep,name=crossing_line_counts,json=crossingLineCounts,proto3" json:"crossing_line_counts,omitempty"`
  2500  	// Active zone counts.
  2501  	ActiveZoneCounts []*OccupancyCountingPredictionResult_Stats_ActiveZoneCount `protobuf:"bytes,3,rep,name=active_zone_counts,json=activeZoneCounts,proto3" json:"active_zone_counts,omitempty"`
  2502  }
  2503  
  2504  func (x *OccupancyCountingPredictionResult_Stats) Reset() {
  2505  	*x = OccupancyCountingPredictionResult_Stats{}
  2506  	if protoimpl.UnsafeEnabled {
  2507  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[33]
  2508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2509  		ms.StoreMessageInfo(mi)
  2510  	}
  2511  }
  2512  
  2513  func (x *OccupancyCountingPredictionResult_Stats) String() string {
  2514  	return protoimpl.X.MessageStringOf(x)
  2515  }
  2516  
  2517  func (*OccupancyCountingPredictionResult_Stats) ProtoMessage() {}
  2518  
  2519  func (x *OccupancyCountingPredictionResult_Stats) ProtoReflect() protoreflect.Message {
  2520  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[33]
  2521  	if protoimpl.UnsafeEnabled && x != nil {
  2522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2523  		if ms.LoadMessageInfo() == nil {
  2524  			ms.StoreMessageInfo(mi)
  2525  		}
  2526  		return ms
  2527  	}
  2528  	return mi.MessageOf(x)
  2529  }
  2530  
  2531  // Deprecated: Use OccupancyCountingPredictionResult_Stats.ProtoReflect.Descriptor instead.
  2532  func (*OccupancyCountingPredictionResult_Stats) Descriptor() ([]byte, []int) {
  2533  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 2}
  2534  }
  2535  
  2536  func (x *OccupancyCountingPredictionResult_Stats) GetFullFrameCount() []*OccupancyCountingPredictionResult_Stats_ObjectCount {
  2537  	if x != nil {
  2538  		return x.FullFrameCount
  2539  	}
  2540  	return nil
  2541  }
  2542  
  2543  func (x *OccupancyCountingPredictionResult_Stats) GetCrossingLineCounts() []*OccupancyCountingPredictionResult_Stats_CrossingLineCount {
  2544  	if x != nil {
  2545  		return x.CrossingLineCounts
  2546  	}
  2547  	return nil
  2548  }
  2549  
  2550  func (x *OccupancyCountingPredictionResult_Stats) GetActiveZoneCounts() []*OccupancyCountingPredictionResult_Stats_ActiveZoneCount {
  2551  	if x != nil {
  2552  		return x.ActiveZoneCounts
  2553  	}
  2554  	return nil
  2555  }
  2556  
  2557  // The track info for annotations from occupancy counting operator.
  2558  type OccupancyCountingPredictionResult_TrackInfo struct {
  2559  	state         protoimpl.MessageState
  2560  	sizeCache     protoimpl.SizeCache
  2561  	unknownFields protoimpl.UnknownFields
  2562  
  2563  	// An unique id to identify a track. It should be consistent across frames.
  2564  	TrackId string `protobuf:"bytes,1,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"`
  2565  	// Start timestamp of this track.
  2566  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  2567  }
  2568  
  2569  func (x *OccupancyCountingPredictionResult_TrackInfo) Reset() {
  2570  	*x = OccupancyCountingPredictionResult_TrackInfo{}
  2571  	if protoimpl.UnsafeEnabled {
  2572  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[34]
  2573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2574  		ms.StoreMessageInfo(mi)
  2575  	}
  2576  }
  2577  
  2578  func (x *OccupancyCountingPredictionResult_TrackInfo) String() string {
  2579  	return protoimpl.X.MessageStringOf(x)
  2580  }
  2581  
  2582  func (*OccupancyCountingPredictionResult_TrackInfo) ProtoMessage() {}
  2583  
  2584  func (x *OccupancyCountingPredictionResult_TrackInfo) ProtoReflect() protoreflect.Message {
  2585  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[34]
  2586  	if protoimpl.UnsafeEnabled && x != nil {
  2587  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2588  		if ms.LoadMessageInfo() == nil {
  2589  			ms.StoreMessageInfo(mi)
  2590  		}
  2591  		return ms
  2592  	}
  2593  	return mi.MessageOf(x)
  2594  }
  2595  
  2596  // Deprecated: Use OccupancyCountingPredictionResult_TrackInfo.ProtoReflect.Descriptor instead.
  2597  func (*OccupancyCountingPredictionResult_TrackInfo) Descriptor() ([]byte, []int) {
  2598  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 3}
  2599  }
  2600  
  2601  func (x *OccupancyCountingPredictionResult_TrackInfo) GetTrackId() string {
  2602  	if x != nil {
  2603  		return x.TrackId
  2604  	}
  2605  	return ""
  2606  }
  2607  
  2608  func (x *OccupancyCountingPredictionResult_TrackInfo) GetStartTime() *timestamppb.Timestamp {
  2609  	if x != nil {
  2610  		return x.StartTime
  2611  	}
  2612  	return nil
  2613  }
  2614  
  2615  // The dwell time info for annotations from occupancy counting operator.
  2616  type OccupancyCountingPredictionResult_DwellTimeInfo struct {
  2617  	state         protoimpl.MessageState
  2618  	sizeCache     protoimpl.SizeCache
  2619  	unknownFields protoimpl.UnknownFields
  2620  
  2621  	// An unique id to identify a track. It should be consistent across frames.
  2622  	TrackId string `protobuf:"bytes,1,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"`
  2623  	// The unique id for the zone in which the object is dwelling/waiting.
  2624  	ZoneId string `protobuf:"bytes,2,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
  2625  	// The beginning time when a dwelling object has been identified in a zone.
  2626  	DwellStartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=dwell_start_time,json=dwellStartTime,proto3" json:"dwell_start_time,omitempty"`
  2627  	// The end time when a dwelling object has exited in a zone.
  2628  	DwellEndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=dwell_end_time,json=dwellEndTime,proto3" json:"dwell_end_time,omitempty"`
  2629  }
  2630  
  2631  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) Reset() {
  2632  	*x = OccupancyCountingPredictionResult_DwellTimeInfo{}
  2633  	if protoimpl.UnsafeEnabled {
  2634  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[35]
  2635  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2636  		ms.StoreMessageInfo(mi)
  2637  	}
  2638  }
  2639  
  2640  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) String() string {
  2641  	return protoimpl.X.MessageStringOf(x)
  2642  }
  2643  
  2644  func (*OccupancyCountingPredictionResult_DwellTimeInfo) ProtoMessage() {}
  2645  
  2646  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) ProtoReflect() protoreflect.Message {
  2647  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[35]
  2648  	if protoimpl.UnsafeEnabled && x != nil {
  2649  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2650  		if ms.LoadMessageInfo() == nil {
  2651  			ms.StoreMessageInfo(mi)
  2652  		}
  2653  		return ms
  2654  	}
  2655  	return mi.MessageOf(x)
  2656  }
  2657  
  2658  // Deprecated: Use OccupancyCountingPredictionResult_DwellTimeInfo.ProtoReflect.Descriptor instead.
  2659  func (*OccupancyCountingPredictionResult_DwellTimeInfo) Descriptor() ([]byte, []int) {
  2660  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 4}
  2661  }
  2662  
  2663  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) GetTrackId() string {
  2664  	if x != nil {
  2665  		return x.TrackId
  2666  	}
  2667  	return ""
  2668  }
  2669  
  2670  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) GetZoneId() string {
  2671  	if x != nil {
  2672  		return x.ZoneId
  2673  	}
  2674  	return ""
  2675  }
  2676  
  2677  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) GetDwellStartTime() *timestamppb.Timestamp {
  2678  	if x != nil {
  2679  		return x.DwellStartTime
  2680  	}
  2681  	return nil
  2682  }
  2683  
  2684  func (x *OccupancyCountingPredictionResult_DwellTimeInfo) GetDwellEndTime() *timestamppb.Timestamp {
  2685  	if x != nil {
  2686  		return x.DwellEndTime
  2687  	}
  2688  	return nil
  2689  }
  2690  
  2691  // Bounding Box in the normalized coordinates.
  2692  type OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox struct {
  2693  	state         protoimpl.MessageState
  2694  	sizeCache     protoimpl.SizeCache
  2695  	unknownFields protoimpl.UnknownFields
  2696  
  2697  	// Min in x coordinate.
  2698  	Xmin float32 `protobuf:"fixed32,1,opt,name=xmin,proto3" json:"xmin,omitempty"`
  2699  	// Min in y coordinate.
  2700  	Ymin float32 `protobuf:"fixed32,2,opt,name=ymin,proto3" json:"ymin,omitempty"`
  2701  	// Width of the bounding box.
  2702  	Width float32 `protobuf:"fixed32,3,opt,name=width,proto3" json:"width,omitempty"`
  2703  	// Height of the bounding box.
  2704  	Height float32 `protobuf:"fixed32,4,opt,name=height,proto3" json:"height,omitempty"`
  2705  }
  2706  
  2707  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) Reset() {
  2708  	*x = OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox{}
  2709  	if protoimpl.UnsafeEnabled {
  2710  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[36]
  2711  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2712  		ms.StoreMessageInfo(mi)
  2713  	}
  2714  }
  2715  
  2716  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) String() string {
  2717  	return protoimpl.X.MessageStringOf(x)
  2718  }
  2719  
  2720  func (*OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) ProtoMessage() {}
  2721  
  2722  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) ProtoReflect() protoreflect.Message {
  2723  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[36]
  2724  	if protoimpl.UnsafeEnabled && x != nil {
  2725  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2726  		if ms.LoadMessageInfo() == nil {
  2727  			ms.StoreMessageInfo(mi)
  2728  		}
  2729  		return ms
  2730  	}
  2731  	return mi.MessageOf(x)
  2732  }
  2733  
  2734  // Deprecated: Use OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox.ProtoReflect.Descriptor instead.
  2735  func (*OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) Descriptor() ([]byte, []int) {
  2736  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 1, 0}
  2737  }
  2738  
  2739  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetXmin() float32 {
  2740  	if x != nil {
  2741  		return x.Xmin
  2742  	}
  2743  	return 0
  2744  }
  2745  
  2746  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetYmin() float32 {
  2747  	if x != nil {
  2748  		return x.Ymin
  2749  	}
  2750  	return 0
  2751  }
  2752  
  2753  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetWidth() float32 {
  2754  	if x != nil {
  2755  		return x.Width
  2756  	}
  2757  	return 0
  2758  }
  2759  
  2760  func (x *OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox) GetHeight() float32 {
  2761  	if x != nil {
  2762  		return x.Height
  2763  	}
  2764  	return 0
  2765  }
  2766  
  2767  // The object info and instant count for annotations from occupancy counting
  2768  // operator.
  2769  type OccupancyCountingPredictionResult_Stats_ObjectCount struct {
  2770  	state         protoimpl.MessageState
  2771  	sizeCache     protoimpl.SizeCache
  2772  	unknownFields protoimpl.UnknownFields
  2773  
  2774  	// Entity of this object.
  2775  	Entity *OccupancyCountingPredictionResult_Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  2776  	// Count of the object.
  2777  	Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
  2778  }
  2779  
  2780  func (x *OccupancyCountingPredictionResult_Stats_ObjectCount) Reset() {
  2781  	*x = OccupancyCountingPredictionResult_Stats_ObjectCount{}
  2782  	if protoimpl.UnsafeEnabled {
  2783  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[37]
  2784  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2785  		ms.StoreMessageInfo(mi)
  2786  	}
  2787  }
  2788  
  2789  func (x *OccupancyCountingPredictionResult_Stats_ObjectCount) String() string {
  2790  	return protoimpl.X.MessageStringOf(x)
  2791  }
  2792  
  2793  func (*OccupancyCountingPredictionResult_Stats_ObjectCount) ProtoMessage() {}
  2794  
  2795  func (x *OccupancyCountingPredictionResult_Stats_ObjectCount) ProtoReflect() protoreflect.Message {
  2796  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[37]
  2797  	if protoimpl.UnsafeEnabled && x != nil {
  2798  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2799  		if ms.LoadMessageInfo() == nil {
  2800  			ms.StoreMessageInfo(mi)
  2801  		}
  2802  		return ms
  2803  	}
  2804  	return mi.MessageOf(x)
  2805  }
  2806  
  2807  // Deprecated: Use OccupancyCountingPredictionResult_Stats_ObjectCount.ProtoReflect.Descriptor instead.
  2808  func (*OccupancyCountingPredictionResult_Stats_ObjectCount) Descriptor() ([]byte, []int) {
  2809  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 2, 0}
  2810  }
  2811  
  2812  func (x *OccupancyCountingPredictionResult_Stats_ObjectCount) GetEntity() *OccupancyCountingPredictionResult_Entity {
  2813  	if x != nil {
  2814  		return x.Entity
  2815  	}
  2816  	return nil
  2817  }
  2818  
  2819  func (x *OccupancyCountingPredictionResult_Stats_ObjectCount) GetCount() int32 {
  2820  	if x != nil {
  2821  		return x.Count
  2822  	}
  2823  	return 0
  2824  }
  2825  
  2826  // The object info and accumulated count for annotations from occupancy
  2827  // counting operator.
  2828  type OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount struct {
  2829  	state         protoimpl.MessageState
  2830  	sizeCache     protoimpl.SizeCache
  2831  	unknownFields protoimpl.UnknownFields
  2832  
  2833  	// The start time of the accumulated count.
  2834  	StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  2835  	// The object count for the accumulated count.
  2836  	ObjectCount *OccupancyCountingPredictionResult_Stats_ObjectCount `protobuf:"bytes,2,opt,name=object_count,json=objectCount,proto3" json:"object_count,omitempty"`
  2837  }
  2838  
  2839  func (x *OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) Reset() {
  2840  	*x = OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount{}
  2841  	if protoimpl.UnsafeEnabled {
  2842  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[38]
  2843  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2844  		ms.StoreMessageInfo(mi)
  2845  	}
  2846  }
  2847  
  2848  func (x *OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) String() string {
  2849  	return protoimpl.X.MessageStringOf(x)
  2850  }
  2851  
  2852  func (*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) ProtoMessage() {}
  2853  
  2854  func (x *OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) ProtoReflect() protoreflect.Message {
  2855  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[38]
  2856  	if protoimpl.UnsafeEnabled && x != nil {
  2857  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2858  		if ms.LoadMessageInfo() == nil {
  2859  			ms.StoreMessageInfo(mi)
  2860  		}
  2861  		return ms
  2862  	}
  2863  	return mi.MessageOf(x)
  2864  }
  2865  
  2866  // Deprecated: Use OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount.ProtoReflect.Descriptor instead.
  2867  func (*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) Descriptor() ([]byte, []int) {
  2868  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 2, 1}
  2869  }
  2870  
  2871  func (x *OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) GetStartTime() *timestamppb.Timestamp {
  2872  	if x != nil {
  2873  		return x.StartTime
  2874  	}
  2875  	return nil
  2876  }
  2877  
  2878  func (x *OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount) GetObjectCount() *OccupancyCountingPredictionResult_Stats_ObjectCount {
  2879  	if x != nil {
  2880  		return x.ObjectCount
  2881  	}
  2882  	return nil
  2883  }
  2884  
  2885  // Message for Crossing line count.
  2886  type OccupancyCountingPredictionResult_Stats_CrossingLineCount struct {
  2887  	state         protoimpl.MessageState
  2888  	sizeCache     protoimpl.SizeCache
  2889  	unknownFields protoimpl.UnknownFields
  2890  
  2891  	// Line annotation from the user.
  2892  	Annotation *StreamAnnotation `protobuf:"bytes,1,opt,name=annotation,proto3" json:"annotation,omitempty"`
  2893  	// The direction that follows the right hand rule.
  2894  	PositiveDirectionCounts []*OccupancyCountingPredictionResult_Stats_ObjectCount `protobuf:"bytes,2,rep,name=positive_direction_counts,json=positiveDirectionCounts,proto3" json:"positive_direction_counts,omitempty"`
  2895  	// The direction that is opposite to the right hand rule.
  2896  	NegativeDirectionCounts []*OccupancyCountingPredictionResult_Stats_ObjectCount `protobuf:"bytes,3,rep,name=negative_direction_counts,json=negativeDirectionCounts,proto3" json:"negative_direction_counts,omitempty"`
  2897  	// The accumulated positive count.
  2898  	AccumulatedPositiveDirectionCounts []*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount `protobuf:"bytes,4,rep,name=accumulated_positive_direction_counts,json=accumulatedPositiveDirectionCounts,proto3" json:"accumulated_positive_direction_counts,omitempty"`
  2899  	// The accumulated negative count.
  2900  	AccumulatedNegativeDirectionCounts []*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount `protobuf:"bytes,5,rep,name=accumulated_negative_direction_counts,json=accumulatedNegativeDirectionCounts,proto3" json:"accumulated_negative_direction_counts,omitempty"`
  2901  }
  2902  
  2903  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) Reset() {
  2904  	*x = OccupancyCountingPredictionResult_Stats_CrossingLineCount{}
  2905  	if protoimpl.UnsafeEnabled {
  2906  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[39]
  2907  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2908  		ms.StoreMessageInfo(mi)
  2909  	}
  2910  }
  2911  
  2912  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) String() string {
  2913  	return protoimpl.X.MessageStringOf(x)
  2914  }
  2915  
  2916  func (*OccupancyCountingPredictionResult_Stats_CrossingLineCount) ProtoMessage() {}
  2917  
  2918  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) ProtoReflect() protoreflect.Message {
  2919  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[39]
  2920  	if protoimpl.UnsafeEnabled && x != nil {
  2921  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2922  		if ms.LoadMessageInfo() == nil {
  2923  			ms.StoreMessageInfo(mi)
  2924  		}
  2925  		return ms
  2926  	}
  2927  	return mi.MessageOf(x)
  2928  }
  2929  
  2930  // Deprecated: Use OccupancyCountingPredictionResult_Stats_CrossingLineCount.ProtoReflect.Descriptor instead.
  2931  func (*OccupancyCountingPredictionResult_Stats_CrossingLineCount) Descriptor() ([]byte, []int) {
  2932  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 2, 2}
  2933  }
  2934  
  2935  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) GetAnnotation() *StreamAnnotation {
  2936  	if x != nil {
  2937  		return x.Annotation
  2938  	}
  2939  	return nil
  2940  }
  2941  
  2942  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) GetPositiveDirectionCounts() []*OccupancyCountingPredictionResult_Stats_ObjectCount {
  2943  	if x != nil {
  2944  		return x.PositiveDirectionCounts
  2945  	}
  2946  	return nil
  2947  }
  2948  
  2949  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) GetNegativeDirectionCounts() []*OccupancyCountingPredictionResult_Stats_ObjectCount {
  2950  	if x != nil {
  2951  		return x.NegativeDirectionCounts
  2952  	}
  2953  	return nil
  2954  }
  2955  
  2956  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) GetAccumulatedPositiveDirectionCounts() []*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount {
  2957  	if x != nil {
  2958  		return x.AccumulatedPositiveDirectionCounts
  2959  	}
  2960  	return nil
  2961  }
  2962  
  2963  func (x *OccupancyCountingPredictionResult_Stats_CrossingLineCount) GetAccumulatedNegativeDirectionCounts() []*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount {
  2964  	if x != nil {
  2965  		return x.AccumulatedNegativeDirectionCounts
  2966  	}
  2967  	return nil
  2968  }
  2969  
  2970  // Message for the active zone count.
  2971  type OccupancyCountingPredictionResult_Stats_ActiveZoneCount struct {
  2972  	state         protoimpl.MessageState
  2973  	sizeCache     protoimpl.SizeCache
  2974  	unknownFields protoimpl.UnknownFields
  2975  
  2976  	// Active zone annotation from the user.
  2977  	Annotation *StreamAnnotation `protobuf:"bytes,1,opt,name=annotation,proto3" json:"annotation,omitempty"`
  2978  	// Counts in the zone.
  2979  	Counts []*OccupancyCountingPredictionResult_Stats_ObjectCount `protobuf:"bytes,2,rep,name=counts,proto3" json:"counts,omitempty"`
  2980  }
  2981  
  2982  func (x *OccupancyCountingPredictionResult_Stats_ActiveZoneCount) Reset() {
  2983  	*x = OccupancyCountingPredictionResult_Stats_ActiveZoneCount{}
  2984  	if protoimpl.UnsafeEnabled {
  2985  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[40]
  2986  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2987  		ms.StoreMessageInfo(mi)
  2988  	}
  2989  }
  2990  
  2991  func (x *OccupancyCountingPredictionResult_Stats_ActiveZoneCount) String() string {
  2992  	return protoimpl.X.MessageStringOf(x)
  2993  }
  2994  
  2995  func (*OccupancyCountingPredictionResult_Stats_ActiveZoneCount) ProtoMessage() {}
  2996  
  2997  func (x *OccupancyCountingPredictionResult_Stats_ActiveZoneCount) ProtoReflect() protoreflect.Message {
  2998  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[40]
  2999  	if protoimpl.UnsafeEnabled && x != nil {
  3000  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3001  		if ms.LoadMessageInfo() == nil {
  3002  			ms.StoreMessageInfo(mi)
  3003  		}
  3004  		return ms
  3005  	}
  3006  	return mi.MessageOf(x)
  3007  }
  3008  
  3009  // Deprecated: Use OccupancyCountingPredictionResult_Stats_ActiveZoneCount.ProtoReflect.Descriptor instead.
  3010  func (*OccupancyCountingPredictionResult_Stats_ActiveZoneCount) Descriptor() ([]byte, []int) {
  3011  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{8, 2, 3}
  3012  }
  3013  
  3014  func (x *OccupancyCountingPredictionResult_Stats_ActiveZoneCount) GetAnnotation() *StreamAnnotation {
  3015  	if x != nil {
  3016  		return x.Annotation
  3017  	}
  3018  	return nil
  3019  }
  3020  
  3021  func (x *OccupancyCountingPredictionResult_Stats_ActiveZoneCount) GetCounts() []*OccupancyCountingPredictionResult_Stats_ObjectCount {
  3022  	if x != nil {
  3023  		return x.Counts
  3024  	}
  3025  	return nil
  3026  }
  3027  
  3028  // A general annotation message that uses struct format to represent different
  3029  // concrete annotation protobufs.
  3030  type AppPlatformCloudFunctionRequest_StructedInputAnnotation struct {
  3031  	state         protoimpl.MessageState
  3032  	sizeCache     protoimpl.SizeCache
  3033  	unknownFields protoimpl.UnknownFields
  3034  
  3035  	// The ingestion time of the current annotation.
  3036  	IngestionTimeMicros int64 `protobuf:"varint,1,opt,name=ingestion_time_micros,json=ingestionTimeMicros,proto3" json:"ingestion_time_micros,omitempty"`
  3037  	// The struct format of the actual annotation.
  3038  	Annotation *structpb.Struct `protobuf:"bytes,2,opt,name=annotation,proto3" json:"annotation,omitempty"`
  3039  }
  3040  
  3041  func (x *AppPlatformCloudFunctionRequest_StructedInputAnnotation) Reset() {
  3042  	*x = AppPlatformCloudFunctionRequest_StructedInputAnnotation{}
  3043  	if protoimpl.UnsafeEnabled {
  3044  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[41]
  3045  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3046  		ms.StoreMessageInfo(mi)
  3047  	}
  3048  }
  3049  
  3050  func (x *AppPlatformCloudFunctionRequest_StructedInputAnnotation) String() string {
  3051  	return protoimpl.X.MessageStringOf(x)
  3052  }
  3053  
  3054  func (*AppPlatformCloudFunctionRequest_StructedInputAnnotation) ProtoMessage() {}
  3055  
  3056  func (x *AppPlatformCloudFunctionRequest_StructedInputAnnotation) ProtoReflect() protoreflect.Message {
  3057  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[41]
  3058  	if protoimpl.UnsafeEnabled && x != nil {
  3059  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3060  		if ms.LoadMessageInfo() == nil {
  3061  			ms.StoreMessageInfo(mi)
  3062  		}
  3063  		return ms
  3064  	}
  3065  	return mi.MessageOf(x)
  3066  }
  3067  
  3068  // Deprecated: Use AppPlatformCloudFunctionRequest_StructedInputAnnotation.ProtoReflect.Descriptor instead.
  3069  func (*AppPlatformCloudFunctionRequest_StructedInputAnnotation) Descriptor() ([]byte, []int) {
  3070  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{15, 0}
  3071  }
  3072  
  3073  func (x *AppPlatformCloudFunctionRequest_StructedInputAnnotation) GetIngestionTimeMicros() int64 {
  3074  	if x != nil {
  3075  		return x.IngestionTimeMicros
  3076  	}
  3077  	return 0
  3078  }
  3079  
  3080  func (x *AppPlatformCloudFunctionRequest_StructedInputAnnotation) GetAnnotation() *structpb.Struct {
  3081  	if x != nil {
  3082  		return x.Annotation
  3083  	}
  3084  	return nil
  3085  }
  3086  
  3087  // A general annotation message that uses struct format to represent different
  3088  // concrete annotation protobufs.
  3089  type AppPlatformCloudFunctionResponse_StructedOutputAnnotation struct {
  3090  	state         protoimpl.MessageState
  3091  	sizeCache     protoimpl.SizeCache
  3092  	unknownFields protoimpl.UnknownFields
  3093  
  3094  	// The struct format of the actual annotation.
  3095  	Annotation *structpb.Struct `protobuf:"bytes,1,opt,name=annotation,proto3" json:"annotation,omitempty"`
  3096  }
  3097  
  3098  func (x *AppPlatformCloudFunctionResponse_StructedOutputAnnotation) Reset() {
  3099  	*x = AppPlatformCloudFunctionResponse_StructedOutputAnnotation{}
  3100  	if protoimpl.UnsafeEnabled {
  3101  		mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[42]
  3102  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3103  		ms.StoreMessageInfo(mi)
  3104  	}
  3105  }
  3106  
  3107  func (x *AppPlatformCloudFunctionResponse_StructedOutputAnnotation) String() string {
  3108  	return protoimpl.X.MessageStringOf(x)
  3109  }
  3110  
  3111  func (*AppPlatformCloudFunctionResponse_StructedOutputAnnotation) ProtoMessage() {}
  3112  
  3113  func (x *AppPlatformCloudFunctionResponse_StructedOutputAnnotation) ProtoReflect() protoreflect.Message {
  3114  	mi := &file_google_cloud_visionai_v1_annotations_proto_msgTypes[42]
  3115  	if protoimpl.UnsafeEnabled && x != nil {
  3116  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3117  		if ms.LoadMessageInfo() == nil {
  3118  			ms.StoreMessageInfo(mi)
  3119  		}
  3120  		return ms
  3121  	}
  3122  	return mi.MessageOf(x)
  3123  }
  3124  
  3125  // Deprecated: Use AppPlatformCloudFunctionResponse_StructedOutputAnnotation.ProtoReflect.Descriptor instead.
  3126  func (*AppPlatformCloudFunctionResponse_StructedOutputAnnotation) Descriptor() ([]byte, []int) {
  3127  	return file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP(), []int{16, 0}
  3128  }
  3129  
  3130  func (x *AppPlatformCloudFunctionResponse_StructedOutputAnnotation) GetAnnotation() *structpb.Struct {
  3131  	if x != nil {
  3132  		return x.Annotation
  3133  	}
  3134  	return nil
  3135  }
  3136  
  3137  var File_google_cloud_visionai_v1_annotations_proto protoreflect.FileDescriptor
  3138  
  3139  var file_google_cloud_visionai_v1_annotations_proto_rawDesc = []byte{
  3140  	0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
  3141  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
  3142  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f,
  3143  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
  3144  	0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
  3145  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70,
  3146  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  3147  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  3148  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x10, 0x0a, 0x2a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
  3149  	0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x71, 0x75, 0x69,
  3150  	0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75,
  3151  	0x74, 0x70, 0x75, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
  3152  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  3153  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  3154  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54,
  3155  	0x69, 0x6d, 0x65, 0x12, 0x7e, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f,
  3156  	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e,
  3157  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
  3158  	0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,
  3159  	0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70,
  3160  	0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74,
  3161  	0x70, 0x75, 0x74, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73,
  3162  	0x6f, 0x6e, 0x52, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73,
  3163  	0x6f, 0x6e, 0x73, 0x1a, 0x38, 0x0a, 0x0c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
  3164  	0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x6e,
  3165  	0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70,
  3166  	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x1a, 0xc0, 0x01,
  3167  	0x0a, 0x09, 0x50, 0x50, 0x45, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x70,
  3168  	0x70, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  3169  	0x03, 0x52, 0x0a, 0x70, 0x70, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x28, 0x0a,
  3170  	0x10, 0x70, 0x70, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
  3171  	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x70, 0x65, 0x4c, 0x61, 0x62, 0x65,
  3172  	0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x1e, 0x70, 0x70, 0x65, 0x5f, 0x73,
  3173  	0x75, 0x70, 0x65, 0x72, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x61, 0x62,
  3174  	0x65, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  3175  	0x1b, 0x70, 0x70, 0x65, 0x53, 0x75, 0x70, 0x65, 0x72, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
  3176  	0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0d,
  3177  	0x70, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
  3178  	0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
  3179  	0x1a, 0x6d, 0x0a, 0x15, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f,
  3180  	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x6d, 0x69,
  3181  	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x78, 0x6d, 0x69, 0x6e, 0x12, 0x12, 0x0a,
  3182  	0x04, 0x79, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x79, 0x6d, 0x69,
  3183  	0x6e, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
  3184  	0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
  3185  	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a,
  3186  	0xe4, 0x02, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  3187  	0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x78, 0x5f, 0x69,
  3188  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x92,
  3189  	0x01, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6f,
  3190  	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  3191  	0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  3192  	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73,
  3193  	0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x71,
  3194  	0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  3195  	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65,
  3196  	0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x15, 0x6e, 0x6f,
  3197  	0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
  3198  	0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
  3199  	0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63,
  3200  	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x76,
  3201  	0x0a, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
  3202  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  3203  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31,
  3204  	0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
  3205  	0x69, 0x76, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65,
  3206  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73,
  3207  	0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
  3208  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0xd8, 0x02, 0x0a, 0x10, 0x50, 0x50, 0x45, 0x49, 0x64,
  3209  	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x15, 0x0a, 0x06, 0x62,
  3210  	0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x6f, 0x78,
  3211  	0x49, 0x64, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65,
  3212  	0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78, 0x18, 0x02,
  3213  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  3214  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e,
  3215  	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
  3216  	0x76, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63,
  3217  	0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61,
  3218  	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78,
  3219  	0x52, 0x15, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e,
  3220  	0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69,
  3221  	0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  3222  	0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f,
  3223  	0x72, 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x70, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  3224  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  3225  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76,
  3226  	0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63,
  3227  	0x74, 0x69, 0x76, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74,
  3228  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x50, 0x50, 0x45,
  3229  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x09, 0x70, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
  3230  	0x79, 0x1a, 0xb9, 0x06, 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65,
  3231  	0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69,
  3232  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49,
  3233  	0x64, 0x12, 0x9d, 0x01, 0x0a, 0x1e, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70,
  3234  	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64,
  3235  	0x5f, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f,
  3236  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
  3237  	0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72,
  3238  	0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e,
  3239  	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
  3240  	0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
  3241  	0x64, 0x42, 0x6f, 0x78, 0x52, 0x1b, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65,
  3242  	0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f,
  3243  	0x78, 0x12, 0x98, 0x01, 0x0a, 0x1d, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70,
  3244  	0x70, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x6f,
  3245  	0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  3246  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61,
  3247  	0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f,
  3248  	0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
  3249  	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e,
  3250  	0x50, 0x50, 0x45, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78,
  3251  	0x52, 0x1a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x70, 0x65, 0x49, 0x64, 0x65,
  3252  	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x13,
  3253  	0x66, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63,
  3254  	0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x11, 0x66, 0x61, 0x63,
  3255  	0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01,
  3256  	0x01, 0x12, 0x33, 0x0a, 0x13, 0x65, 0x79, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,
  3257  	0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01,
  3258  	0x52, 0x11, 0x65, 0x79, 0x65, 0x73, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63,
  3259  	0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x63,
  3260  	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20,
  3261  	0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x11, 0x68, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x76, 0x65, 0x72,
  3262  	0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x68,
  3263  	0x61, 0x6e, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63,
  3264  	0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x12, 0x68, 0x61, 0x6e,
  3265  	0x64, 0x73, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88,
  3266  	0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72,
  3267  	0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x48,
  3268  	0x04, 0x52, 0x11, 0x62, 0x6f, 0x64, 0x79, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53,
  3269  	0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x66, 0x65, 0x65, 0x74, 0x5f,
  3270  	0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09,
  3271  	0x20, 0x01, 0x28, 0x02, 0x48, 0x05, 0x52, 0x11, 0x66, 0x65, 0x65, 0x74, 0x43, 0x6f, 0x76, 0x65,
  3272  	0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14,
  3273  	0x5f, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73,
  3274  	0x63, 0x6f, 0x72, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x79, 0x65, 0x73, 0x5f, 0x63, 0x6f,
  3275  	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x16, 0x0a, 0x14,
  3276  	0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73,
  3277  	0x63, 0x6f, 0x72, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x5f, 0x63,
  3278  	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x16, 0x0a,
  3279  	0x14, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f,
  3280  	0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x66, 0x65, 0x65, 0x74, 0x5f, 0x63,
  3281  	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xd1, 0x05,
  3282  	0x0a, 0x1f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
  3283  	0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
  3284  	0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d,
  3285  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3286  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  3287  	0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65,
  3288  	0x12, 0x72, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62,
  3289  	0x6f, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f,
  3290  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
  3291  	0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65,
  3292  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  3293  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64,
  3294  	0x42, 0x6f, 0x78, 0x52, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42,
  3295  	0x6f, 0x78, 0x65, 0x73, 0x1a, 0x46, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19,
  3296  	0x0a, 0x08, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
  3297  	0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x62,
  3298  	0x65, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  3299  	0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0xb2, 0x03, 0x0a,
  3300  	0x0d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x15,
  3301  	0x0a, 0x06, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
  3302  	0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x95, 0x01, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
  3303  	0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f,
  3304  	0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3305  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e,
  3306  	0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
  3307  	0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
  3308  	0x6c, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78,
  3309  	0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64,
  3310  	0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x15, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a,
  3311  	0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a,
  3312  	0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72,
  3313  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
  3314  	0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69,
  3315  	0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3316  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3317  	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
  3318  	0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  3319  	0x75, 0x6c, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69,
  3320  	0x74, 0x79, 0x1a, 0x6d, 0x0a, 0x15, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
  3321  	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x78,
  3322  	0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x78, 0x6d, 0x69, 0x6e, 0x12,
  3323  	0x12, 0x0a, 0x04, 0x79, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x79,
  3324  	0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01,
  3325  	0x28, 0x02, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69,
  3326  	0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
  3327  	0x74, 0x22, 0xb3, 0x01, 0x0a, 0x24, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
  3328  	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
  3329  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64,
  3330  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d,
  3331  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20,
  3332  	0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
  3333  	0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x73,
  3334  	0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
  3335  	0x63, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x62, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20,
  3336  	0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  3337  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
  3338  	0x06, 0x62, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x22, 0x79, 0x0a, 0x1e, 0x43, 0x6c, 0x61, 0x73, 0x73,
  3339  	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  3340  	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73,
  3341  	0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64,
  3342  	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
  3343  	0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73,
  3344  	0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18,
  3345  	0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
  3346  	0x65, 0x73, 0x22, 0x71, 0x0a, 0x21, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65,
  3347  	0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f,
  3348  	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67,
  3349  	0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
  3350  	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x0a, 0x0f,
  3351  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
  3352  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
  3353  	0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8c, 0x03, 0x0a, 0x26, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41,
  3354  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  3355  	0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  3356  	0x12, 0x48, 0x0a, 0x12, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72,
  3357  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  3358  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  3359  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  3360  	0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x65,
  3361  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
  3362  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  3363  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  3364  	0x52, 0x0e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
  3365  	0x12, 0x6b, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
  3366  	0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  3367  	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x64,
  3368  	0x65, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74,
  3369  	0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  3370  	0x75, 0x6c, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x63,
  3371  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x65, 0x0a,
  3372  	0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f,
  3373  	0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
  3374  	0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  3375  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
  3376  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
  3377  	0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
  3378  	0x65, 0x6e, 0x63, 0x65, 0x22, 0xef, 0x04, 0x0a, 0x23, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x62,
  3379  	0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64,
  3380  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x48, 0x0a, 0x12,
  3381  	0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
  3382  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3383  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  3384  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61,
  3385  	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  3386  	0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  3387  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  3388  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x73, 0x65,
  3389  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x07,
  3390  	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e,
  3391  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
  3392  	0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x62,
  3393  	0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64,
  3394  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x44, 0x65, 0x74,
  3395  	0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a,
  3396  	0x65, 0x63, 0x74, 0x73, 0x1a, 0x61, 0x0a, 0x0b, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
  3397  	0x42, 0x6f, 0x78, 0x12, 0x13, 0x0a, 0x05, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
  3398  	0x28, 0x02, 0x52, 0x04, 0x78, 0x4d, 0x69, 0x6e, 0x12, 0x13, 0x0a, 0x05, 0x78, 0x5f, 0x6d, 0x61,
  3399  	0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x78, 0x4d, 0x61, 0x78, 0x12, 0x13, 0x0a,
  3400  	0x05, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x79, 0x4d,
  3401  	0x69, 0x6e, 0x12, 0x13, 0x0a, 0x05, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28,
  3402  	0x02, 0x52, 0x04, 0x79, 0x4d, 0x61, 0x78, 0x1a, 0xec, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x65,
  3403  	0x63, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
  3404  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69,
  3405  	0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  3406  	0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6c, 0x0a,
  3407  	0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20,
  3408  	0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  3409  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56,
  3410  	0x69, 0x64, 0x65, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69,
  3411  	0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
  3412  	0x6c, 0x74, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x0b,
  3413  	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
  3414  	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52,
  3415  	0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74,
  3416  	0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74,
  3417  	0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x22, 0xa7, 0x03, 0x0a, 0x23, 0x56, 0x69, 0x64, 0x65, 0x6f,
  3418  	0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
  3419  	0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x48,
  3420  	0x0a, 0x12, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
  3421  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  3422  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  3423  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53,
  3424  	0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x65, 0x67, 0x6d,
  3425  	0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
  3426  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3427  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e,
  3428  	0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x80,
  3429  	0x01, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
  3430  	0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3431  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3432  	0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66,
  3433  	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f,
  3434  	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
  3435  	0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3436  	0x52, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3437  	0x73, 0x1a, 0x6d, 0x0a, 0x18, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43,
  3438  	0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
  3439  	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a,
  3440  	0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
  3441  	0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
  3442  	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03,
  3443  	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
  3444  	0x22, 0xb4, 0x17, 0x0a, 0x21, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f,
  3445  	0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  3446  	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
  3447  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  3448  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  3449  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
  3450  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
  3451  	0x69, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  3452  	0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  3453  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70,
  3454  	0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64,
  3455  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x49, 0x64, 0x65,
  3456  	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x52, 0x0f, 0x69, 0x64, 0x65, 0x6e,
  3457  	0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x05, 0x73,
  3458  	0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f,
  3459  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
  3460  	0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43,
  3461  	0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f,
  3462  	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73,
  3463  	0x74, 0x61, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6e,
  3464  	0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3465  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3466  	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75,
  3467  	0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  3468  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52,
  3469  	0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x71, 0x0a, 0x0f, 0x64, 0x77,
  3470  	0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20,
  3471  	0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  3472  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
  3473  	0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
  3474  	0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  3475  	0x2e, 0x44, 0x77, 0x65, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d,
  3476  	0x64, 0x77, 0x65, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x46, 0x0a,
  3477  	0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  3478  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  3479  	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69,
  3480  	0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x53,
  3481  	0x74, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0xbc, 0x03, 0x0a, 0x0d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  3482  	0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x78, 0x5f, 0x69,
  3483  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x97,
  3484  	0x01, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6f,
  3485  	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  3486  	0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  3487  	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75,
  3488  	0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65,
  3489  	0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x49, 0x64,
  3490  	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x2e, 0x4e, 0x6f, 0x72, 0x6d,
  3491  	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f,
  3492  	0x78, 0x52, 0x15, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75,
  3493  	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72,
  3494  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x5a,
  3495  	0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42,
  3496  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
  3497  	0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61,
  3498  	0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69,
  3499  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69,
  3500  	0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72,
  3501  	0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x72,
  3502  	0x61, 0x63, 0x6b, 0x49, 0x64, 0x1a, 0x6d, 0x0a, 0x15, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69,
  3503  	0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x12,
  3504  	0x0a, 0x04, 0x78, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x78, 0x6d,
  3505  	0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
  3506  	0x52, 0x04, 0x79, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18,
  3507  	0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06,
  3508  	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x68, 0x65,
  3509  	0x69, 0x67, 0x68, 0x74, 0x1a, 0xef, 0x0c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x77,
  3510  	0x0a, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75,
  3511  	0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3512  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3513  	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75,
  3514  	0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  3515  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
  3516  	0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61,
  3517  	0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x85, 0x01, 0x0a, 0x14, 0x63, 0x72, 0x6f, 0x73,
  3518  	0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
  3519  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  3520  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76,
  3521  	0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  3522  	0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  3523  	0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x69,
  3524  	0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x63, 0x72, 0x6f,
  3525  	0x73, 0x73, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
  3526  	0x7f, 0x0a, 0x12, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x63,
  3527  	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f,
  3528  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
  3529  	0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79,
  3530  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69,
  3531  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x41,
  3532  	0x63, 0x74, 0x69, 0x76, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10,
  3533  	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73,
  3534  	0x1a, 0x7f, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
  3535  	0x5a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3536  	0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  3537  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70,
  3538  	0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64,
  3539  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x6e, 0x74,
  3540  	0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63,
  3541  	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
  3542  	0x74, 0x1a, 0xc5, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65,
  3543  	0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a,
  3544  	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  3545  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  3546  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74,
  3547  	0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x70, 0x0a, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63,
  3548  	0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e,
  3549  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
  3550  	0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e,
  3551  	0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
  3552  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73,
  3553  	0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x6f, 0x62,
  3554  	0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xd3, 0x05, 0x0a, 0x11, 0x43, 0x72,
  3555  	0x6f, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
  3556  	0x4a, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
  3557  	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  3558  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53,
  3559  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  3560  	0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x89, 0x01, 0x0a, 0x19,
  3561  	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
  3562  	0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  3563  	0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  3564  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70,
  3565  	0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64,
  3566  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61,
  3567  	0x74, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x17,
  3568  	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
  3569  	0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x19, 0x6e, 0x65, 0x67, 0x61,
  3570  	0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
  3571  	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f,
  3572  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
  3573  	0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79,
  3574  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69,
  3575  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4f,
  3576  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x17, 0x6e, 0x65, 0x67, 0x61,
  3577  	0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75,
  3578  	0x6e, 0x74, 0x73, 0x12, 0xab, 0x01, 0x0a, 0x25, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61,
  3579  	0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x72,
  3580  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20,
  3581  	0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  3582  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
  3583  	0x63, 0x63, 0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
  3584  	0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  3585  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74,
  3586  	0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x22, 0x61,
  3587  	0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
  3588  	0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  3589  	0x73, 0x12, 0xab, 0x01, 0x0a, 0x25, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65,
  3590  	0x64, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
  3591  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
  3592  	0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  3593  	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63,
  3594  	0x75, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72,
  3595  	0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53,
  3596  	0x74, 0x61, 0x74, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64,
  3597  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x22, 0x61, 0x63, 0x63,
  3598  	0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65,
  3599  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a,
  3600  	0xc4, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f,
  3601  	0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
  3602  	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3603  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e,
  3604  	0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
  3605  	0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  3606  	0x65, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  3607  	0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  3608  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x70,
  3609  	0x61, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64,
  3610  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61,
  3611  	0x74, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06,
  3612  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x61, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49,
  3613  	0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18,
  3614  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x39,
  3615  	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
  3616  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3617  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
  3618  	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xcb, 0x01, 0x0a, 0x0d, 0x44, 0x77,
  3619  	0x65, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74,
  3620  	0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74,
  3621  	0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69,
  3622  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12,
  3623  	0x44, 0x0a, 0x10, 0x64, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
  3624  	0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  3625  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  3626  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x64, 0x77, 0x65, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72,
  3627  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x65,
  3628  	0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  3629  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  3630  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x77, 0x65, 0x6c, 0x6c,
  3631  	0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe9, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65,
  3632  	0x61, 0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0b,
  3633  	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  3634  	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  3635  	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x72,
  3636  	0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x48, 0x00,
  3637  	0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x53, 0x0a, 0x0d,
  3638  	0x63, 0x72, 0x6f, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20,
  3639  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  3640  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e,
  3641  	0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e,
  3642  	0x65, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e,
  3643  	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
  3644  	0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  3645  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
  3646  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73,
  3647  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75,
  3648  	0x72, 0x63, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x42, 0x0a, 0x04, 0x74, 0x79, 0x70,
  3649  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3650  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e,
  3651  	0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
  3652  	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x14, 0x0a,
  3653  	0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c,
  3654  	0x6f, 0x61, 0x64, 0x22, 0x6e, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x6e,
  3655  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x65,
  3656  	0x61, 0x6d, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
  3657  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  3658  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e,
  3659  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3660  	0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
  3661  	0x6f, 0x6e, 0x73, 0x22, 0x70, 0x0a, 0x11, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65,
  3662  	0x64, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x13, 0x6e, 0x6f, 0x72, 0x6d,
  3663  	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x18,
  3664  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  3665  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31,
  3666  	0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x65, 0x72, 0x74, 0x65,
  3667  	0x78, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x65, 0x72,
  3668  	0x74, 0x69, 0x63, 0x65, 0x73, 0x22, 0x71, 0x0a, 0x12, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69,
  3669  	0x7a, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x5b, 0x0a, 0x13, 0x6e,
  3670  	0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63,
  3671  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3672  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3673  	0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x65,
  3674  	0x72, 0x74, 0x65, 0x78, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
  3675  	0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x10, 0x4e, 0x6f, 0x72, 0x6d,
  3676  	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x12, 0x0c, 0x0a, 0x01,
  3677  	0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18,
  3678  	0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70,
  3679  	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  3680  	0x12, 0x20, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  3681  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
  3682  	0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69,
  3683  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  3684  	0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  3685  	0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65,
  3686  	0x73, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63,
  3687  	0x65, 0x73, 0x73, 0x6f, 0x72, 0x22, 0x82, 0x03, 0x0a, 0x1f, 0x41, 0x70, 0x70, 0x50, 0x6c, 0x61,
  3688  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
  3689  	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x15, 0x61, 0x70, 0x70,
  3690  	0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
  3691  	0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3692  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3693  	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d,
  3694  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x13, 0x61, 0x70, 0x70, 0x50, 0x6c, 0x61, 0x74,
  3695  	0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x73, 0x0a, 0x0b,
  3696  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  3697  	0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  3698  	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70,
  3699  	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e,
  3700  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72,
  3701  	0x75, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  3702  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3703  	0x73, 0x1a, 0x86, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e,
  3704  	0x70, 0x75, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a,
  3705  	0x15, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
  3706  	0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6e,
  3707  	0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f,
  3708  	0x73, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  3709  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  3710  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a,
  3711  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xed, 0x02, 0x0a, 0x20, 0x41,
  3712  	0x70, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46,
  3713  	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  3714  	0x75, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
  3715  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  3716  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e,
  3717  	0x41, 0x70, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64,
  3718  	0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  3719  	0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41,
  3720  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
  3721  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  3722  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68,
  3723  	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
  3724  	0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x46, 0x0a,
  3725  	0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
  3726  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
  3727  	0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x6c, 0x61, 0x74,
  3728  	0x66, 0x6f, 0x72, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x06, 0x65,
  3729  	0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x53, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65,
  3730  	0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
  3731  	0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  3732  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  3733  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a,
  3734  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x41,
  3735  	0x70, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42,
  3736  	0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x73,
  3737  	0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e,
  3738  	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c,
  3739  	0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  3740  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75,
  3741  	0x63, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65,
  3742  	0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65,
  3743  	0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x2a, 0x90, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61,
  3744  	0x6d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
  3745  	0x26, 0x0a, 0x22, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41,
  3746  	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  3747  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x52, 0x45, 0x41,
  3748  	0x4d, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
  3749  	0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12,
  3750  	0x28, 0x0a, 0x24, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41,
  3751  	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x49,
  3752  	0x4e, 0x47, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x42, 0xc8, 0x01, 0x0a, 0x1c, 0x63, 0x6f,
  3753  	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  3754  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f,
  3755  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40,
  3756  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
  3757  	0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3758  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69,
  3759  	0x6f, 0x6e, 0x61, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x69,
  3760  	0xaa, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  3761  	0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x49, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x18, 0x47, 0x6f,
  3762  	0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x56, 0x69, 0x73, 0x69, 0x6f,
  3763  	0x6e, 0x41, 0x49, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a,
  3764  	0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x49,
  3765  	0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  3766  }
  3767  
  3768  var (
  3769  	file_google_cloud_visionai_v1_annotations_proto_rawDescOnce sync.Once
  3770  	file_google_cloud_visionai_v1_annotations_proto_rawDescData = file_google_cloud_visionai_v1_annotations_proto_rawDesc
  3771  )
  3772  
  3773  func file_google_cloud_visionai_v1_annotations_proto_rawDescGZIP() []byte {
  3774  	file_google_cloud_visionai_v1_annotations_proto_rawDescOnce.Do(func() {
  3775  		file_google_cloud_visionai_v1_annotations_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_visionai_v1_annotations_proto_rawDescData)
  3776  	})
  3777  	return file_google_cloud_visionai_v1_annotations_proto_rawDescData
  3778  }
  3779  
  3780  var file_google_cloud_visionai_v1_annotations_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  3781  var file_google_cloud_visionai_v1_annotations_proto_msgTypes = make([]protoimpl.MessageInfo, 43)
  3782  var file_google_cloud_visionai_v1_annotations_proto_goTypes = []interface{}{
  3783  	(StreamAnnotationType)(0),                                                     // 0: google.cloud.visionai.v1.StreamAnnotationType
  3784  	(*PersonalProtectiveEquipmentDetectionOutput)(nil),                            // 1: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput
  3785  	(*ObjectDetectionPredictionResult)(nil),                                       // 2: google.cloud.visionai.v1.ObjectDetectionPredictionResult
  3786  	(*ImageObjectDetectionPredictionResult)(nil),                                  // 3: google.cloud.visionai.v1.ImageObjectDetectionPredictionResult
  3787  	(*ClassificationPredictionResult)(nil),                                        // 4: google.cloud.visionai.v1.ClassificationPredictionResult
  3788  	(*ImageSegmentationPredictionResult)(nil),                                     // 5: google.cloud.visionai.v1.ImageSegmentationPredictionResult
  3789  	(*VideoActionRecognitionPredictionResult)(nil),                                // 6: google.cloud.visionai.v1.VideoActionRecognitionPredictionResult
  3790  	(*VideoObjectTrackingPredictionResult)(nil),                                   // 7: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult
  3791  	(*VideoClassificationPredictionResult)(nil),                                   // 8: google.cloud.visionai.v1.VideoClassificationPredictionResult
  3792  	(*OccupancyCountingPredictionResult)(nil),                                     // 9: google.cloud.visionai.v1.OccupancyCountingPredictionResult
  3793  	(*StreamAnnotation)(nil),                                                      // 10: google.cloud.visionai.v1.StreamAnnotation
  3794  	(*StreamAnnotations)(nil),                                                     // 11: google.cloud.visionai.v1.StreamAnnotations
  3795  	(*NormalizedPolygon)(nil),                                                     // 12: google.cloud.visionai.v1.NormalizedPolygon
  3796  	(*NormalizedPolyline)(nil),                                                    // 13: google.cloud.visionai.v1.NormalizedPolyline
  3797  	(*NormalizedVertex)(nil),                                                      // 14: google.cloud.visionai.v1.NormalizedVertex
  3798  	(*AppPlatformMetadata)(nil),                                                   // 15: google.cloud.visionai.v1.AppPlatformMetadata
  3799  	(*AppPlatformCloudFunctionRequest)(nil),                                       // 16: google.cloud.visionai.v1.AppPlatformCloudFunctionRequest
  3800  	(*AppPlatformCloudFunctionResponse)(nil),                                      // 17: google.cloud.visionai.v1.AppPlatformCloudFunctionResponse
  3801  	(*AppPlatformEventBody)(nil),                                                  // 18: google.cloud.visionai.v1.AppPlatformEventBody
  3802  	(*PersonalProtectiveEquipmentDetectionOutput_PersonEntity)(nil),               // 19: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PersonEntity
  3803  	(*PersonalProtectiveEquipmentDetectionOutput_PPEEntity)(nil),                  // 20: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PPEEntity
  3804  	(*PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox)(nil),      // 21: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.NormalizedBoundingBox
  3805  	(*PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox)(nil),        // 22: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PersonIdentifiedBox
  3806  	(*PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox)(nil),           // 23: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PPEIdentifiedBox
  3807  	(*PersonalProtectiveEquipmentDetectionOutput_DetectedPerson)(nil),             // 24: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.DetectedPerson
  3808  	(*ObjectDetectionPredictionResult_Entity)(nil),                                // 25: google.cloud.visionai.v1.ObjectDetectionPredictionResult.Entity
  3809  	(*ObjectDetectionPredictionResult_IdentifiedBox)(nil),                         // 26: google.cloud.visionai.v1.ObjectDetectionPredictionResult.IdentifiedBox
  3810  	(*ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox)(nil),   // 27: google.cloud.visionai.v1.ObjectDetectionPredictionResult.IdentifiedBox.NormalizedBoundingBox
  3811  	(*VideoActionRecognitionPredictionResult_IdentifiedAction)(nil),               // 28: google.cloud.visionai.v1.VideoActionRecognitionPredictionResult.IdentifiedAction
  3812  	(*VideoObjectTrackingPredictionResult_BoundingBox)(nil),                       // 29: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.BoundingBox
  3813  	(*VideoObjectTrackingPredictionResult_DetectedObject)(nil),                    // 30: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.DetectedObject
  3814  	(*VideoClassificationPredictionResult_IdentifiedClassification)(nil),          // 31: google.cloud.visionai.v1.VideoClassificationPredictionResult.IdentifiedClassification
  3815  	(*OccupancyCountingPredictionResult_Entity)(nil),                              // 32: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Entity
  3816  	(*OccupancyCountingPredictionResult_IdentifiedBox)(nil),                       // 33: google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox
  3817  	(*OccupancyCountingPredictionResult_Stats)(nil),                               // 34: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats
  3818  	(*OccupancyCountingPredictionResult_TrackInfo)(nil),                           // 35: google.cloud.visionai.v1.OccupancyCountingPredictionResult.TrackInfo
  3819  	(*OccupancyCountingPredictionResult_DwellTimeInfo)(nil),                       // 36: google.cloud.visionai.v1.OccupancyCountingPredictionResult.DwellTimeInfo
  3820  	(*OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox)(nil), // 37: google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox.NormalizedBoundingBox
  3821  	(*OccupancyCountingPredictionResult_Stats_ObjectCount)(nil),                   // 38: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount
  3822  	(*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount)(nil),        // 39: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.AccumulatedObjectCount
  3823  	(*OccupancyCountingPredictionResult_Stats_CrossingLineCount)(nil),             // 40: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount
  3824  	(*OccupancyCountingPredictionResult_Stats_ActiveZoneCount)(nil),               // 41: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ActiveZoneCount
  3825  	(*AppPlatformCloudFunctionRequest_StructedInputAnnotation)(nil),               // 42: google.cloud.visionai.v1.AppPlatformCloudFunctionRequest.StructedInputAnnotation
  3826  	(*AppPlatformCloudFunctionResponse_StructedOutputAnnotation)(nil),             // 43: google.cloud.visionai.v1.AppPlatformCloudFunctionResponse.StructedOutputAnnotation
  3827  	(*timestamppb.Timestamp)(nil),                                                 // 44: google.protobuf.Timestamp
  3828  	(*structpb.ListValue)(nil),                                                    // 45: google.protobuf.ListValue
  3829  	(*structpb.Struct)(nil),                                                       // 46: google.protobuf.Struct
  3830  }
  3831  var file_google_cloud_visionai_v1_annotations_proto_depIdxs = []int32{
  3832  	44, // 0: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.current_time:type_name -> google.protobuf.Timestamp
  3833  	24, // 1: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.detected_persons:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.DetectedPerson
  3834  	44, // 2: google.cloud.visionai.v1.ObjectDetectionPredictionResult.current_time:type_name -> google.protobuf.Timestamp
  3835  	26, // 3: google.cloud.visionai.v1.ObjectDetectionPredictionResult.identified_boxes:type_name -> google.cloud.visionai.v1.ObjectDetectionPredictionResult.IdentifiedBox
  3836  	45, // 4: google.cloud.visionai.v1.ImageObjectDetectionPredictionResult.bboxes:type_name -> google.protobuf.ListValue
  3837  	44, // 5: google.cloud.visionai.v1.VideoActionRecognitionPredictionResult.segment_start_time:type_name -> google.protobuf.Timestamp
  3838  	44, // 6: google.cloud.visionai.v1.VideoActionRecognitionPredictionResult.segment_end_time:type_name -> google.protobuf.Timestamp
  3839  	28, // 7: google.cloud.visionai.v1.VideoActionRecognitionPredictionResult.actions:type_name -> google.cloud.visionai.v1.VideoActionRecognitionPredictionResult.IdentifiedAction
  3840  	44, // 8: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.segment_start_time:type_name -> google.protobuf.Timestamp
  3841  	44, // 9: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.segment_end_time:type_name -> google.protobuf.Timestamp
  3842  	30, // 10: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.objects:type_name -> google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.DetectedObject
  3843  	44, // 11: google.cloud.visionai.v1.VideoClassificationPredictionResult.segment_start_time:type_name -> google.protobuf.Timestamp
  3844  	44, // 12: google.cloud.visionai.v1.VideoClassificationPredictionResult.segment_end_time:type_name -> google.protobuf.Timestamp
  3845  	31, // 13: google.cloud.visionai.v1.VideoClassificationPredictionResult.classifications:type_name -> google.cloud.visionai.v1.VideoClassificationPredictionResult.IdentifiedClassification
  3846  	44, // 14: google.cloud.visionai.v1.OccupancyCountingPredictionResult.current_time:type_name -> google.protobuf.Timestamp
  3847  	33, // 15: google.cloud.visionai.v1.OccupancyCountingPredictionResult.identified_boxes:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox
  3848  	34, // 16: google.cloud.visionai.v1.OccupancyCountingPredictionResult.stats:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats
  3849  	35, // 17: google.cloud.visionai.v1.OccupancyCountingPredictionResult.track_info:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.TrackInfo
  3850  	36, // 18: google.cloud.visionai.v1.OccupancyCountingPredictionResult.dwell_time_info:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.DwellTimeInfo
  3851  	12, // 19: google.cloud.visionai.v1.StreamAnnotation.active_zone:type_name -> google.cloud.visionai.v1.NormalizedPolygon
  3852  	13, // 20: google.cloud.visionai.v1.StreamAnnotation.crossing_line:type_name -> google.cloud.visionai.v1.NormalizedPolyline
  3853  	0,  // 21: google.cloud.visionai.v1.StreamAnnotation.type:type_name -> google.cloud.visionai.v1.StreamAnnotationType
  3854  	10, // 22: google.cloud.visionai.v1.StreamAnnotations.stream_annotations:type_name -> google.cloud.visionai.v1.StreamAnnotation
  3855  	14, // 23: google.cloud.visionai.v1.NormalizedPolygon.normalized_vertices:type_name -> google.cloud.visionai.v1.NormalizedVertex
  3856  	14, // 24: google.cloud.visionai.v1.NormalizedPolyline.normalized_vertices:type_name -> google.cloud.visionai.v1.NormalizedVertex
  3857  	15, // 25: google.cloud.visionai.v1.AppPlatformCloudFunctionRequest.app_platform_metadata:type_name -> google.cloud.visionai.v1.AppPlatformMetadata
  3858  	42, // 26: google.cloud.visionai.v1.AppPlatformCloudFunctionRequest.annotations:type_name -> google.cloud.visionai.v1.AppPlatformCloudFunctionRequest.StructedInputAnnotation
  3859  	43, // 27: google.cloud.visionai.v1.AppPlatformCloudFunctionResponse.annotations:type_name -> google.cloud.visionai.v1.AppPlatformCloudFunctionResponse.StructedOutputAnnotation
  3860  	18, // 28: google.cloud.visionai.v1.AppPlatformCloudFunctionResponse.events:type_name -> google.cloud.visionai.v1.AppPlatformEventBody
  3861  	46, // 29: google.cloud.visionai.v1.AppPlatformEventBody.payload:type_name -> google.protobuf.Struct
  3862  	21, // 30: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PersonIdentifiedBox.normalized_bounding_box:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.NormalizedBoundingBox
  3863  	19, // 31: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PersonIdentifiedBox.person_entity:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PersonEntity
  3864  	21, // 32: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PPEIdentifiedBox.normalized_bounding_box:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.NormalizedBoundingBox
  3865  	20, // 33: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PPEIdentifiedBox.ppe_entity:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PPEEntity
  3866  	22, // 34: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.DetectedPerson.detected_person_identified_box:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PersonIdentifiedBox
  3867  	23, // 35: google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.DetectedPerson.detected_ppe_identified_boxes:type_name -> google.cloud.visionai.v1.PersonalProtectiveEquipmentDetectionOutput.PPEIdentifiedBox
  3868  	27, // 36: google.cloud.visionai.v1.ObjectDetectionPredictionResult.IdentifiedBox.normalized_bounding_box:type_name -> google.cloud.visionai.v1.ObjectDetectionPredictionResult.IdentifiedBox.NormalizedBoundingBox
  3869  	25, // 37: google.cloud.visionai.v1.ObjectDetectionPredictionResult.IdentifiedBox.entity:type_name -> google.cloud.visionai.v1.ObjectDetectionPredictionResult.Entity
  3870  	29, // 38: google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.DetectedObject.bounding_box:type_name -> google.cloud.visionai.v1.VideoObjectTrackingPredictionResult.BoundingBox
  3871  	37, // 39: google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox.normalized_bounding_box:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox.NormalizedBoundingBox
  3872  	32, // 40: google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox.entity:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Entity
  3873  	38, // 41: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.full_frame_count:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount
  3874  	40, // 42: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.crossing_line_counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount
  3875  	41, // 43: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.active_zone_counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ActiveZoneCount
  3876  	44, // 44: google.cloud.visionai.v1.OccupancyCountingPredictionResult.TrackInfo.start_time:type_name -> google.protobuf.Timestamp
  3877  	44, // 45: google.cloud.visionai.v1.OccupancyCountingPredictionResult.DwellTimeInfo.dwell_start_time:type_name -> google.protobuf.Timestamp
  3878  	44, // 46: google.cloud.visionai.v1.OccupancyCountingPredictionResult.DwellTimeInfo.dwell_end_time:type_name -> google.protobuf.Timestamp
  3879  	32, // 47: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount.entity:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Entity
  3880  	44, // 48: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.AccumulatedObjectCount.start_time:type_name -> google.protobuf.Timestamp
  3881  	38, // 49: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.AccumulatedObjectCount.object_count:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount
  3882  	10, // 50: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount.annotation:type_name -> google.cloud.visionai.v1.StreamAnnotation
  3883  	38, // 51: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount.positive_direction_counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount
  3884  	38, // 52: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount.negative_direction_counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount
  3885  	39, // 53: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount.accumulated_positive_direction_counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.AccumulatedObjectCount
  3886  	39, // 54: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.CrossingLineCount.accumulated_negative_direction_counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.AccumulatedObjectCount
  3887  	10, // 55: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ActiveZoneCount.annotation:type_name -> google.cloud.visionai.v1.StreamAnnotation
  3888  	38, // 56: google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ActiveZoneCount.counts:type_name -> google.cloud.visionai.v1.OccupancyCountingPredictionResult.Stats.ObjectCount
  3889  	46, // 57: google.cloud.visionai.v1.AppPlatformCloudFunctionRequest.StructedInputAnnotation.annotation:type_name -> google.protobuf.Struct
  3890  	46, // 58: google.cloud.visionai.v1.AppPlatformCloudFunctionResponse.StructedOutputAnnotation.annotation:type_name -> google.protobuf.Struct
  3891  	59, // [59:59] is the sub-list for method output_type
  3892  	59, // [59:59] is the sub-list for method input_type
  3893  	59, // [59:59] is the sub-list for extension type_name
  3894  	59, // [59:59] is the sub-list for extension extendee
  3895  	0,  // [0:59] is the sub-list for field type_name
  3896  }
  3897  
  3898  func init() { file_google_cloud_visionai_v1_annotations_proto_init() }
  3899  func file_google_cloud_visionai_v1_annotations_proto_init() {
  3900  	if File_google_cloud_visionai_v1_annotations_proto != nil {
  3901  		return
  3902  	}
  3903  	if !protoimpl.UnsafeEnabled {
  3904  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3905  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput); i {
  3906  			case 0:
  3907  				return &v.state
  3908  			case 1:
  3909  				return &v.sizeCache
  3910  			case 2:
  3911  				return &v.unknownFields
  3912  			default:
  3913  				return nil
  3914  			}
  3915  		}
  3916  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3917  			switch v := v.(*ObjectDetectionPredictionResult); i {
  3918  			case 0:
  3919  				return &v.state
  3920  			case 1:
  3921  				return &v.sizeCache
  3922  			case 2:
  3923  				return &v.unknownFields
  3924  			default:
  3925  				return nil
  3926  			}
  3927  		}
  3928  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3929  			switch v := v.(*ImageObjectDetectionPredictionResult); i {
  3930  			case 0:
  3931  				return &v.state
  3932  			case 1:
  3933  				return &v.sizeCache
  3934  			case 2:
  3935  				return &v.unknownFields
  3936  			default:
  3937  				return nil
  3938  			}
  3939  		}
  3940  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3941  			switch v := v.(*ClassificationPredictionResult); i {
  3942  			case 0:
  3943  				return &v.state
  3944  			case 1:
  3945  				return &v.sizeCache
  3946  			case 2:
  3947  				return &v.unknownFields
  3948  			default:
  3949  				return nil
  3950  			}
  3951  		}
  3952  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3953  			switch v := v.(*ImageSegmentationPredictionResult); i {
  3954  			case 0:
  3955  				return &v.state
  3956  			case 1:
  3957  				return &v.sizeCache
  3958  			case 2:
  3959  				return &v.unknownFields
  3960  			default:
  3961  				return nil
  3962  			}
  3963  		}
  3964  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3965  			switch v := v.(*VideoActionRecognitionPredictionResult); i {
  3966  			case 0:
  3967  				return &v.state
  3968  			case 1:
  3969  				return &v.sizeCache
  3970  			case 2:
  3971  				return &v.unknownFields
  3972  			default:
  3973  				return nil
  3974  			}
  3975  		}
  3976  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3977  			switch v := v.(*VideoObjectTrackingPredictionResult); i {
  3978  			case 0:
  3979  				return &v.state
  3980  			case 1:
  3981  				return &v.sizeCache
  3982  			case 2:
  3983  				return &v.unknownFields
  3984  			default:
  3985  				return nil
  3986  			}
  3987  		}
  3988  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3989  			switch v := v.(*VideoClassificationPredictionResult); i {
  3990  			case 0:
  3991  				return &v.state
  3992  			case 1:
  3993  				return &v.sizeCache
  3994  			case 2:
  3995  				return &v.unknownFields
  3996  			default:
  3997  				return nil
  3998  			}
  3999  		}
  4000  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  4001  			switch v := v.(*OccupancyCountingPredictionResult); i {
  4002  			case 0:
  4003  				return &v.state
  4004  			case 1:
  4005  				return &v.sizeCache
  4006  			case 2:
  4007  				return &v.unknownFields
  4008  			default:
  4009  				return nil
  4010  			}
  4011  		}
  4012  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  4013  			switch v := v.(*StreamAnnotation); i {
  4014  			case 0:
  4015  				return &v.state
  4016  			case 1:
  4017  				return &v.sizeCache
  4018  			case 2:
  4019  				return &v.unknownFields
  4020  			default:
  4021  				return nil
  4022  			}
  4023  		}
  4024  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  4025  			switch v := v.(*StreamAnnotations); i {
  4026  			case 0:
  4027  				return &v.state
  4028  			case 1:
  4029  				return &v.sizeCache
  4030  			case 2:
  4031  				return &v.unknownFields
  4032  			default:
  4033  				return nil
  4034  			}
  4035  		}
  4036  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  4037  			switch v := v.(*NormalizedPolygon); i {
  4038  			case 0:
  4039  				return &v.state
  4040  			case 1:
  4041  				return &v.sizeCache
  4042  			case 2:
  4043  				return &v.unknownFields
  4044  			default:
  4045  				return nil
  4046  			}
  4047  		}
  4048  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  4049  			switch v := v.(*NormalizedPolyline); i {
  4050  			case 0:
  4051  				return &v.state
  4052  			case 1:
  4053  				return &v.sizeCache
  4054  			case 2:
  4055  				return &v.unknownFields
  4056  			default:
  4057  				return nil
  4058  			}
  4059  		}
  4060  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  4061  			switch v := v.(*NormalizedVertex); i {
  4062  			case 0:
  4063  				return &v.state
  4064  			case 1:
  4065  				return &v.sizeCache
  4066  			case 2:
  4067  				return &v.unknownFields
  4068  			default:
  4069  				return nil
  4070  			}
  4071  		}
  4072  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  4073  			switch v := v.(*AppPlatformMetadata); i {
  4074  			case 0:
  4075  				return &v.state
  4076  			case 1:
  4077  				return &v.sizeCache
  4078  			case 2:
  4079  				return &v.unknownFields
  4080  			default:
  4081  				return nil
  4082  			}
  4083  		}
  4084  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  4085  			switch v := v.(*AppPlatformCloudFunctionRequest); i {
  4086  			case 0:
  4087  				return &v.state
  4088  			case 1:
  4089  				return &v.sizeCache
  4090  			case 2:
  4091  				return &v.unknownFields
  4092  			default:
  4093  				return nil
  4094  			}
  4095  		}
  4096  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  4097  			switch v := v.(*AppPlatformCloudFunctionResponse); i {
  4098  			case 0:
  4099  				return &v.state
  4100  			case 1:
  4101  				return &v.sizeCache
  4102  			case 2:
  4103  				return &v.unknownFields
  4104  			default:
  4105  				return nil
  4106  			}
  4107  		}
  4108  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  4109  			switch v := v.(*AppPlatformEventBody); i {
  4110  			case 0:
  4111  				return &v.state
  4112  			case 1:
  4113  				return &v.sizeCache
  4114  			case 2:
  4115  				return &v.unknownFields
  4116  			default:
  4117  				return nil
  4118  			}
  4119  		}
  4120  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  4121  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput_PersonEntity); i {
  4122  			case 0:
  4123  				return &v.state
  4124  			case 1:
  4125  				return &v.sizeCache
  4126  			case 2:
  4127  				return &v.unknownFields
  4128  			default:
  4129  				return nil
  4130  			}
  4131  		}
  4132  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  4133  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput_PPEEntity); i {
  4134  			case 0:
  4135  				return &v.state
  4136  			case 1:
  4137  				return &v.sizeCache
  4138  			case 2:
  4139  				return &v.unknownFields
  4140  			default:
  4141  				return nil
  4142  			}
  4143  		}
  4144  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  4145  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput_NormalizedBoundingBox); i {
  4146  			case 0:
  4147  				return &v.state
  4148  			case 1:
  4149  				return &v.sizeCache
  4150  			case 2:
  4151  				return &v.unknownFields
  4152  			default:
  4153  				return nil
  4154  			}
  4155  		}
  4156  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  4157  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput_PersonIdentifiedBox); i {
  4158  			case 0:
  4159  				return &v.state
  4160  			case 1:
  4161  				return &v.sizeCache
  4162  			case 2:
  4163  				return &v.unknownFields
  4164  			default:
  4165  				return nil
  4166  			}
  4167  		}
  4168  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  4169  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput_PPEIdentifiedBox); i {
  4170  			case 0:
  4171  				return &v.state
  4172  			case 1:
  4173  				return &v.sizeCache
  4174  			case 2:
  4175  				return &v.unknownFields
  4176  			default:
  4177  				return nil
  4178  			}
  4179  		}
  4180  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  4181  			switch v := v.(*PersonalProtectiveEquipmentDetectionOutput_DetectedPerson); i {
  4182  			case 0:
  4183  				return &v.state
  4184  			case 1:
  4185  				return &v.sizeCache
  4186  			case 2:
  4187  				return &v.unknownFields
  4188  			default:
  4189  				return nil
  4190  			}
  4191  		}
  4192  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  4193  			switch v := v.(*ObjectDetectionPredictionResult_Entity); i {
  4194  			case 0:
  4195  				return &v.state
  4196  			case 1:
  4197  				return &v.sizeCache
  4198  			case 2:
  4199  				return &v.unknownFields
  4200  			default:
  4201  				return nil
  4202  			}
  4203  		}
  4204  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  4205  			switch v := v.(*ObjectDetectionPredictionResult_IdentifiedBox); i {
  4206  			case 0:
  4207  				return &v.state
  4208  			case 1:
  4209  				return &v.sizeCache
  4210  			case 2:
  4211  				return &v.unknownFields
  4212  			default:
  4213  				return nil
  4214  			}
  4215  		}
  4216  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  4217  			switch v := v.(*ObjectDetectionPredictionResult_IdentifiedBox_NormalizedBoundingBox); i {
  4218  			case 0:
  4219  				return &v.state
  4220  			case 1:
  4221  				return &v.sizeCache
  4222  			case 2:
  4223  				return &v.unknownFields
  4224  			default:
  4225  				return nil
  4226  			}
  4227  		}
  4228  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  4229  			switch v := v.(*VideoActionRecognitionPredictionResult_IdentifiedAction); i {
  4230  			case 0:
  4231  				return &v.state
  4232  			case 1:
  4233  				return &v.sizeCache
  4234  			case 2:
  4235  				return &v.unknownFields
  4236  			default:
  4237  				return nil
  4238  			}
  4239  		}
  4240  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  4241  			switch v := v.(*VideoObjectTrackingPredictionResult_BoundingBox); i {
  4242  			case 0:
  4243  				return &v.state
  4244  			case 1:
  4245  				return &v.sizeCache
  4246  			case 2:
  4247  				return &v.unknownFields
  4248  			default:
  4249  				return nil
  4250  			}
  4251  		}
  4252  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  4253  			switch v := v.(*VideoObjectTrackingPredictionResult_DetectedObject); i {
  4254  			case 0:
  4255  				return &v.state
  4256  			case 1:
  4257  				return &v.sizeCache
  4258  			case 2:
  4259  				return &v.unknownFields
  4260  			default:
  4261  				return nil
  4262  			}
  4263  		}
  4264  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  4265  			switch v := v.(*VideoClassificationPredictionResult_IdentifiedClassification); i {
  4266  			case 0:
  4267  				return &v.state
  4268  			case 1:
  4269  				return &v.sizeCache
  4270  			case 2:
  4271  				return &v.unknownFields
  4272  			default:
  4273  				return nil
  4274  			}
  4275  		}
  4276  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  4277  			switch v := v.(*OccupancyCountingPredictionResult_Entity); i {
  4278  			case 0:
  4279  				return &v.state
  4280  			case 1:
  4281  				return &v.sizeCache
  4282  			case 2:
  4283  				return &v.unknownFields
  4284  			default:
  4285  				return nil
  4286  			}
  4287  		}
  4288  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  4289  			switch v := v.(*OccupancyCountingPredictionResult_IdentifiedBox); i {
  4290  			case 0:
  4291  				return &v.state
  4292  			case 1:
  4293  				return &v.sizeCache
  4294  			case 2:
  4295  				return &v.unknownFields
  4296  			default:
  4297  				return nil
  4298  			}
  4299  		}
  4300  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  4301  			switch v := v.(*OccupancyCountingPredictionResult_Stats); i {
  4302  			case 0:
  4303  				return &v.state
  4304  			case 1:
  4305  				return &v.sizeCache
  4306  			case 2:
  4307  				return &v.unknownFields
  4308  			default:
  4309  				return nil
  4310  			}
  4311  		}
  4312  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  4313  			switch v := v.(*OccupancyCountingPredictionResult_TrackInfo); i {
  4314  			case 0:
  4315  				return &v.state
  4316  			case 1:
  4317  				return &v.sizeCache
  4318  			case 2:
  4319  				return &v.unknownFields
  4320  			default:
  4321  				return nil
  4322  			}
  4323  		}
  4324  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  4325  			switch v := v.(*OccupancyCountingPredictionResult_DwellTimeInfo); i {
  4326  			case 0:
  4327  				return &v.state
  4328  			case 1:
  4329  				return &v.sizeCache
  4330  			case 2:
  4331  				return &v.unknownFields
  4332  			default:
  4333  				return nil
  4334  			}
  4335  		}
  4336  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  4337  			switch v := v.(*OccupancyCountingPredictionResult_IdentifiedBox_NormalizedBoundingBox); i {
  4338  			case 0:
  4339  				return &v.state
  4340  			case 1:
  4341  				return &v.sizeCache
  4342  			case 2:
  4343  				return &v.unknownFields
  4344  			default:
  4345  				return nil
  4346  			}
  4347  		}
  4348  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  4349  			switch v := v.(*OccupancyCountingPredictionResult_Stats_ObjectCount); i {
  4350  			case 0:
  4351  				return &v.state
  4352  			case 1:
  4353  				return &v.sizeCache
  4354  			case 2:
  4355  				return &v.unknownFields
  4356  			default:
  4357  				return nil
  4358  			}
  4359  		}
  4360  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  4361  			switch v := v.(*OccupancyCountingPredictionResult_Stats_AccumulatedObjectCount); i {
  4362  			case 0:
  4363  				return &v.state
  4364  			case 1:
  4365  				return &v.sizeCache
  4366  			case 2:
  4367  				return &v.unknownFields
  4368  			default:
  4369  				return nil
  4370  			}
  4371  		}
  4372  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  4373  			switch v := v.(*OccupancyCountingPredictionResult_Stats_CrossingLineCount); i {
  4374  			case 0:
  4375  				return &v.state
  4376  			case 1:
  4377  				return &v.sizeCache
  4378  			case 2:
  4379  				return &v.unknownFields
  4380  			default:
  4381  				return nil
  4382  			}
  4383  		}
  4384  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  4385  			switch v := v.(*OccupancyCountingPredictionResult_Stats_ActiveZoneCount); i {
  4386  			case 0:
  4387  				return &v.state
  4388  			case 1:
  4389  				return &v.sizeCache
  4390  			case 2:
  4391  				return &v.unknownFields
  4392  			default:
  4393  				return nil
  4394  			}
  4395  		}
  4396  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  4397  			switch v := v.(*AppPlatformCloudFunctionRequest_StructedInputAnnotation); i {
  4398  			case 0:
  4399  				return &v.state
  4400  			case 1:
  4401  				return &v.sizeCache
  4402  			case 2:
  4403  				return &v.unknownFields
  4404  			default:
  4405  				return nil
  4406  			}
  4407  		}
  4408  		file_google_cloud_visionai_v1_annotations_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  4409  			switch v := v.(*AppPlatformCloudFunctionResponse_StructedOutputAnnotation); i {
  4410  			case 0:
  4411  				return &v.state
  4412  			case 1:
  4413  				return &v.sizeCache
  4414  			case 2:
  4415  				return &v.unknownFields
  4416  			default:
  4417  				return nil
  4418  			}
  4419  		}
  4420  	}
  4421  	file_google_cloud_visionai_v1_annotations_proto_msgTypes[9].OneofWrappers = []interface{}{
  4422  		(*StreamAnnotation_ActiveZone)(nil),
  4423  		(*StreamAnnotation_CrossingLine)(nil),
  4424  	}
  4425  	file_google_cloud_visionai_v1_annotations_proto_msgTypes[23].OneofWrappers = []interface{}{}
  4426  	type x struct{}
  4427  	out := protoimpl.TypeBuilder{
  4428  		File: protoimpl.DescBuilder{
  4429  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  4430  			RawDescriptor: file_google_cloud_visionai_v1_annotations_proto_rawDesc,
  4431  			NumEnums:      1,
  4432  			NumMessages:   43,
  4433  			NumExtensions: 0,
  4434  			NumServices:   0,
  4435  		},
  4436  		GoTypes:           file_google_cloud_visionai_v1_annotations_proto_goTypes,
  4437  		DependencyIndexes: file_google_cloud_visionai_v1_annotations_proto_depIdxs,
  4438  		EnumInfos:         file_google_cloud_visionai_v1_annotations_proto_enumTypes,
  4439  		MessageInfos:      file_google_cloud_visionai_v1_annotations_proto_msgTypes,
  4440  	}.Build()
  4441  	File_google_cloud_visionai_v1_annotations_proto = out.File
  4442  	file_google_cloud_visionai_v1_annotations_proto_rawDesc = nil
  4443  	file_google_cloud_visionai_v1_annotations_proto_goTypes = nil
  4444  	file_google_cloud_visionai_v1_annotations_proto_depIdxs = nil
  4445  }
  4446  

View as plain text