cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/featurestore_service.pb.go (about)

     1  // Copyright 2025 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.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1/featurestore_service.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
    25  	_ "google.golang.org/genproto/googleapis/api/annotations"
    26  	interval "google.golang.org/genproto/googleapis/type/interval"
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	_ "google.golang.org/protobuf/types/known/emptypb"
    30  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    31  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  	reflect "reflect"
    33  	sync "sync"
    34  )
    35  
    36  const (
    37  	// Verify that this generated code is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    39  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    41  )
    42  
    43  // Request message for
    44  // [FeaturestoreService.CreateFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.CreateFeaturestore].
    45  type CreateFeaturestoreRequest struct {
    46  	state         protoimpl.MessageState
    47  	sizeCache     protoimpl.SizeCache
    48  	unknownFields protoimpl.UnknownFields
    49  
    50  	// Required. The resource name of the Location to create Featurestores.
    51  	// Format:
    52  	// `projects/{project}/locations/{location}`
    53  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
    54  	// Required. The Featurestore to create.
    55  	Featurestore *Featurestore `protobuf:"bytes,2,opt,name=featurestore,proto3" json:"featurestore,omitempty"`
    56  	// Required. The ID to use for this Featurestore, which will become the final
    57  	// component of the Featurestore's resource name.
    58  	//
    59  	// This value may be up to 60 characters, and valid characters are
    60  	// `[a-z0-9_]`. The first character cannot be a number.
    61  	//
    62  	// The value must be unique within the project and location.
    63  	FeaturestoreId string `protobuf:"bytes,3,opt,name=featurestore_id,json=featurestoreId,proto3" json:"featurestore_id,omitempty"`
    64  }
    65  
    66  func (x *CreateFeaturestoreRequest) Reset() {
    67  	*x = CreateFeaturestoreRequest{}
    68  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[0]
    69  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    70  	ms.StoreMessageInfo(mi)
    71  }
    72  
    73  func (x *CreateFeaturestoreRequest) String() string {
    74  	return protoimpl.X.MessageStringOf(x)
    75  }
    76  
    77  func (*CreateFeaturestoreRequest) ProtoMessage() {}
    78  
    79  func (x *CreateFeaturestoreRequest) ProtoReflect() protoreflect.Message {
    80  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[0]
    81  	if x != nil {
    82  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    83  		if ms.LoadMessageInfo() == nil {
    84  			ms.StoreMessageInfo(mi)
    85  		}
    86  		return ms
    87  	}
    88  	return mi.MessageOf(x)
    89  }
    90  
    91  // Deprecated: Use CreateFeaturestoreRequest.ProtoReflect.Descriptor instead.
    92  func (*CreateFeaturestoreRequest) Descriptor() ([]byte, []int) {
    93  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{0}
    94  }
    95  
    96  func (x *CreateFeaturestoreRequest) GetParent() string {
    97  	if x != nil {
    98  		return x.Parent
    99  	}
   100  	return ""
   101  }
   102  
   103  func (x *CreateFeaturestoreRequest) GetFeaturestore() *Featurestore {
   104  	if x != nil {
   105  		return x.Featurestore
   106  	}
   107  	return nil
   108  }
   109  
   110  func (x *CreateFeaturestoreRequest) GetFeaturestoreId() string {
   111  	if x != nil {
   112  		return x.FeaturestoreId
   113  	}
   114  	return ""
   115  }
   116  
   117  // Request message for
   118  // [FeaturestoreService.GetFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.GetFeaturestore].
   119  type GetFeaturestoreRequest struct {
   120  	state         protoimpl.MessageState
   121  	sizeCache     protoimpl.SizeCache
   122  	unknownFields protoimpl.UnknownFields
   123  
   124  	// Required. The name of the Featurestore resource.
   125  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   126  }
   127  
   128  func (x *GetFeaturestoreRequest) Reset() {
   129  	*x = GetFeaturestoreRequest{}
   130  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[1]
   131  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   132  	ms.StoreMessageInfo(mi)
   133  }
   134  
   135  func (x *GetFeaturestoreRequest) String() string {
   136  	return protoimpl.X.MessageStringOf(x)
   137  }
   138  
   139  func (*GetFeaturestoreRequest) ProtoMessage() {}
   140  
   141  func (x *GetFeaturestoreRequest) ProtoReflect() protoreflect.Message {
   142  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[1]
   143  	if x != nil {
   144  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   145  		if ms.LoadMessageInfo() == nil {
   146  			ms.StoreMessageInfo(mi)
   147  		}
   148  		return ms
   149  	}
   150  	return mi.MessageOf(x)
   151  }
   152  
   153  // Deprecated: Use GetFeaturestoreRequest.ProtoReflect.Descriptor instead.
   154  func (*GetFeaturestoreRequest) Descriptor() ([]byte, []int) {
   155  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{1}
   156  }
   157  
   158  func (x *GetFeaturestoreRequest) GetName() string {
   159  	if x != nil {
   160  		return x.Name
   161  	}
   162  	return ""
   163  }
   164  
   165  // Request message for
   166  // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores].
   167  type ListFeaturestoresRequest struct {
   168  	state         protoimpl.MessageState
   169  	sizeCache     protoimpl.SizeCache
   170  	unknownFields protoimpl.UnknownFields
   171  
   172  	// Required. The resource name of the Location to list Featurestores.
   173  	// Format:
   174  	// `projects/{project}/locations/{location}`
   175  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   176  	// Lists the featurestores that match the filter expression. The following
   177  	// fields are supported:
   178  	//
   179  	// * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
   180  	// Values must be
   181  	//
   182  	//	in RFC 3339 format.
   183  	//
   184  	// * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
   185  	// Values must be
   186  	//
   187  	//	in RFC 3339 format.
   188  	//
   189  	// * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`,
   190  	// `<=`, and `>=` comparisons.
   191  	// * `labels`: Supports key-value equality and key presence.
   192  	//
   193  	// Examples:
   194  	//
   195  	//   - `create_time > "2020-01-01" OR update_time > "2020-01-01"`
   196  	//     Featurestores created or updated after 2020-01-01.
   197  	//   - `labels.env = "prod"`
   198  	//     Featurestores with label "env" set to "prod".
   199  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
   200  	// The maximum number of Featurestores to return. The service may return fewer
   201  	// than this value. If unspecified, at most 100 Featurestores will be
   202  	// returned. The maximum value is 100; any value greater than 100 will be
   203  	// coerced to 100.
   204  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   205  	// A page token, received from a previous
   206  	// [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores]
   207  	// call. Provide this to retrieve the subsequent page.
   208  	//
   209  	// When paginating, all other parameters provided to
   210  	// [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores]
   211  	// must match the call that provided the page token.
   212  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   213  	// A comma-separated list of fields to order by, sorted in ascending order.
   214  	// Use "desc" after a field name for descending.
   215  	// Supported Fields:
   216  	//
   217  	//   - `create_time`
   218  	//   - `update_time`
   219  	//   - `online_serving_config.fixed_node_count`
   220  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
   221  	// Mask specifying which fields to read.
   222  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
   223  }
   224  
   225  func (x *ListFeaturestoresRequest) Reset() {
   226  	*x = ListFeaturestoresRequest{}
   227  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[2]
   228  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   229  	ms.StoreMessageInfo(mi)
   230  }
   231  
   232  func (x *ListFeaturestoresRequest) String() string {
   233  	return protoimpl.X.MessageStringOf(x)
   234  }
   235  
   236  func (*ListFeaturestoresRequest) ProtoMessage() {}
   237  
   238  func (x *ListFeaturestoresRequest) ProtoReflect() protoreflect.Message {
   239  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[2]
   240  	if x != nil {
   241  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   242  		if ms.LoadMessageInfo() == nil {
   243  			ms.StoreMessageInfo(mi)
   244  		}
   245  		return ms
   246  	}
   247  	return mi.MessageOf(x)
   248  }
   249  
   250  // Deprecated: Use ListFeaturestoresRequest.ProtoReflect.Descriptor instead.
   251  func (*ListFeaturestoresRequest) Descriptor() ([]byte, []int) {
   252  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{2}
   253  }
   254  
   255  func (x *ListFeaturestoresRequest) GetParent() string {
   256  	if x != nil {
   257  		return x.Parent
   258  	}
   259  	return ""
   260  }
   261  
   262  func (x *ListFeaturestoresRequest) GetFilter() string {
   263  	if x != nil {
   264  		return x.Filter
   265  	}
   266  	return ""
   267  }
   268  
   269  func (x *ListFeaturestoresRequest) GetPageSize() int32 {
   270  	if x != nil {
   271  		return x.PageSize
   272  	}
   273  	return 0
   274  }
   275  
   276  func (x *ListFeaturestoresRequest) GetPageToken() string {
   277  	if x != nil {
   278  		return x.PageToken
   279  	}
   280  	return ""
   281  }
   282  
   283  func (x *ListFeaturestoresRequest) GetOrderBy() string {
   284  	if x != nil {
   285  		return x.OrderBy
   286  	}
   287  	return ""
   288  }
   289  
   290  func (x *ListFeaturestoresRequest) GetReadMask() *fieldmaskpb.FieldMask {
   291  	if x != nil {
   292  		return x.ReadMask
   293  	}
   294  	return nil
   295  }
   296  
   297  // Response message for
   298  // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores].
   299  type ListFeaturestoresResponse struct {
   300  	state         protoimpl.MessageState
   301  	sizeCache     protoimpl.SizeCache
   302  	unknownFields protoimpl.UnknownFields
   303  
   304  	// The Featurestores matching the request.
   305  	Featurestores []*Featurestore `protobuf:"bytes,1,rep,name=featurestores,proto3" json:"featurestores,omitempty"`
   306  	// A token, which can be sent as
   307  	// [ListFeaturestoresRequest.page_token][google.cloud.aiplatform.v1.ListFeaturestoresRequest.page_token]
   308  	// to retrieve the next page. If this field is omitted, there are no
   309  	// subsequent pages.
   310  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   311  }
   312  
   313  func (x *ListFeaturestoresResponse) Reset() {
   314  	*x = ListFeaturestoresResponse{}
   315  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[3]
   316  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   317  	ms.StoreMessageInfo(mi)
   318  }
   319  
   320  func (x *ListFeaturestoresResponse) String() string {
   321  	return protoimpl.X.MessageStringOf(x)
   322  }
   323  
   324  func (*ListFeaturestoresResponse) ProtoMessage() {}
   325  
   326  func (x *ListFeaturestoresResponse) ProtoReflect() protoreflect.Message {
   327  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[3]
   328  	if x != nil {
   329  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   330  		if ms.LoadMessageInfo() == nil {
   331  			ms.StoreMessageInfo(mi)
   332  		}
   333  		return ms
   334  	}
   335  	return mi.MessageOf(x)
   336  }
   337  
   338  // Deprecated: Use ListFeaturestoresResponse.ProtoReflect.Descriptor instead.
   339  func (*ListFeaturestoresResponse) Descriptor() ([]byte, []int) {
   340  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{3}
   341  }
   342  
   343  func (x *ListFeaturestoresResponse) GetFeaturestores() []*Featurestore {
   344  	if x != nil {
   345  		return x.Featurestores
   346  	}
   347  	return nil
   348  }
   349  
   350  func (x *ListFeaturestoresResponse) GetNextPageToken() string {
   351  	if x != nil {
   352  		return x.NextPageToken
   353  	}
   354  	return ""
   355  }
   356  
   357  // Request message for
   358  // [FeaturestoreService.UpdateFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeaturestore].
   359  type UpdateFeaturestoreRequest struct {
   360  	state         protoimpl.MessageState
   361  	sizeCache     protoimpl.SizeCache
   362  	unknownFields protoimpl.UnknownFields
   363  
   364  	// Required. The Featurestore's `name` field is used to identify the
   365  	// Featurestore to be updated. Format:
   366  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
   367  	Featurestore *Featurestore `protobuf:"bytes,1,opt,name=featurestore,proto3" json:"featurestore,omitempty"`
   368  	// Field mask is used to specify the fields to be overwritten in the
   369  	// Featurestore resource by the update.
   370  	// The fields specified in the update_mask are relative to the resource, not
   371  	// the full request. A field will be overwritten if it is in the mask. If the
   372  	// user does not provide a mask then only the non-empty fields present in the
   373  	// request will be overwritten. Set the update_mask to `*` to override all
   374  	// fields.
   375  	//
   376  	// Updatable fields:
   377  	//
   378  	//   - `labels`
   379  	//   - `online_serving_config.fixed_node_count`
   380  	//   - `online_serving_config.scaling`
   381  	//   - `online_storage_ttl_days`
   382  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   383  }
   384  
   385  func (x *UpdateFeaturestoreRequest) Reset() {
   386  	*x = UpdateFeaturestoreRequest{}
   387  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[4]
   388  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   389  	ms.StoreMessageInfo(mi)
   390  }
   391  
   392  func (x *UpdateFeaturestoreRequest) String() string {
   393  	return protoimpl.X.MessageStringOf(x)
   394  }
   395  
   396  func (*UpdateFeaturestoreRequest) ProtoMessage() {}
   397  
   398  func (x *UpdateFeaturestoreRequest) ProtoReflect() protoreflect.Message {
   399  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[4]
   400  	if x != nil {
   401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   402  		if ms.LoadMessageInfo() == nil {
   403  			ms.StoreMessageInfo(mi)
   404  		}
   405  		return ms
   406  	}
   407  	return mi.MessageOf(x)
   408  }
   409  
   410  // Deprecated: Use UpdateFeaturestoreRequest.ProtoReflect.Descriptor instead.
   411  func (*UpdateFeaturestoreRequest) Descriptor() ([]byte, []int) {
   412  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{4}
   413  }
   414  
   415  func (x *UpdateFeaturestoreRequest) GetFeaturestore() *Featurestore {
   416  	if x != nil {
   417  		return x.Featurestore
   418  	}
   419  	return nil
   420  }
   421  
   422  func (x *UpdateFeaturestoreRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   423  	if x != nil {
   424  		return x.UpdateMask
   425  	}
   426  	return nil
   427  }
   428  
   429  // Request message for
   430  // [FeaturestoreService.DeleteFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeaturestore].
   431  type DeleteFeaturestoreRequest struct {
   432  	state         protoimpl.MessageState
   433  	sizeCache     protoimpl.SizeCache
   434  	unknownFields protoimpl.UnknownFields
   435  
   436  	// Required. The name of the Featurestore to be deleted.
   437  	// Format:
   438  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
   439  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   440  	// If set to true, any EntityTypes and Features for this Featurestore will
   441  	// also be deleted. (Otherwise, the request will only work if the Featurestore
   442  	// has no EntityTypes.)
   443  	Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
   444  }
   445  
   446  func (x *DeleteFeaturestoreRequest) Reset() {
   447  	*x = DeleteFeaturestoreRequest{}
   448  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[5]
   449  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   450  	ms.StoreMessageInfo(mi)
   451  }
   452  
   453  func (x *DeleteFeaturestoreRequest) String() string {
   454  	return protoimpl.X.MessageStringOf(x)
   455  }
   456  
   457  func (*DeleteFeaturestoreRequest) ProtoMessage() {}
   458  
   459  func (x *DeleteFeaturestoreRequest) ProtoReflect() protoreflect.Message {
   460  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[5]
   461  	if x != nil {
   462  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   463  		if ms.LoadMessageInfo() == nil {
   464  			ms.StoreMessageInfo(mi)
   465  		}
   466  		return ms
   467  	}
   468  	return mi.MessageOf(x)
   469  }
   470  
   471  // Deprecated: Use DeleteFeaturestoreRequest.ProtoReflect.Descriptor instead.
   472  func (*DeleteFeaturestoreRequest) Descriptor() ([]byte, []int) {
   473  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{5}
   474  }
   475  
   476  func (x *DeleteFeaturestoreRequest) GetName() string {
   477  	if x != nil {
   478  		return x.Name
   479  	}
   480  	return ""
   481  }
   482  
   483  func (x *DeleteFeaturestoreRequest) GetForce() bool {
   484  	if x != nil {
   485  		return x.Force
   486  	}
   487  	return false
   488  }
   489  
   490  // Request message for
   491  // [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues].
   492  type ImportFeatureValuesRequest struct {
   493  	state         protoimpl.MessageState
   494  	sizeCache     protoimpl.SizeCache
   495  	unknownFields protoimpl.UnknownFields
   496  
   497  	// Details about the source data, including the location of the storage and
   498  	// the format.
   499  	//
   500  	// Types that are assignable to Source:
   501  	//
   502  	//	*ImportFeatureValuesRequest_AvroSource
   503  	//	*ImportFeatureValuesRequest_BigquerySource
   504  	//	*ImportFeatureValuesRequest_CsvSource
   505  	Source isImportFeatureValuesRequest_Source `protobuf_oneof:"source"`
   506  	// Source of Feature timestamp for all Feature values of each entity.
   507  	// Timestamps must be millisecond-aligned.
   508  	//
   509  	// Types that are assignable to FeatureTimeSource:
   510  	//
   511  	//	*ImportFeatureValuesRequest_FeatureTimeField
   512  	//	*ImportFeatureValuesRequest_FeatureTime
   513  	FeatureTimeSource isImportFeatureValuesRequest_FeatureTimeSource `protobuf_oneof:"feature_time_source"`
   514  	// Required. The resource name of the EntityType grouping the Features for
   515  	// which values are being imported. Format:
   516  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
   517  	EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
   518  	// Source column that holds entity IDs. If not provided, entity IDs are
   519  	// extracted from the column named entity_id.
   520  	EntityIdField string `protobuf:"bytes,5,opt,name=entity_id_field,json=entityIdField,proto3" json:"entity_id_field,omitempty"`
   521  	// Required. Specifications defining which Feature values to import from the
   522  	// entity. The request fails if no feature_specs are provided, and having
   523  	// multiple feature_specs for one Feature is not allowed.
   524  	FeatureSpecs []*ImportFeatureValuesRequest_FeatureSpec `protobuf:"bytes,8,rep,name=feature_specs,json=featureSpecs,proto3" json:"feature_specs,omitempty"`
   525  	// If set, data will not be imported for online serving. This
   526  	// is typically used for backfilling, where Feature generation timestamps are
   527  	// not in the timestamp range needed for online serving.
   528  	DisableOnlineServing bool `protobuf:"varint,9,opt,name=disable_online_serving,json=disableOnlineServing,proto3" json:"disable_online_serving,omitempty"`
   529  	// Specifies the number of workers that are used to write data to the
   530  	// Featurestore. Consider the online serving capacity that you require to
   531  	// achieve the desired import throughput without interfering with online
   532  	// serving. The value must be positive, and less than or equal to 100.
   533  	// If not set, defaults to using 1 worker. The low count ensures minimal
   534  	// impact on online serving performance.
   535  	WorkerCount int32 `protobuf:"varint,11,opt,name=worker_count,json=workerCount,proto3" json:"worker_count,omitempty"`
   536  	// If true, API doesn't start ingestion analysis pipeline.
   537  	DisableIngestionAnalysis bool `protobuf:"varint,12,opt,name=disable_ingestion_analysis,json=disableIngestionAnalysis,proto3" json:"disable_ingestion_analysis,omitempty"`
   538  }
   539  
   540  func (x *ImportFeatureValuesRequest) Reset() {
   541  	*x = ImportFeatureValuesRequest{}
   542  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[6]
   543  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   544  	ms.StoreMessageInfo(mi)
   545  }
   546  
   547  func (x *ImportFeatureValuesRequest) String() string {
   548  	return protoimpl.X.MessageStringOf(x)
   549  }
   550  
   551  func (*ImportFeatureValuesRequest) ProtoMessage() {}
   552  
   553  func (x *ImportFeatureValuesRequest) ProtoReflect() protoreflect.Message {
   554  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[6]
   555  	if x != nil {
   556  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   557  		if ms.LoadMessageInfo() == nil {
   558  			ms.StoreMessageInfo(mi)
   559  		}
   560  		return ms
   561  	}
   562  	return mi.MessageOf(x)
   563  }
   564  
   565  // Deprecated: Use ImportFeatureValuesRequest.ProtoReflect.Descriptor instead.
   566  func (*ImportFeatureValuesRequest) Descriptor() ([]byte, []int) {
   567  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{6}
   568  }
   569  
   570  func (m *ImportFeatureValuesRequest) GetSource() isImportFeatureValuesRequest_Source {
   571  	if m != nil {
   572  		return m.Source
   573  	}
   574  	return nil
   575  }
   576  
   577  func (x *ImportFeatureValuesRequest) GetAvroSource() *AvroSource {
   578  	if x, ok := x.GetSource().(*ImportFeatureValuesRequest_AvroSource); ok {
   579  		return x.AvroSource
   580  	}
   581  	return nil
   582  }
   583  
   584  func (x *ImportFeatureValuesRequest) GetBigquerySource() *BigQuerySource {
   585  	if x, ok := x.GetSource().(*ImportFeatureValuesRequest_BigquerySource); ok {
   586  		return x.BigquerySource
   587  	}
   588  	return nil
   589  }
   590  
   591  func (x *ImportFeatureValuesRequest) GetCsvSource() *CsvSource {
   592  	if x, ok := x.GetSource().(*ImportFeatureValuesRequest_CsvSource); ok {
   593  		return x.CsvSource
   594  	}
   595  	return nil
   596  }
   597  
   598  func (m *ImportFeatureValuesRequest) GetFeatureTimeSource() isImportFeatureValuesRequest_FeatureTimeSource {
   599  	if m != nil {
   600  		return m.FeatureTimeSource
   601  	}
   602  	return nil
   603  }
   604  
   605  func (x *ImportFeatureValuesRequest) GetFeatureTimeField() string {
   606  	if x, ok := x.GetFeatureTimeSource().(*ImportFeatureValuesRequest_FeatureTimeField); ok {
   607  		return x.FeatureTimeField
   608  	}
   609  	return ""
   610  }
   611  
   612  func (x *ImportFeatureValuesRequest) GetFeatureTime() *timestamppb.Timestamp {
   613  	if x, ok := x.GetFeatureTimeSource().(*ImportFeatureValuesRequest_FeatureTime); ok {
   614  		return x.FeatureTime
   615  	}
   616  	return nil
   617  }
   618  
   619  func (x *ImportFeatureValuesRequest) GetEntityType() string {
   620  	if x != nil {
   621  		return x.EntityType
   622  	}
   623  	return ""
   624  }
   625  
   626  func (x *ImportFeatureValuesRequest) GetEntityIdField() string {
   627  	if x != nil {
   628  		return x.EntityIdField
   629  	}
   630  	return ""
   631  }
   632  
   633  func (x *ImportFeatureValuesRequest) GetFeatureSpecs() []*ImportFeatureValuesRequest_FeatureSpec {
   634  	if x != nil {
   635  		return x.FeatureSpecs
   636  	}
   637  	return nil
   638  }
   639  
   640  func (x *ImportFeatureValuesRequest) GetDisableOnlineServing() bool {
   641  	if x != nil {
   642  		return x.DisableOnlineServing
   643  	}
   644  	return false
   645  }
   646  
   647  func (x *ImportFeatureValuesRequest) GetWorkerCount() int32 {
   648  	if x != nil {
   649  		return x.WorkerCount
   650  	}
   651  	return 0
   652  }
   653  
   654  func (x *ImportFeatureValuesRequest) GetDisableIngestionAnalysis() bool {
   655  	if x != nil {
   656  		return x.DisableIngestionAnalysis
   657  	}
   658  	return false
   659  }
   660  
   661  type isImportFeatureValuesRequest_Source interface {
   662  	isImportFeatureValuesRequest_Source()
   663  }
   664  
   665  type ImportFeatureValuesRequest_AvroSource struct {
   666  	AvroSource *AvroSource `protobuf:"bytes,2,opt,name=avro_source,json=avroSource,proto3,oneof"`
   667  }
   668  
   669  type ImportFeatureValuesRequest_BigquerySource struct {
   670  	BigquerySource *BigQuerySource `protobuf:"bytes,3,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"`
   671  }
   672  
   673  type ImportFeatureValuesRequest_CsvSource struct {
   674  	CsvSource *CsvSource `protobuf:"bytes,4,opt,name=csv_source,json=csvSource,proto3,oneof"`
   675  }
   676  
   677  func (*ImportFeatureValuesRequest_AvroSource) isImportFeatureValuesRequest_Source() {}
   678  
   679  func (*ImportFeatureValuesRequest_BigquerySource) isImportFeatureValuesRequest_Source() {}
   680  
   681  func (*ImportFeatureValuesRequest_CsvSource) isImportFeatureValuesRequest_Source() {}
   682  
   683  type isImportFeatureValuesRequest_FeatureTimeSource interface {
   684  	isImportFeatureValuesRequest_FeatureTimeSource()
   685  }
   686  
   687  type ImportFeatureValuesRequest_FeatureTimeField struct {
   688  	// Source column that holds the Feature timestamp for all Feature
   689  	// values in each entity.
   690  	FeatureTimeField string `protobuf:"bytes,6,opt,name=feature_time_field,json=featureTimeField,proto3,oneof"`
   691  }
   692  
   693  type ImportFeatureValuesRequest_FeatureTime struct {
   694  	// Single Feature timestamp for all entities being imported. The
   695  	// timestamp must not have higher than millisecond precision.
   696  	FeatureTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=feature_time,json=featureTime,proto3,oneof"`
   697  }
   698  
   699  func (*ImportFeatureValuesRequest_FeatureTimeField) isImportFeatureValuesRequest_FeatureTimeSource() {
   700  }
   701  
   702  func (*ImportFeatureValuesRequest_FeatureTime) isImportFeatureValuesRequest_FeatureTimeSource() {}
   703  
   704  // Response message for
   705  // [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues].
   706  type ImportFeatureValuesResponse struct {
   707  	state         protoimpl.MessageState
   708  	sizeCache     protoimpl.SizeCache
   709  	unknownFields protoimpl.UnknownFields
   710  
   711  	// Number of entities that have been imported by the operation.
   712  	ImportedEntityCount int64 `protobuf:"varint,1,opt,name=imported_entity_count,json=importedEntityCount,proto3" json:"imported_entity_count,omitempty"`
   713  	// Number of Feature values that have been imported by the operation.
   714  	ImportedFeatureValueCount int64 `protobuf:"varint,2,opt,name=imported_feature_value_count,json=importedFeatureValueCount,proto3" json:"imported_feature_value_count,omitempty"`
   715  	// The number of rows in input source that weren't imported due to either
   716  	// * Not having any featureValues.
   717  	// * Having a null entityId.
   718  	// * Having a null timestamp.
   719  	// * Not being parsable (applicable for CSV sources).
   720  	InvalidRowCount int64 `protobuf:"varint,6,opt,name=invalid_row_count,json=invalidRowCount,proto3" json:"invalid_row_count,omitempty"`
   721  	// The number rows that weren't ingested due to having feature timestamps
   722  	// outside the retention boundary.
   723  	TimestampOutsideRetentionRowsCount int64 `protobuf:"varint,4,opt,name=timestamp_outside_retention_rows_count,json=timestampOutsideRetentionRowsCount,proto3" json:"timestamp_outside_retention_rows_count,omitempty"`
   724  }
   725  
   726  func (x *ImportFeatureValuesResponse) Reset() {
   727  	*x = ImportFeatureValuesResponse{}
   728  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[7]
   729  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   730  	ms.StoreMessageInfo(mi)
   731  }
   732  
   733  func (x *ImportFeatureValuesResponse) String() string {
   734  	return protoimpl.X.MessageStringOf(x)
   735  }
   736  
   737  func (*ImportFeatureValuesResponse) ProtoMessage() {}
   738  
   739  func (x *ImportFeatureValuesResponse) ProtoReflect() protoreflect.Message {
   740  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[7]
   741  	if x != nil {
   742  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   743  		if ms.LoadMessageInfo() == nil {
   744  			ms.StoreMessageInfo(mi)
   745  		}
   746  		return ms
   747  	}
   748  	return mi.MessageOf(x)
   749  }
   750  
   751  // Deprecated: Use ImportFeatureValuesResponse.ProtoReflect.Descriptor instead.
   752  func (*ImportFeatureValuesResponse) Descriptor() ([]byte, []int) {
   753  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{7}
   754  }
   755  
   756  func (x *ImportFeatureValuesResponse) GetImportedEntityCount() int64 {
   757  	if x != nil {
   758  		return x.ImportedEntityCount
   759  	}
   760  	return 0
   761  }
   762  
   763  func (x *ImportFeatureValuesResponse) GetImportedFeatureValueCount() int64 {
   764  	if x != nil {
   765  		return x.ImportedFeatureValueCount
   766  	}
   767  	return 0
   768  }
   769  
   770  func (x *ImportFeatureValuesResponse) GetInvalidRowCount() int64 {
   771  	if x != nil {
   772  		return x.InvalidRowCount
   773  	}
   774  	return 0
   775  }
   776  
   777  func (x *ImportFeatureValuesResponse) GetTimestampOutsideRetentionRowsCount() int64 {
   778  	if x != nil {
   779  		return x.TimestampOutsideRetentionRowsCount
   780  	}
   781  	return 0
   782  }
   783  
   784  // Request message for
   785  // [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues].
   786  type BatchReadFeatureValuesRequest struct {
   787  	state         protoimpl.MessageState
   788  	sizeCache     protoimpl.SizeCache
   789  	unknownFields protoimpl.UnknownFields
   790  
   791  	// Types that are assignable to ReadOption:
   792  	//
   793  	//	*BatchReadFeatureValuesRequest_CsvReadInstances
   794  	//	*BatchReadFeatureValuesRequest_BigqueryReadInstances
   795  	ReadOption isBatchReadFeatureValuesRequest_ReadOption `protobuf_oneof:"read_option"`
   796  	// Required. The resource name of the Featurestore from which to query Feature
   797  	// values. Format:
   798  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
   799  	Featurestore string `protobuf:"bytes,1,opt,name=featurestore,proto3" json:"featurestore,omitempty"`
   800  	// Required. Specifies output location and format.
   801  	Destination *FeatureValueDestination `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
   802  	// When not empty, the specified fields in the *_read_instances source will be
   803  	// joined as-is in the output, in addition to those fields from the
   804  	// Featurestore Entity.
   805  	//
   806  	// For BigQuery source, the type of the pass-through values will be
   807  	// automatically inferred. For CSV source, the pass-through values will be
   808  	// passed as opaque bytes.
   809  	PassThroughFields []*BatchReadFeatureValuesRequest_PassThroughField `protobuf:"bytes,8,rep,name=pass_through_fields,json=passThroughFields,proto3" json:"pass_through_fields,omitempty"`
   810  	// Required. Specifies EntityType grouping Features to read values of and
   811  	// settings.
   812  	EntityTypeSpecs []*BatchReadFeatureValuesRequest_EntityTypeSpec `protobuf:"bytes,7,rep,name=entity_type_specs,json=entityTypeSpecs,proto3" json:"entity_type_specs,omitempty"`
   813  	// Optional. Excludes Feature values with feature generation timestamp before
   814  	// this timestamp. If not set, retrieve oldest values kept in Feature Store.
   815  	// Timestamp, if present, must not have higher than millisecond precision.
   816  	StartTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   817  }
   818  
   819  func (x *BatchReadFeatureValuesRequest) Reset() {
   820  	*x = BatchReadFeatureValuesRequest{}
   821  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[8]
   822  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   823  	ms.StoreMessageInfo(mi)
   824  }
   825  
   826  func (x *BatchReadFeatureValuesRequest) String() string {
   827  	return protoimpl.X.MessageStringOf(x)
   828  }
   829  
   830  func (*BatchReadFeatureValuesRequest) ProtoMessage() {}
   831  
   832  func (x *BatchReadFeatureValuesRequest) ProtoReflect() protoreflect.Message {
   833  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[8]
   834  	if x != nil {
   835  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   836  		if ms.LoadMessageInfo() == nil {
   837  			ms.StoreMessageInfo(mi)
   838  		}
   839  		return ms
   840  	}
   841  	return mi.MessageOf(x)
   842  }
   843  
   844  // Deprecated: Use BatchReadFeatureValuesRequest.ProtoReflect.Descriptor instead.
   845  func (*BatchReadFeatureValuesRequest) Descriptor() ([]byte, []int) {
   846  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{8}
   847  }
   848  
   849  func (m *BatchReadFeatureValuesRequest) GetReadOption() isBatchReadFeatureValuesRequest_ReadOption {
   850  	if m != nil {
   851  		return m.ReadOption
   852  	}
   853  	return nil
   854  }
   855  
   856  func (x *BatchReadFeatureValuesRequest) GetCsvReadInstances() *CsvSource {
   857  	if x, ok := x.GetReadOption().(*BatchReadFeatureValuesRequest_CsvReadInstances); ok {
   858  		return x.CsvReadInstances
   859  	}
   860  	return nil
   861  }
   862  
   863  func (x *BatchReadFeatureValuesRequest) GetBigqueryReadInstances() *BigQuerySource {
   864  	if x, ok := x.GetReadOption().(*BatchReadFeatureValuesRequest_BigqueryReadInstances); ok {
   865  		return x.BigqueryReadInstances
   866  	}
   867  	return nil
   868  }
   869  
   870  func (x *BatchReadFeatureValuesRequest) GetFeaturestore() string {
   871  	if x != nil {
   872  		return x.Featurestore
   873  	}
   874  	return ""
   875  }
   876  
   877  func (x *BatchReadFeatureValuesRequest) GetDestination() *FeatureValueDestination {
   878  	if x != nil {
   879  		return x.Destination
   880  	}
   881  	return nil
   882  }
   883  
   884  func (x *BatchReadFeatureValuesRequest) GetPassThroughFields() []*BatchReadFeatureValuesRequest_PassThroughField {
   885  	if x != nil {
   886  		return x.PassThroughFields
   887  	}
   888  	return nil
   889  }
   890  
   891  func (x *BatchReadFeatureValuesRequest) GetEntityTypeSpecs() []*BatchReadFeatureValuesRequest_EntityTypeSpec {
   892  	if x != nil {
   893  		return x.EntityTypeSpecs
   894  	}
   895  	return nil
   896  }
   897  
   898  func (x *BatchReadFeatureValuesRequest) GetStartTime() *timestamppb.Timestamp {
   899  	if x != nil {
   900  		return x.StartTime
   901  	}
   902  	return nil
   903  }
   904  
   905  type isBatchReadFeatureValuesRequest_ReadOption interface {
   906  	isBatchReadFeatureValuesRequest_ReadOption()
   907  }
   908  
   909  type BatchReadFeatureValuesRequest_CsvReadInstances struct {
   910  	// Each read instance consists of exactly one read timestamp and one or more
   911  	// entity IDs identifying entities of the corresponding EntityTypes whose
   912  	// Features are requested.
   913  	//
   914  	// Each output instance contains Feature values of requested entities
   915  	// concatenated together as of the read time.
   916  	//
   917  	// An example read instance may be `foo_entity_id, bar_entity_id,
   918  	// 2020-01-01T10:00:00.123Z`.
   919  	//
   920  	// An example output instance may be `foo_entity_id, bar_entity_id,
   921  	// 2020-01-01T10:00:00.123Z, foo_entity_feature1_value,
   922  	// bar_entity_feature2_value`.
   923  	//
   924  	// Timestamp in each read instance must be millisecond-aligned.
   925  	//
   926  	// `csv_read_instances` are read instances stored in a plain-text CSV file.
   927  	// The header should be:
   928  	//
   929  	//	[ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp
   930  	//
   931  	// The columns can be in any order.
   932  	//
   933  	// Values in the timestamp column must use the RFC 3339 format, e.g.
   934  	// `2012-07-30T10:43:17.123Z`.
   935  	CsvReadInstances *CsvSource `protobuf:"bytes,3,opt,name=csv_read_instances,json=csvReadInstances,proto3,oneof"`
   936  }
   937  
   938  type BatchReadFeatureValuesRequest_BigqueryReadInstances struct {
   939  	// Similar to csv_read_instances, but from BigQuery source.
   940  	BigqueryReadInstances *BigQuerySource `protobuf:"bytes,5,opt,name=bigquery_read_instances,json=bigqueryReadInstances,proto3,oneof"`
   941  }
   942  
   943  func (*BatchReadFeatureValuesRequest_CsvReadInstances) isBatchReadFeatureValuesRequest_ReadOption() {}
   944  
   945  func (*BatchReadFeatureValuesRequest_BigqueryReadInstances) isBatchReadFeatureValuesRequest_ReadOption() {
   946  }
   947  
   948  // Request message for
   949  // [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues].
   950  type ExportFeatureValuesRequest struct {
   951  	state         protoimpl.MessageState
   952  	sizeCache     protoimpl.SizeCache
   953  	unknownFields protoimpl.UnknownFields
   954  
   955  	// Required. The mode in which Feature values are exported.
   956  	//
   957  	// Types that are assignable to Mode:
   958  	//
   959  	//	*ExportFeatureValuesRequest_SnapshotExport_
   960  	//	*ExportFeatureValuesRequest_FullExport_
   961  	Mode isExportFeatureValuesRequest_Mode `protobuf_oneof:"mode"`
   962  	// Required. The resource name of the EntityType from which to export Feature
   963  	// values. Format:
   964  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
   965  	EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
   966  	// Required. Specifies destination location and format.
   967  	Destination *FeatureValueDestination `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
   968  	// Required. Selects Features to export values of.
   969  	FeatureSelector *FeatureSelector `protobuf:"bytes,5,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"`
   970  	// Per-Feature export settings.
   971  	Settings []*DestinationFeatureSetting `protobuf:"bytes,6,rep,name=settings,proto3" json:"settings,omitempty"`
   972  }
   973  
   974  func (x *ExportFeatureValuesRequest) Reset() {
   975  	*x = ExportFeatureValuesRequest{}
   976  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[9]
   977  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   978  	ms.StoreMessageInfo(mi)
   979  }
   980  
   981  func (x *ExportFeatureValuesRequest) String() string {
   982  	return protoimpl.X.MessageStringOf(x)
   983  }
   984  
   985  func (*ExportFeatureValuesRequest) ProtoMessage() {}
   986  
   987  func (x *ExportFeatureValuesRequest) ProtoReflect() protoreflect.Message {
   988  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[9]
   989  	if x != nil {
   990  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   991  		if ms.LoadMessageInfo() == nil {
   992  			ms.StoreMessageInfo(mi)
   993  		}
   994  		return ms
   995  	}
   996  	return mi.MessageOf(x)
   997  }
   998  
   999  // Deprecated: Use ExportFeatureValuesRequest.ProtoReflect.Descriptor instead.
  1000  func (*ExportFeatureValuesRequest) Descriptor() ([]byte, []int) {
  1001  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{9}
  1002  }
  1003  
  1004  func (m *ExportFeatureValuesRequest) GetMode() isExportFeatureValuesRequest_Mode {
  1005  	if m != nil {
  1006  		return m.Mode
  1007  	}
  1008  	return nil
  1009  }
  1010  
  1011  func (x *ExportFeatureValuesRequest) GetSnapshotExport() *ExportFeatureValuesRequest_SnapshotExport {
  1012  	if x, ok := x.GetMode().(*ExportFeatureValuesRequest_SnapshotExport_); ok {
  1013  		return x.SnapshotExport
  1014  	}
  1015  	return nil
  1016  }
  1017  
  1018  func (x *ExportFeatureValuesRequest) GetFullExport() *ExportFeatureValuesRequest_FullExport {
  1019  	if x, ok := x.GetMode().(*ExportFeatureValuesRequest_FullExport_); ok {
  1020  		return x.FullExport
  1021  	}
  1022  	return nil
  1023  }
  1024  
  1025  func (x *ExportFeatureValuesRequest) GetEntityType() string {
  1026  	if x != nil {
  1027  		return x.EntityType
  1028  	}
  1029  	return ""
  1030  }
  1031  
  1032  func (x *ExportFeatureValuesRequest) GetDestination() *FeatureValueDestination {
  1033  	if x != nil {
  1034  		return x.Destination
  1035  	}
  1036  	return nil
  1037  }
  1038  
  1039  func (x *ExportFeatureValuesRequest) GetFeatureSelector() *FeatureSelector {
  1040  	if x != nil {
  1041  		return x.FeatureSelector
  1042  	}
  1043  	return nil
  1044  }
  1045  
  1046  func (x *ExportFeatureValuesRequest) GetSettings() []*DestinationFeatureSetting {
  1047  	if x != nil {
  1048  		return x.Settings
  1049  	}
  1050  	return nil
  1051  }
  1052  
  1053  type isExportFeatureValuesRequest_Mode interface {
  1054  	isExportFeatureValuesRequest_Mode()
  1055  }
  1056  
  1057  type ExportFeatureValuesRequest_SnapshotExport_ struct {
  1058  	// Exports the latest Feature values of all entities of the EntityType
  1059  	// within a time range.
  1060  	SnapshotExport *ExportFeatureValuesRequest_SnapshotExport `protobuf:"bytes,3,opt,name=snapshot_export,json=snapshotExport,proto3,oneof"`
  1061  }
  1062  
  1063  type ExportFeatureValuesRequest_FullExport_ struct {
  1064  	// Exports all historical values of all entities of the EntityType within a
  1065  	// time range
  1066  	FullExport *ExportFeatureValuesRequest_FullExport `protobuf:"bytes,7,opt,name=full_export,json=fullExport,proto3,oneof"`
  1067  }
  1068  
  1069  func (*ExportFeatureValuesRequest_SnapshotExport_) isExportFeatureValuesRequest_Mode() {}
  1070  
  1071  func (*ExportFeatureValuesRequest_FullExport_) isExportFeatureValuesRequest_Mode() {}
  1072  
  1073  type DestinationFeatureSetting struct {
  1074  	state         protoimpl.MessageState
  1075  	sizeCache     protoimpl.SizeCache
  1076  	unknownFields protoimpl.UnknownFields
  1077  
  1078  	// Required. The ID of the Feature to apply the setting to.
  1079  	FeatureId string `protobuf:"bytes,1,opt,name=feature_id,json=featureId,proto3" json:"feature_id,omitempty"`
  1080  	// Specify the field name in the export destination. If not specified,
  1081  	// Feature ID is used.
  1082  	DestinationField string `protobuf:"bytes,2,opt,name=destination_field,json=destinationField,proto3" json:"destination_field,omitempty"`
  1083  }
  1084  
  1085  func (x *DestinationFeatureSetting) Reset() {
  1086  	*x = DestinationFeatureSetting{}
  1087  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[10]
  1088  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1089  	ms.StoreMessageInfo(mi)
  1090  }
  1091  
  1092  func (x *DestinationFeatureSetting) String() string {
  1093  	return protoimpl.X.MessageStringOf(x)
  1094  }
  1095  
  1096  func (*DestinationFeatureSetting) ProtoMessage() {}
  1097  
  1098  func (x *DestinationFeatureSetting) ProtoReflect() protoreflect.Message {
  1099  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[10]
  1100  	if 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 DestinationFeatureSetting.ProtoReflect.Descriptor instead.
  1111  func (*DestinationFeatureSetting) Descriptor() ([]byte, []int) {
  1112  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{10}
  1113  }
  1114  
  1115  func (x *DestinationFeatureSetting) GetFeatureId() string {
  1116  	if x != nil {
  1117  		return x.FeatureId
  1118  	}
  1119  	return ""
  1120  }
  1121  
  1122  func (x *DestinationFeatureSetting) GetDestinationField() string {
  1123  	if x != nil {
  1124  		return x.DestinationField
  1125  	}
  1126  	return ""
  1127  }
  1128  
  1129  // A destination location for Feature values and format.
  1130  type FeatureValueDestination struct {
  1131  	state         protoimpl.MessageState
  1132  	sizeCache     protoimpl.SizeCache
  1133  	unknownFields protoimpl.UnknownFields
  1134  
  1135  	// Types that are assignable to Destination:
  1136  	//
  1137  	//	*FeatureValueDestination_BigqueryDestination
  1138  	//	*FeatureValueDestination_TfrecordDestination
  1139  	//	*FeatureValueDestination_CsvDestination
  1140  	Destination isFeatureValueDestination_Destination `protobuf_oneof:"destination"`
  1141  }
  1142  
  1143  func (x *FeatureValueDestination) Reset() {
  1144  	*x = FeatureValueDestination{}
  1145  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[11]
  1146  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1147  	ms.StoreMessageInfo(mi)
  1148  }
  1149  
  1150  func (x *FeatureValueDestination) String() string {
  1151  	return protoimpl.X.MessageStringOf(x)
  1152  }
  1153  
  1154  func (*FeatureValueDestination) ProtoMessage() {}
  1155  
  1156  func (x *FeatureValueDestination) ProtoReflect() protoreflect.Message {
  1157  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[11]
  1158  	if x != nil {
  1159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1160  		if ms.LoadMessageInfo() == nil {
  1161  			ms.StoreMessageInfo(mi)
  1162  		}
  1163  		return ms
  1164  	}
  1165  	return mi.MessageOf(x)
  1166  }
  1167  
  1168  // Deprecated: Use FeatureValueDestination.ProtoReflect.Descriptor instead.
  1169  func (*FeatureValueDestination) Descriptor() ([]byte, []int) {
  1170  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{11}
  1171  }
  1172  
  1173  func (m *FeatureValueDestination) GetDestination() isFeatureValueDestination_Destination {
  1174  	if m != nil {
  1175  		return m.Destination
  1176  	}
  1177  	return nil
  1178  }
  1179  
  1180  func (x *FeatureValueDestination) GetBigqueryDestination() *BigQueryDestination {
  1181  	if x, ok := x.GetDestination().(*FeatureValueDestination_BigqueryDestination); ok {
  1182  		return x.BigqueryDestination
  1183  	}
  1184  	return nil
  1185  }
  1186  
  1187  func (x *FeatureValueDestination) GetTfrecordDestination() *TFRecordDestination {
  1188  	if x, ok := x.GetDestination().(*FeatureValueDestination_TfrecordDestination); ok {
  1189  		return x.TfrecordDestination
  1190  	}
  1191  	return nil
  1192  }
  1193  
  1194  func (x *FeatureValueDestination) GetCsvDestination() *CsvDestination {
  1195  	if x, ok := x.GetDestination().(*FeatureValueDestination_CsvDestination); ok {
  1196  		return x.CsvDestination
  1197  	}
  1198  	return nil
  1199  }
  1200  
  1201  type isFeatureValueDestination_Destination interface {
  1202  	isFeatureValueDestination_Destination()
  1203  }
  1204  
  1205  type FeatureValueDestination_BigqueryDestination struct {
  1206  	// Output in BigQuery format.
  1207  	// [BigQueryDestination.output_uri][google.cloud.aiplatform.v1.BigQueryDestination.output_uri]
  1208  	// in
  1209  	// [FeatureValueDestination.bigquery_destination][google.cloud.aiplatform.v1.FeatureValueDestination.bigquery_destination]
  1210  	// must refer to a table.
  1211  	BigqueryDestination *BigQueryDestination `protobuf:"bytes,1,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"`
  1212  }
  1213  
  1214  type FeatureValueDestination_TfrecordDestination struct {
  1215  	// Output in TFRecord format.
  1216  	//
  1217  	// Below are the mapping from Feature value type
  1218  	// in Featurestore to Feature value type in TFRecord:
  1219  	//
  1220  	//	Value type in Featurestore                 | Value type in TFRecord
  1221  	//	DOUBLE, DOUBLE_ARRAY                       | FLOAT_LIST
  1222  	//	INT64, INT64_ARRAY                         | INT64_LIST
  1223  	//	STRING, STRING_ARRAY, BYTES                | BYTES_LIST
  1224  	//	true -> byte_string("true"), false -> byte_string("false")
  1225  	//	BOOL, BOOL_ARRAY (true, false)             | BYTES_LIST
  1226  	TfrecordDestination *TFRecordDestination `protobuf:"bytes,2,opt,name=tfrecord_destination,json=tfrecordDestination,proto3,oneof"`
  1227  }
  1228  
  1229  type FeatureValueDestination_CsvDestination struct {
  1230  	// Output in CSV format. Array Feature value types are not allowed in CSV
  1231  	// format.
  1232  	CsvDestination *CsvDestination `protobuf:"bytes,3,opt,name=csv_destination,json=csvDestination,proto3,oneof"`
  1233  }
  1234  
  1235  func (*FeatureValueDestination_BigqueryDestination) isFeatureValueDestination_Destination() {}
  1236  
  1237  func (*FeatureValueDestination_TfrecordDestination) isFeatureValueDestination_Destination() {}
  1238  
  1239  func (*FeatureValueDestination_CsvDestination) isFeatureValueDestination_Destination() {}
  1240  
  1241  // Response message for
  1242  // [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues].
  1243  type ExportFeatureValuesResponse struct {
  1244  	state         protoimpl.MessageState
  1245  	sizeCache     protoimpl.SizeCache
  1246  	unknownFields protoimpl.UnknownFields
  1247  }
  1248  
  1249  func (x *ExportFeatureValuesResponse) Reset() {
  1250  	*x = ExportFeatureValuesResponse{}
  1251  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[12]
  1252  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1253  	ms.StoreMessageInfo(mi)
  1254  }
  1255  
  1256  func (x *ExportFeatureValuesResponse) String() string {
  1257  	return protoimpl.X.MessageStringOf(x)
  1258  }
  1259  
  1260  func (*ExportFeatureValuesResponse) ProtoMessage() {}
  1261  
  1262  func (x *ExportFeatureValuesResponse) ProtoReflect() protoreflect.Message {
  1263  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[12]
  1264  	if x != nil {
  1265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1266  		if ms.LoadMessageInfo() == nil {
  1267  			ms.StoreMessageInfo(mi)
  1268  		}
  1269  		return ms
  1270  	}
  1271  	return mi.MessageOf(x)
  1272  }
  1273  
  1274  // Deprecated: Use ExportFeatureValuesResponse.ProtoReflect.Descriptor instead.
  1275  func (*ExportFeatureValuesResponse) Descriptor() ([]byte, []int) {
  1276  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{12}
  1277  }
  1278  
  1279  // Response message for
  1280  // [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues].
  1281  type BatchReadFeatureValuesResponse struct {
  1282  	state         protoimpl.MessageState
  1283  	sizeCache     protoimpl.SizeCache
  1284  	unknownFields protoimpl.UnknownFields
  1285  }
  1286  
  1287  func (x *BatchReadFeatureValuesResponse) Reset() {
  1288  	*x = BatchReadFeatureValuesResponse{}
  1289  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[13]
  1290  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1291  	ms.StoreMessageInfo(mi)
  1292  }
  1293  
  1294  func (x *BatchReadFeatureValuesResponse) String() string {
  1295  	return protoimpl.X.MessageStringOf(x)
  1296  }
  1297  
  1298  func (*BatchReadFeatureValuesResponse) ProtoMessage() {}
  1299  
  1300  func (x *BatchReadFeatureValuesResponse) ProtoReflect() protoreflect.Message {
  1301  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[13]
  1302  	if x != nil {
  1303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1304  		if ms.LoadMessageInfo() == nil {
  1305  			ms.StoreMessageInfo(mi)
  1306  		}
  1307  		return ms
  1308  	}
  1309  	return mi.MessageOf(x)
  1310  }
  1311  
  1312  // Deprecated: Use BatchReadFeatureValuesResponse.ProtoReflect.Descriptor instead.
  1313  func (*BatchReadFeatureValuesResponse) Descriptor() ([]byte, []int) {
  1314  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{13}
  1315  }
  1316  
  1317  // Request message for
  1318  // [FeaturestoreService.CreateEntityType][google.cloud.aiplatform.v1.FeaturestoreService.CreateEntityType].
  1319  type CreateEntityTypeRequest struct {
  1320  	state         protoimpl.MessageState
  1321  	sizeCache     protoimpl.SizeCache
  1322  	unknownFields protoimpl.UnknownFields
  1323  
  1324  	// Required. The resource name of the Featurestore to create EntityTypes.
  1325  	// Format:
  1326  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
  1327  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1328  	// The EntityType to create.
  1329  	EntityType *EntityType `protobuf:"bytes,2,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
  1330  	// Required. The ID to use for the EntityType, which will become the final
  1331  	// component of the EntityType's resource name.
  1332  	//
  1333  	// This value may be up to 60 characters, and valid characters are
  1334  	// `[a-z0-9_]`. The first character cannot be a number.
  1335  	//
  1336  	// The value must be unique within a featurestore.
  1337  	EntityTypeId string `protobuf:"bytes,3,opt,name=entity_type_id,json=entityTypeId,proto3" json:"entity_type_id,omitempty"`
  1338  }
  1339  
  1340  func (x *CreateEntityTypeRequest) Reset() {
  1341  	*x = CreateEntityTypeRequest{}
  1342  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[14]
  1343  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1344  	ms.StoreMessageInfo(mi)
  1345  }
  1346  
  1347  func (x *CreateEntityTypeRequest) String() string {
  1348  	return protoimpl.X.MessageStringOf(x)
  1349  }
  1350  
  1351  func (*CreateEntityTypeRequest) ProtoMessage() {}
  1352  
  1353  func (x *CreateEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1354  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[14]
  1355  	if x != nil {
  1356  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1357  		if ms.LoadMessageInfo() == nil {
  1358  			ms.StoreMessageInfo(mi)
  1359  		}
  1360  		return ms
  1361  	}
  1362  	return mi.MessageOf(x)
  1363  }
  1364  
  1365  // Deprecated: Use CreateEntityTypeRequest.ProtoReflect.Descriptor instead.
  1366  func (*CreateEntityTypeRequest) Descriptor() ([]byte, []int) {
  1367  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{14}
  1368  }
  1369  
  1370  func (x *CreateEntityTypeRequest) GetParent() string {
  1371  	if x != nil {
  1372  		return x.Parent
  1373  	}
  1374  	return ""
  1375  }
  1376  
  1377  func (x *CreateEntityTypeRequest) GetEntityType() *EntityType {
  1378  	if x != nil {
  1379  		return x.EntityType
  1380  	}
  1381  	return nil
  1382  }
  1383  
  1384  func (x *CreateEntityTypeRequest) GetEntityTypeId() string {
  1385  	if x != nil {
  1386  		return x.EntityTypeId
  1387  	}
  1388  	return ""
  1389  }
  1390  
  1391  // Request message for
  1392  // [FeaturestoreService.GetEntityType][google.cloud.aiplatform.v1.FeaturestoreService.GetEntityType].
  1393  type GetEntityTypeRequest struct {
  1394  	state         protoimpl.MessageState
  1395  	sizeCache     protoimpl.SizeCache
  1396  	unknownFields protoimpl.UnknownFields
  1397  
  1398  	// Required. The name of the EntityType resource.
  1399  	// Format:
  1400  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1401  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1402  }
  1403  
  1404  func (x *GetEntityTypeRequest) Reset() {
  1405  	*x = GetEntityTypeRequest{}
  1406  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[15]
  1407  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1408  	ms.StoreMessageInfo(mi)
  1409  }
  1410  
  1411  func (x *GetEntityTypeRequest) String() string {
  1412  	return protoimpl.X.MessageStringOf(x)
  1413  }
  1414  
  1415  func (*GetEntityTypeRequest) ProtoMessage() {}
  1416  
  1417  func (x *GetEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1418  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[15]
  1419  	if x != nil {
  1420  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1421  		if ms.LoadMessageInfo() == nil {
  1422  			ms.StoreMessageInfo(mi)
  1423  		}
  1424  		return ms
  1425  	}
  1426  	return mi.MessageOf(x)
  1427  }
  1428  
  1429  // Deprecated: Use GetEntityTypeRequest.ProtoReflect.Descriptor instead.
  1430  func (*GetEntityTypeRequest) Descriptor() ([]byte, []int) {
  1431  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{15}
  1432  }
  1433  
  1434  func (x *GetEntityTypeRequest) GetName() string {
  1435  	if x != nil {
  1436  		return x.Name
  1437  	}
  1438  	return ""
  1439  }
  1440  
  1441  // Request message for
  1442  // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes].
  1443  type ListEntityTypesRequest struct {
  1444  	state         protoimpl.MessageState
  1445  	sizeCache     protoimpl.SizeCache
  1446  	unknownFields protoimpl.UnknownFields
  1447  
  1448  	// Required. The resource name of the Featurestore to list EntityTypes.
  1449  	// Format:
  1450  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
  1451  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1452  	// Lists the EntityTypes that match the filter expression. The following
  1453  	// filters are supported:
  1454  	//
  1455  	// * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons.
  1456  	// Values must be in RFC 3339 format.
  1457  	// * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons.
  1458  	// Values must be in RFC 3339 format.
  1459  	// * `labels`: Supports key-value equality as well as key presence.
  1460  	//
  1461  	// Examples:
  1462  	//
  1463  	//   - `create_time > \"2020-01-31T15:30:00.000000Z\" OR
  1464  	//     update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
  1465  	//     or updated after 2020-01-31T15:30:00.000000Z.
  1466  	//   - `labels.active = yes AND labels.env = prod` --> EntityTypes having both
  1467  	//     (active: yes) and (env: prod) labels.
  1468  	//   - `labels.env: *` --> Any EntityType which has a label with 'env' as the
  1469  	//     key.
  1470  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  1471  	// The maximum number of EntityTypes to return. The service may return fewer
  1472  	// than this value. If unspecified, at most 1000 EntityTypes will be returned.
  1473  	// The maximum value is 1000; any value greater than 1000 will be coerced to
  1474  	// 1000.
  1475  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1476  	// A page token, received from a previous
  1477  	// [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes]
  1478  	// call. Provide this to retrieve the subsequent page.
  1479  	//
  1480  	// When paginating, all other parameters provided to
  1481  	// [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes]
  1482  	// must match the call that provided the page token.
  1483  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1484  	// A comma-separated list of fields to order by, sorted in ascending order.
  1485  	// Use "desc" after a field name for descending.
  1486  	//
  1487  	// Supported fields:
  1488  	//
  1489  	//   - `entity_type_id`
  1490  	//   - `create_time`
  1491  	//   - `update_time`
  1492  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
  1493  	// Mask specifying which fields to read.
  1494  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
  1495  }
  1496  
  1497  func (x *ListEntityTypesRequest) Reset() {
  1498  	*x = ListEntityTypesRequest{}
  1499  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[16]
  1500  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1501  	ms.StoreMessageInfo(mi)
  1502  }
  1503  
  1504  func (x *ListEntityTypesRequest) String() string {
  1505  	return protoimpl.X.MessageStringOf(x)
  1506  }
  1507  
  1508  func (*ListEntityTypesRequest) ProtoMessage() {}
  1509  
  1510  func (x *ListEntityTypesRequest) ProtoReflect() protoreflect.Message {
  1511  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[16]
  1512  	if x != nil {
  1513  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1514  		if ms.LoadMessageInfo() == nil {
  1515  			ms.StoreMessageInfo(mi)
  1516  		}
  1517  		return ms
  1518  	}
  1519  	return mi.MessageOf(x)
  1520  }
  1521  
  1522  // Deprecated: Use ListEntityTypesRequest.ProtoReflect.Descriptor instead.
  1523  func (*ListEntityTypesRequest) Descriptor() ([]byte, []int) {
  1524  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{16}
  1525  }
  1526  
  1527  func (x *ListEntityTypesRequest) GetParent() string {
  1528  	if x != nil {
  1529  		return x.Parent
  1530  	}
  1531  	return ""
  1532  }
  1533  
  1534  func (x *ListEntityTypesRequest) GetFilter() string {
  1535  	if x != nil {
  1536  		return x.Filter
  1537  	}
  1538  	return ""
  1539  }
  1540  
  1541  func (x *ListEntityTypesRequest) GetPageSize() int32 {
  1542  	if x != nil {
  1543  		return x.PageSize
  1544  	}
  1545  	return 0
  1546  }
  1547  
  1548  func (x *ListEntityTypesRequest) GetPageToken() string {
  1549  	if x != nil {
  1550  		return x.PageToken
  1551  	}
  1552  	return ""
  1553  }
  1554  
  1555  func (x *ListEntityTypesRequest) GetOrderBy() string {
  1556  	if x != nil {
  1557  		return x.OrderBy
  1558  	}
  1559  	return ""
  1560  }
  1561  
  1562  func (x *ListEntityTypesRequest) GetReadMask() *fieldmaskpb.FieldMask {
  1563  	if x != nil {
  1564  		return x.ReadMask
  1565  	}
  1566  	return nil
  1567  }
  1568  
  1569  // Response message for
  1570  // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes].
  1571  type ListEntityTypesResponse struct {
  1572  	state         protoimpl.MessageState
  1573  	sizeCache     protoimpl.SizeCache
  1574  	unknownFields protoimpl.UnknownFields
  1575  
  1576  	// The EntityTypes matching the request.
  1577  	EntityTypes []*EntityType `protobuf:"bytes,1,rep,name=entity_types,json=entityTypes,proto3" json:"entity_types,omitempty"`
  1578  	// A token, which can be sent as
  1579  	// [ListEntityTypesRequest.page_token][google.cloud.aiplatform.v1.ListEntityTypesRequest.page_token]
  1580  	// to retrieve the next page. If this field is omitted, there are no
  1581  	// subsequent pages.
  1582  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1583  }
  1584  
  1585  func (x *ListEntityTypesResponse) Reset() {
  1586  	*x = ListEntityTypesResponse{}
  1587  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[17]
  1588  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1589  	ms.StoreMessageInfo(mi)
  1590  }
  1591  
  1592  func (x *ListEntityTypesResponse) String() string {
  1593  	return protoimpl.X.MessageStringOf(x)
  1594  }
  1595  
  1596  func (*ListEntityTypesResponse) ProtoMessage() {}
  1597  
  1598  func (x *ListEntityTypesResponse) ProtoReflect() protoreflect.Message {
  1599  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[17]
  1600  	if x != nil {
  1601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1602  		if ms.LoadMessageInfo() == nil {
  1603  			ms.StoreMessageInfo(mi)
  1604  		}
  1605  		return ms
  1606  	}
  1607  	return mi.MessageOf(x)
  1608  }
  1609  
  1610  // Deprecated: Use ListEntityTypesResponse.ProtoReflect.Descriptor instead.
  1611  func (*ListEntityTypesResponse) Descriptor() ([]byte, []int) {
  1612  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{17}
  1613  }
  1614  
  1615  func (x *ListEntityTypesResponse) GetEntityTypes() []*EntityType {
  1616  	if x != nil {
  1617  		return x.EntityTypes
  1618  	}
  1619  	return nil
  1620  }
  1621  
  1622  func (x *ListEntityTypesResponse) GetNextPageToken() string {
  1623  	if x != nil {
  1624  		return x.NextPageToken
  1625  	}
  1626  	return ""
  1627  }
  1628  
  1629  // Request message for
  1630  // [FeaturestoreService.UpdateEntityType][google.cloud.aiplatform.v1.FeaturestoreService.UpdateEntityType].
  1631  type UpdateEntityTypeRequest struct {
  1632  	state         protoimpl.MessageState
  1633  	sizeCache     protoimpl.SizeCache
  1634  	unknownFields protoimpl.UnknownFields
  1635  
  1636  	// Required. The EntityType's `name` field is used to identify the EntityType
  1637  	// to be updated. Format:
  1638  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1639  	EntityType *EntityType `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
  1640  	// Field mask is used to specify the fields to be overwritten in the
  1641  	// EntityType resource by the update.
  1642  	// The fields specified in the update_mask are relative to the resource, not
  1643  	// the full request. A field will be overwritten if it is in the mask. If the
  1644  	// user does not provide a mask then only the non-empty fields present in the
  1645  	// request will be overwritten. Set the update_mask to `*` to override all
  1646  	// fields.
  1647  	//
  1648  	// Updatable fields:
  1649  	//
  1650  	//   - `description`
  1651  	//   - `labels`
  1652  	//   - `monitoring_config.snapshot_analysis.disabled`
  1653  	//   - `monitoring_config.snapshot_analysis.monitoring_interval_days`
  1654  	//   - `monitoring_config.snapshot_analysis.staleness_days`
  1655  	//   - `monitoring_config.import_features_analysis.state`
  1656  	//   - `monitoring_config.import_features_analysis.anomaly_detection_baseline`
  1657  	//   - `monitoring_config.numerical_threshold_config.value`
  1658  	//   - `monitoring_config.categorical_threshold_config.value`
  1659  	//   - `offline_storage_ttl_days`
  1660  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  1661  }
  1662  
  1663  func (x *UpdateEntityTypeRequest) Reset() {
  1664  	*x = UpdateEntityTypeRequest{}
  1665  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[18]
  1666  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1667  	ms.StoreMessageInfo(mi)
  1668  }
  1669  
  1670  func (x *UpdateEntityTypeRequest) String() string {
  1671  	return protoimpl.X.MessageStringOf(x)
  1672  }
  1673  
  1674  func (*UpdateEntityTypeRequest) ProtoMessage() {}
  1675  
  1676  func (x *UpdateEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1677  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[18]
  1678  	if x != nil {
  1679  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1680  		if ms.LoadMessageInfo() == nil {
  1681  			ms.StoreMessageInfo(mi)
  1682  		}
  1683  		return ms
  1684  	}
  1685  	return mi.MessageOf(x)
  1686  }
  1687  
  1688  // Deprecated: Use UpdateEntityTypeRequest.ProtoReflect.Descriptor instead.
  1689  func (*UpdateEntityTypeRequest) Descriptor() ([]byte, []int) {
  1690  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{18}
  1691  }
  1692  
  1693  func (x *UpdateEntityTypeRequest) GetEntityType() *EntityType {
  1694  	if x != nil {
  1695  		return x.EntityType
  1696  	}
  1697  	return nil
  1698  }
  1699  
  1700  func (x *UpdateEntityTypeRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  1701  	if x != nil {
  1702  		return x.UpdateMask
  1703  	}
  1704  	return nil
  1705  }
  1706  
  1707  // Request message for
  1708  // [FeaturestoreService.DeleteEntityType][google.cloud.aiplatform.v1.FeaturestoreService.DeleteEntityType].
  1709  type DeleteEntityTypeRequest struct {
  1710  	state         protoimpl.MessageState
  1711  	sizeCache     protoimpl.SizeCache
  1712  	unknownFields protoimpl.UnknownFields
  1713  
  1714  	// Required. The name of the EntityType to be deleted.
  1715  	// Format:
  1716  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1717  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1718  	// If set to true, any Features for this EntityType will also be deleted.
  1719  	// (Otherwise, the request will only work if the EntityType has no Features.)
  1720  	Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
  1721  }
  1722  
  1723  func (x *DeleteEntityTypeRequest) Reset() {
  1724  	*x = DeleteEntityTypeRequest{}
  1725  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[19]
  1726  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1727  	ms.StoreMessageInfo(mi)
  1728  }
  1729  
  1730  func (x *DeleteEntityTypeRequest) String() string {
  1731  	return protoimpl.X.MessageStringOf(x)
  1732  }
  1733  
  1734  func (*DeleteEntityTypeRequest) ProtoMessage() {}
  1735  
  1736  func (x *DeleteEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1737  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[19]
  1738  	if x != nil {
  1739  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1740  		if ms.LoadMessageInfo() == nil {
  1741  			ms.StoreMessageInfo(mi)
  1742  		}
  1743  		return ms
  1744  	}
  1745  	return mi.MessageOf(x)
  1746  }
  1747  
  1748  // Deprecated: Use DeleteEntityTypeRequest.ProtoReflect.Descriptor instead.
  1749  func (*DeleteEntityTypeRequest) Descriptor() ([]byte, []int) {
  1750  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{19}
  1751  }
  1752  
  1753  func (x *DeleteEntityTypeRequest) GetName() string {
  1754  	if x != nil {
  1755  		return x.Name
  1756  	}
  1757  	return ""
  1758  }
  1759  
  1760  func (x *DeleteEntityTypeRequest) GetForce() bool {
  1761  	if x != nil {
  1762  		return x.Force
  1763  	}
  1764  	return false
  1765  }
  1766  
  1767  // Request message for
  1768  // [FeaturestoreService.CreateFeature][google.cloud.aiplatform.v1.FeaturestoreService.CreateFeature].
  1769  // Request message for
  1770  // [FeatureRegistryService.CreateFeature][google.cloud.aiplatform.v1.FeatureRegistryService.CreateFeature].
  1771  type CreateFeatureRequest struct {
  1772  	state         protoimpl.MessageState
  1773  	sizeCache     protoimpl.SizeCache
  1774  	unknownFields protoimpl.UnknownFields
  1775  
  1776  	// Required. The resource name of the EntityType or FeatureGroup to create a
  1777  	// Feature. Format for entity_type as parent:
  1778  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1779  	// Format for feature_group as parent:
  1780  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  1781  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1782  	// Required. The Feature to create.
  1783  	Feature *Feature `protobuf:"bytes,2,opt,name=feature,proto3" json:"feature,omitempty"`
  1784  	// Required. The ID to use for the Feature, which will become the final
  1785  	// component of the Feature's resource name.
  1786  	//
  1787  	// This value may be up to 128 characters, and valid characters are
  1788  	// `[a-z0-9_]`. The first character cannot be a number.
  1789  	//
  1790  	// The value must be unique within an EntityType/FeatureGroup.
  1791  	FeatureId string `protobuf:"bytes,3,opt,name=feature_id,json=featureId,proto3" json:"feature_id,omitempty"`
  1792  }
  1793  
  1794  func (x *CreateFeatureRequest) Reset() {
  1795  	*x = CreateFeatureRequest{}
  1796  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[20]
  1797  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1798  	ms.StoreMessageInfo(mi)
  1799  }
  1800  
  1801  func (x *CreateFeatureRequest) String() string {
  1802  	return protoimpl.X.MessageStringOf(x)
  1803  }
  1804  
  1805  func (*CreateFeatureRequest) ProtoMessage() {}
  1806  
  1807  func (x *CreateFeatureRequest) ProtoReflect() protoreflect.Message {
  1808  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[20]
  1809  	if x != nil {
  1810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1811  		if ms.LoadMessageInfo() == nil {
  1812  			ms.StoreMessageInfo(mi)
  1813  		}
  1814  		return ms
  1815  	}
  1816  	return mi.MessageOf(x)
  1817  }
  1818  
  1819  // Deprecated: Use CreateFeatureRequest.ProtoReflect.Descriptor instead.
  1820  func (*CreateFeatureRequest) Descriptor() ([]byte, []int) {
  1821  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{20}
  1822  }
  1823  
  1824  func (x *CreateFeatureRequest) GetParent() string {
  1825  	if x != nil {
  1826  		return x.Parent
  1827  	}
  1828  	return ""
  1829  }
  1830  
  1831  func (x *CreateFeatureRequest) GetFeature() *Feature {
  1832  	if x != nil {
  1833  		return x.Feature
  1834  	}
  1835  	return nil
  1836  }
  1837  
  1838  func (x *CreateFeatureRequest) GetFeatureId() string {
  1839  	if x != nil {
  1840  		return x.FeatureId
  1841  	}
  1842  	return ""
  1843  }
  1844  
  1845  // Request message for
  1846  // [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures].
  1847  // Request message for
  1848  // [FeatureRegistryService.BatchCreateFeatures][google.cloud.aiplatform.v1.FeatureRegistryService.BatchCreateFeatures].
  1849  type BatchCreateFeaturesRequest struct {
  1850  	state         protoimpl.MessageState
  1851  	sizeCache     protoimpl.SizeCache
  1852  	unknownFields protoimpl.UnknownFields
  1853  
  1854  	// Required. The resource name of the EntityType/FeatureGroup to create the
  1855  	// batch of Features under. Format:
  1856  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1857  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  1858  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1859  	// Required. The request message specifying the Features to create. All
  1860  	// Features must be created under the same parent EntityType / FeatureGroup.
  1861  	// The `parent` field in each child request message can be omitted. If
  1862  	// `parent` is set in a child request, then the value must match the `parent`
  1863  	// value in this request message.
  1864  	Requests []*CreateFeatureRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"`
  1865  }
  1866  
  1867  func (x *BatchCreateFeaturesRequest) Reset() {
  1868  	*x = BatchCreateFeaturesRequest{}
  1869  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[21]
  1870  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1871  	ms.StoreMessageInfo(mi)
  1872  }
  1873  
  1874  func (x *BatchCreateFeaturesRequest) String() string {
  1875  	return protoimpl.X.MessageStringOf(x)
  1876  }
  1877  
  1878  func (*BatchCreateFeaturesRequest) ProtoMessage() {}
  1879  
  1880  func (x *BatchCreateFeaturesRequest) ProtoReflect() protoreflect.Message {
  1881  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[21]
  1882  	if x != nil {
  1883  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1884  		if ms.LoadMessageInfo() == nil {
  1885  			ms.StoreMessageInfo(mi)
  1886  		}
  1887  		return ms
  1888  	}
  1889  	return mi.MessageOf(x)
  1890  }
  1891  
  1892  // Deprecated: Use BatchCreateFeaturesRequest.ProtoReflect.Descriptor instead.
  1893  func (*BatchCreateFeaturesRequest) Descriptor() ([]byte, []int) {
  1894  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{21}
  1895  }
  1896  
  1897  func (x *BatchCreateFeaturesRequest) GetParent() string {
  1898  	if x != nil {
  1899  		return x.Parent
  1900  	}
  1901  	return ""
  1902  }
  1903  
  1904  func (x *BatchCreateFeaturesRequest) GetRequests() []*CreateFeatureRequest {
  1905  	if x != nil {
  1906  		return x.Requests
  1907  	}
  1908  	return nil
  1909  }
  1910  
  1911  // Response message for
  1912  // [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures].
  1913  type BatchCreateFeaturesResponse struct {
  1914  	state         protoimpl.MessageState
  1915  	sizeCache     protoimpl.SizeCache
  1916  	unknownFields protoimpl.UnknownFields
  1917  
  1918  	// The Features created.
  1919  	Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"`
  1920  }
  1921  
  1922  func (x *BatchCreateFeaturesResponse) Reset() {
  1923  	*x = BatchCreateFeaturesResponse{}
  1924  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[22]
  1925  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1926  	ms.StoreMessageInfo(mi)
  1927  }
  1928  
  1929  func (x *BatchCreateFeaturesResponse) String() string {
  1930  	return protoimpl.X.MessageStringOf(x)
  1931  }
  1932  
  1933  func (*BatchCreateFeaturesResponse) ProtoMessage() {}
  1934  
  1935  func (x *BatchCreateFeaturesResponse) ProtoReflect() protoreflect.Message {
  1936  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[22]
  1937  	if x != nil {
  1938  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1939  		if ms.LoadMessageInfo() == nil {
  1940  			ms.StoreMessageInfo(mi)
  1941  		}
  1942  		return ms
  1943  	}
  1944  	return mi.MessageOf(x)
  1945  }
  1946  
  1947  // Deprecated: Use BatchCreateFeaturesResponse.ProtoReflect.Descriptor instead.
  1948  func (*BatchCreateFeaturesResponse) Descriptor() ([]byte, []int) {
  1949  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{22}
  1950  }
  1951  
  1952  func (x *BatchCreateFeaturesResponse) GetFeatures() []*Feature {
  1953  	if x != nil {
  1954  		return x.Features
  1955  	}
  1956  	return nil
  1957  }
  1958  
  1959  // Request message for
  1960  // [FeaturestoreService.GetFeature][google.cloud.aiplatform.v1.FeaturestoreService.GetFeature].
  1961  // Request message for
  1962  // [FeatureRegistryService.GetFeature][google.cloud.aiplatform.v1.FeatureRegistryService.GetFeature].
  1963  type GetFeatureRequest struct {
  1964  	state         protoimpl.MessageState
  1965  	sizeCache     protoimpl.SizeCache
  1966  	unknownFields protoimpl.UnknownFields
  1967  
  1968  	// Required. The name of the Feature resource.
  1969  	// Format for entity_type as parent:
  1970  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1971  	// Format for feature_group as parent:
  1972  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  1973  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1974  }
  1975  
  1976  func (x *GetFeatureRequest) Reset() {
  1977  	*x = GetFeatureRequest{}
  1978  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[23]
  1979  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1980  	ms.StoreMessageInfo(mi)
  1981  }
  1982  
  1983  func (x *GetFeatureRequest) String() string {
  1984  	return protoimpl.X.MessageStringOf(x)
  1985  }
  1986  
  1987  func (*GetFeatureRequest) ProtoMessage() {}
  1988  
  1989  func (x *GetFeatureRequest) ProtoReflect() protoreflect.Message {
  1990  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[23]
  1991  	if x != nil {
  1992  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1993  		if ms.LoadMessageInfo() == nil {
  1994  			ms.StoreMessageInfo(mi)
  1995  		}
  1996  		return ms
  1997  	}
  1998  	return mi.MessageOf(x)
  1999  }
  2000  
  2001  // Deprecated: Use GetFeatureRequest.ProtoReflect.Descriptor instead.
  2002  func (*GetFeatureRequest) Descriptor() ([]byte, []int) {
  2003  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{23}
  2004  }
  2005  
  2006  func (x *GetFeatureRequest) GetName() string {
  2007  	if x != nil {
  2008  		return x.Name
  2009  	}
  2010  	return ""
  2011  }
  2012  
  2013  // Request message for
  2014  // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures].
  2015  // Request message for
  2016  // [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1.FeatureRegistryService.ListFeatures].
  2017  type ListFeaturesRequest struct {
  2018  	state         protoimpl.MessageState
  2019  	sizeCache     protoimpl.SizeCache
  2020  	unknownFields protoimpl.UnknownFields
  2021  
  2022  	// Required. The resource name of the Location to list Features.
  2023  	// Format for entity_type as parent:
  2024  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  2025  	// Format for feature_group as parent:
  2026  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  2027  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2028  	// Lists the Features that match the filter expression. The following
  2029  	// filters are supported:
  2030  	//
  2031  	// * `value_type`: Supports = and != comparisons.
  2032  	// * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
  2033  	// be in RFC 3339 format.
  2034  	// * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
  2035  	// be in RFC 3339 format.
  2036  	// * `labels`: Supports key-value equality as well as key presence.
  2037  	//
  2038  	// Examples:
  2039  	//
  2040  	//   - `value_type = DOUBLE` --> Features whose type is DOUBLE.
  2041  	//   - `create_time > \"2020-01-31T15:30:00.000000Z\" OR
  2042  	//     update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
  2043  	//     or updated after 2020-01-31T15:30:00.000000Z.
  2044  	//   - `labels.active = yes AND labels.env = prod` --> Features having both
  2045  	//     (active: yes) and (env: prod) labels.
  2046  	//   - `labels.env: *` --> Any Feature which has a label with 'env' as the
  2047  	//     key.
  2048  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2049  	// The maximum number of Features to return. The service may return fewer
  2050  	// than this value. If unspecified, at most 1000 Features will be returned.
  2051  	// The maximum value is 1000; any value greater than 1000 will be coerced to
  2052  	// 1000.
  2053  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2054  	// A page token, received from a previous
  2055  	// [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures]
  2056  	// call or
  2057  	// [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1.FeatureRegistryService.ListFeatures]
  2058  	// call. Provide this to retrieve the subsequent page.
  2059  	//
  2060  	// When paginating, all other parameters provided to
  2061  	// [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures]
  2062  	// or
  2063  	// [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1.FeatureRegistryService.ListFeatures]
  2064  	// must match the call that provided the page token.
  2065  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2066  	// A comma-separated list of fields to order by, sorted in ascending order.
  2067  	// Use "desc" after a field name for descending.
  2068  	// Supported fields:
  2069  	//
  2070  	//   - `feature_id`
  2071  	//   - `value_type` (Not supported for FeatureRegistry Feature)
  2072  	//   - `create_time`
  2073  	//   - `update_time`
  2074  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
  2075  	// Mask specifying which fields to read.
  2076  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
  2077  	// Only applicable for Vertex AI Feature Store (Legacy).
  2078  	// If set, return the most recent
  2079  	// [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1.ListFeaturesRequest.latest_stats_count]
  2080  	// of stats for each Feature in response. Valid value is [0, 10]. If number of
  2081  	// stats exists <
  2082  	// [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1.ListFeaturesRequest.latest_stats_count],
  2083  	// return all existing stats.
  2084  	LatestStatsCount int32 `protobuf:"varint,7,opt,name=latest_stats_count,json=latestStatsCount,proto3" json:"latest_stats_count,omitempty"`
  2085  }
  2086  
  2087  func (x *ListFeaturesRequest) Reset() {
  2088  	*x = ListFeaturesRequest{}
  2089  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[24]
  2090  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2091  	ms.StoreMessageInfo(mi)
  2092  }
  2093  
  2094  func (x *ListFeaturesRequest) String() string {
  2095  	return protoimpl.X.MessageStringOf(x)
  2096  }
  2097  
  2098  func (*ListFeaturesRequest) ProtoMessage() {}
  2099  
  2100  func (x *ListFeaturesRequest) ProtoReflect() protoreflect.Message {
  2101  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[24]
  2102  	if x != nil {
  2103  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2104  		if ms.LoadMessageInfo() == nil {
  2105  			ms.StoreMessageInfo(mi)
  2106  		}
  2107  		return ms
  2108  	}
  2109  	return mi.MessageOf(x)
  2110  }
  2111  
  2112  // Deprecated: Use ListFeaturesRequest.ProtoReflect.Descriptor instead.
  2113  func (*ListFeaturesRequest) Descriptor() ([]byte, []int) {
  2114  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{24}
  2115  }
  2116  
  2117  func (x *ListFeaturesRequest) GetParent() string {
  2118  	if x != nil {
  2119  		return x.Parent
  2120  	}
  2121  	return ""
  2122  }
  2123  
  2124  func (x *ListFeaturesRequest) GetFilter() string {
  2125  	if x != nil {
  2126  		return x.Filter
  2127  	}
  2128  	return ""
  2129  }
  2130  
  2131  func (x *ListFeaturesRequest) GetPageSize() int32 {
  2132  	if x != nil {
  2133  		return x.PageSize
  2134  	}
  2135  	return 0
  2136  }
  2137  
  2138  func (x *ListFeaturesRequest) GetPageToken() string {
  2139  	if x != nil {
  2140  		return x.PageToken
  2141  	}
  2142  	return ""
  2143  }
  2144  
  2145  func (x *ListFeaturesRequest) GetOrderBy() string {
  2146  	if x != nil {
  2147  		return x.OrderBy
  2148  	}
  2149  	return ""
  2150  }
  2151  
  2152  func (x *ListFeaturesRequest) GetReadMask() *fieldmaskpb.FieldMask {
  2153  	if x != nil {
  2154  		return x.ReadMask
  2155  	}
  2156  	return nil
  2157  }
  2158  
  2159  func (x *ListFeaturesRequest) GetLatestStatsCount() int32 {
  2160  	if x != nil {
  2161  		return x.LatestStatsCount
  2162  	}
  2163  	return 0
  2164  }
  2165  
  2166  // Response message for
  2167  // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures].
  2168  // Response message for
  2169  // [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1.FeatureRegistryService.ListFeatures].
  2170  type ListFeaturesResponse struct {
  2171  	state         protoimpl.MessageState
  2172  	sizeCache     protoimpl.SizeCache
  2173  	unknownFields protoimpl.UnknownFields
  2174  
  2175  	// The Features matching the request.
  2176  	Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"`
  2177  	// A token, which can be sent as
  2178  	// [ListFeaturesRequest.page_token][google.cloud.aiplatform.v1.ListFeaturesRequest.page_token]
  2179  	// to retrieve the next page. If this field is omitted, there are no
  2180  	// subsequent pages.
  2181  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2182  }
  2183  
  2184  func (x *ListFeaturesResponse) Reset() {
  2185  	*x = ListFeaturesResponse{}
  2186  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[25]
  2187  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2188  	ms.StoreMessageInfo(mi)
  2189  }
  2190  
  2191  func (x *ListFeaturesResponse) String() string {
  2192  	return protoimpl.X.MessageStringOf(x)
  2193  }
  2194  
  2195  func (*ListFeaturesResponse) ProtoMessage() {}
  2196  
  2197  func (x *ListFeaturesResponse) ProtoReflect() protoreflect.Message {
  2198  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[25]
  2199  	if x != nil {
  2200  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2201  		if ms.LoadMessageInfo() == nil {
  2202  			ms.StoreMessageInfo(mi)
  2203  		}
  2204  		return ms
  2205  	}
  2206  	return mi.MessageOf(x)
  2207  }
  2208  
  2209  // Deprecated: Use ListFeaturesResponse.ProtoReflect.Descriptor instead.
  2210  func (*ListFeaturesResponse) Descriptor() ([]byte, []int) {
  2211  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{25}
  2212  }
  2213  
  2214  func (x *ListFeaturesResponse) GetFeatures() []*Feature {
  2215  	if x != nil {
  2216  		return x.Features
  2217  	}
  2218  	return nil
  2219  }
  2220  
  2221  func (x *ListFeaturesResponse) GetNextPageToken() string {
  2222  	if x != nil {
  2223  		return x.NextPageToken
  2224  	}
  2225  	return ""
  2226  }
  2227  
  2228  // Request message for
  2229  // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures].
  2230  type SearchFeaturesRequest struct {
  2231  	state         protoimpl.MessageState
  2232  	sizeCache     protoimpl.SizeCache
  2233  	unknownFields protoimpl.UnknownFields
  2234  
  2235  	// Required. The resource name of the Location to search Features.
  2236  	// Format:
  2237  	// `projects/{project}/locations/{location}`
  2238  	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
  2239  	// Query string that is a conjunction of field-restricted queries and/or
  2240  	// field-restricted filters.  Field-restricted queries and filters can be
  2241  	// combined using `AND` to form a conjunction.
  2242  	//
  2243  	// A field query is in the form FIELD:QUERY. This implicitly checks if QUERY
  2244  	// exists as a substring within Feature's FIELD. The QUERY
  2245  	// and the FIELD are converted to a sequence of words (i.e. tokens) for
  2246  	// comparison. This is done by:
  2247  	//
  2248  	//   - Removing leading/trailing whitespace and tokenizing the search value.
  2249  	//     Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore
  2250  	//     `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated
  2251  	//     as a wildcard that matches characters within a token.
  2252  	//   - Ignoring case.
  2253  	//   - Prepending an asterisk to the first and appending an asterisk to the
  2254  	//     last token in QUERY.
  2255  	//
  2256  	// A QUERY must be either a singular token or a phrase. A phrase is one or
  2257  	// multiple words enclosed in double quotation marks ("). With phrases, the
  2258  	// order of the words is important. Words in the phrase must be matching in
  2259  	// order and consecutively.
  2260  	//
  2261  	// Supported FIELDs for field-restricted queries:
  2262  	//
  2263  	// * `feature_id`
  2264  	// * `description`
  2265  	// * `entity_type_id`
  2266  	//
  2267  	// Examples:
  2268  	//
  2269  	// * `feature_id: foo` --> Matches a Feature with ID containing the substring
  2270  	// `foo` (eg. `foo`, `foofeature`, `barfoo`).
  2271  	// * `feature_id: foo*feature` --> Matches a Feature with ID containing the
  2272  	// substring `foo*feature` (eg. `foobarfeature`).
  2273  	// * `feature_id: foo AND description: bar` --> Matches a Feature with ID
  2274  	// containing the substring `foo` and description containing the substring
  2275  	// `bar`.
  2276  	//
  2277  	// Besides field queries, the following exact-match filters are
  2278  	// supported. The exact-match filters do not support wildcards. Unlike
  2279  	// field-restricted queries, exact-match filters are case-sensitive.
  2280  	//
  2281  	// * `feature_id`: Supports = comparisons.
  2282  	// * `description`: Supports = comparisons. Multi-token filters should be
  2283  	// enclosed in quotes.
  2284  	// * `entity_type_id`: Supports = comparisons.
  2285  	// * `value_type`: Supports = and != comparisons.
  2286  	// * `labels`: Supports key-value equality as well as key presence.
  2287  	// * `featurestore_id`: Supports = comparisons.
  2288  	//
  2289  	// Examples:
  2290  	//
  2291  	// * `description = "foo bar"` --> Any Feature with description exactly equal
  2292  	// to `foo bar`
  2293  	//   - `value_type = DOUBLE` --> Features whose type is DOUBLE.
  2294  	//   - `labels.active = yes AND labels.env = prod` --> Features having both
  2295  	//     (active: yes) and (env: prod) labels.
  2296  	//   - `labels.env: *` --> Any Feature which has a label with `env` as the
  2297  	//     key.
  2298  	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
  2299  	// The maximum number of Features to return. The service may return fewer
  2300  	// than this value. If unspecified, at most 100 Features will be returned.
  2301  	// The maximum value is 100; any value greater than 100 will be coerced to
  2302  	// 100.
  2303  	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2304  	// A page token, received from a previous
  2305  	// [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures]
  2306  	// call. Provide this to retrieve the subsequent page.
  2307  	//
  2308  	// When paginating, all other parameters provided to
  2309  	// [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures],
  2310  	// except `page_size`, must match the call that provided the page token.
  2311  	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2312  }
  2313  
  2314  func (x *SearchFeaturesRequest) Reset() {
  2315  	*x = SearchFeaturesRequest{}
  2316  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[26]
  2317  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2318  	ms.StoreMessageInfo(mi)
  2319  }
  2320  
  2321  func (x *SearchFeaturesRequest) String() string {
  2322  	return protoimpl.X.MessageStringOf(x)
  2323  }
  2324  
  2325  func (*SearchFeaturesRequest) ProtoMessage() {}
  2326  
  2327  func (x *SearchFeaturesRequest) ProtoReflect() protoreflect.Message {
  2328  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[26]
  2329  	if x != nil {
  2330  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2331  		if ms.LoadMessageInfo() == nil {
  2332  			ms.StoreMessageInfo(mi)
  2333  		}
  2334  		return ms
  2335  	}
  2336  	return mi.MessageOf(x)
  2337  }
  2338  
  2339  // Deprecated: Use SearchFeaturesRequest.ProtoReflect.Descriptor instead.
  2340  func (*SearchFeaturesRequest) Descriptor() ([]byte, []int) {
  2341  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{26}
  2342  }
  2343  
  2344  func (x *SearchFeaturesRequest) GetLocation() string {
  2345  	if x != nil {
  2346  		return x.Location
  2347  	}
  2348  	return ""
  2349  }
  2350  
  2351  func (x *SearchFeaturesRequest) GetQuery() string {
  2352  	if x != nil {
  2353  		return x.Query
  2354  	}
  2355  	return ""
  2356  }
  2357  
  2358  func (x *SearchFeaturesRequest) GetPageSize() int32 {
  2359  	if x != nil {
  2360  		return x.PageSize
  2361  	}
  2362  	return 0
  2363  }
  2364  
  2365  func (x *SearchFeaturesRequest) GetPageToken() string {
  2366  	if x != nil {
  2367  		return x.PageToken
  2368  	}
  2369  	return ""
  2370  }
  2371  
  2372  // Response message for
  2373  // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures].
  2374  type SearchFeaturesResponse struct {
  2375  	state         protoimpl.MessageState
  2376  	sizeCache     protoimpl.SizeCache
  2377  	unknownFields protoimpl.UnknownFields
  2378  
  2379  	// The Features matching the request.
  2380  	//
  2381  	// Fields returned:
  2382  	//
  2383  	//   - `name`
  2384  	//   - `description`
  2385  	//   - `labels`
  2386  	//   - `create_time`
  2387  	//   - `update_time`
  2388  	Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"`
  2389  	// A token, which can be sent as
  2390  	// [SearchFeaturesRequest.page_token][google.cloud.aiplatform.v1.SearchFeaturesRequest.page_token]
  2391  	// to retrieve the next page. If this field is omitted, there are no
  2392  	// subsequent pages.
  2393  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2394  }
  2395  
  2396  func (x *SearchFeaturesResponse) Reset() {
  2397  	*x = SearchFeaturesResponse{}
  2398  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[27]
  2399  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2400  	ms.StoreMessageInfo(mi)
  2401  }
  2402  
  2403  func (x *SearchFeaturesResponse) String() string {
  2404  	return protoimpl.X.MessageStringOf(x)
  2405  }
  2406  
  2407  func (*SearchFeaturesResponse) ProtoMessage() {}
  2408  
  2409  func (x *SearchFeaturesResponse) ProtoReflect() protoreflect.Message {
  2410  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[27]
  2411  	if x != nil {
  2412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2413  		if ms.LoadMessageInfo() == nil {
  2414  			ms.StoreMessageInfo(mi)
  2415  		}
  2416  		return ms
  2417  	}
  2418  	return mi.MessageOf(x)
  2419  }
  2420  
  2421  // Deprecated: Use SearchFeaturesResponse.ProtoReflect.Descriptor instead.
  2422  func (*SearchFeaturesResponse) Descriptor() ([]byte, []int) {
  2423  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{27}
  2424  }
  2425  
  2426  func (x *SearchFeaturesResponse) GetFeatures() []*Feature {
  2427  	if x != nil {
  2428  		return x.Features
  2429  	}
  2430  	return nil
  2431  }
  2432  
  2433  func (x *SearchFeaturesResponse) GetNextPageToken() string {
  2434  	if x != nil {
  2435  		return x.NextPageToken
  2436  	}
  2437  	return ""
  2438  }
  2439  
  2440  // Request message for
  2441  // [FeaturestoreService.UpdateFeature][google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeature].
  2442  // Request message for
  2443  // [FeatureRegistryService.UpdateFeature][google.cloud.aiplatform.v1.FeatureRegistryService.UpdateFeature].
  2444  type UpdateFeatureRequest struct {
  2445  	state         protoimpl.MessageState
  2446  	sizeCache     protoimpl.SizeCache
  2447  	unknownFields protoimpl.UnknownFields
  2448  
  2449  	// Required. The Feature's `name` field is used to identify the Feature to be
  2450  	// updated.
  2451  	// Format:
  2452  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
  2453  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`
  2454  	Feature *Feature `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"`
  2455  	// Field mask is used to specify the fields to be overwritten in the
  2456  	// Features resource by the update.
  2457  	// The fields specified in the update_mask are relative to the resource, not
  2458  	// the full request. A field will be overwritten if it is in the mask. If the
  2459  	// user does not provide a mask then only the non-empty fields present in the
  2460  	// request will be overwritten. Set the update_mask to `*` to override all
  2461  	// fields.
  2462  	//
  2463  	// Updatable fields:
  2464  	//
  2465  	//   - `description`
  2466  	//   - `labels`
  2467  	//   - `disable_monitoring` (Not supported for FeatureRegistryService Feature)
  2468  	//   - `point_of_contact` (Not supported for FeaturestoreService FeatureStore)
  2469  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2470  }
  2471  
  2472  func (x *UpdateFeatureRequest) Reset() {
  2473  	*x = UpdateFeatureRequest{}
  2474  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[28]
  2475  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2476  	ms.StoreMessageInfo(mi)
  2477  }
  2478  
  2479  func (x *UpdateFeatureRequest) String() string {
  2480  	return protoimpl.X.MessageStringOf(x)
  2481  }
  2482  
  2483  func (*UpdateFeatureRequest) ProtoMessage() {}
  2484  
  2485  func (x *UpdateFeatureRequest) ProtoReflect() protoreflect.Message {
  2486  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[28]
  2487  	if x != nil {
  2488  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2489  		if ms.LoadMessageInfo() == nil {
  2490  			ms.StoreMessageInfo(mi)
  2491  		}
  2492  		return ms
  2493  	}
  2494  	return mi.MessageOf(x)
  2495  }
  2496  
  2497  // Deprecated: Use UpdateFeatureRequest.ProtoReflect.Descriptor instead.
  2498  func (*UpdateFeatureRequest) Descriptor() ([]byte, []int) {
  2499  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{28}
  2500  }
  2501  
  2502  func (x *UpdateFeatureRequest) GetFeature() *Feature {
  2503  	if x != nil {
  2504  		return x.Feature
  2505  	}
  2506  	return nil
  2507  }
  2508  
  2509  func (x *UpdateFeatureRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  2510  	if x != nil {
  2511  		return x.UpdateMask
  2512  	}
  2513  	return nil
  2514  }
  2515  
  2516  // Request message for
  2517  // [FeaturestoreService.DeleteFeature][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeature].
  2518  // Request message for
  2519  // [FeatureRegistryService.DeleteFeature][google.cloud.aiplatform.v1.FeatureRegistryService.DeleteFeature].
  2520  type DeleteFeatureRequest struct {
  2521  	state         protoimpl.MessageState
  2522  	sizeCache     protoimpl.SizeCache
  2523  	unknownFields protoimpl.UnknownFields
  2524  
  2525  	// Required. The name of the Features to be deleted.
  2526  	// Format:
  2527  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
  2528  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`
  2529  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2530  }
  2531  
  2532  func (x *DeleteFeatureRequest) Reset() {
  2533  	*x = DeleteFeatureRequest{}
  2534  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[29]
  2535  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2536  	ms.StoreMessageInfo(mi)
  2537  }
  2538  
  2539  func (x *DeleteFeatureRequest) String() string {
  2540  	return protoimpl.X.MessageStringOf(x)
  2541  }
  2542  
  2543  func (*DeleteFeatureRequest) ProtoMessage() {}
  2544  
  2545  func (x *DeleteFeatureRequest) ProtoReflect() protoreflect.Message {
  2546  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[29]
  2547  	if x != nil {
  2548  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2549  		if ms.LoadMessageInfo() == nil {
  2550  			ms.StoreMessageInfo(mi)
  2551  		}
  2552  		return ms
  2553  	}
  2554  	return mi.MessageOf(x)
  2555  }
  2556  
  2557  // Deprecated: Use DeleteFeatureRequest.ProtoReflect.Descriptor instead.
  2558  func (*DeleteFeatureRequest) Descriptor() ([]byte, []int) {
  2559  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{29}
  2560  }
  2561  
  2562  func (x *DeleteFeatureRequest) GetName() string {
  2563  	if x != nil {
  2564  		return x.Name
  2565  	}
  2566  	return ""
  2567  }
  2568  
  2569  // Details of operations that perform create Featurestore.
  2570  type CreateFeaturestoreOperationMetadata struct {
  2571  	state         protoimpl.MessageState
  2572  	sizeCache     protoimpl.SizeCache
  2573  	unknownFields protoimpl.UnknownFields
  2574  
  2575  	// Operation metadata for Featurestore.
  2576  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2577  }
  2578  
  2579  func (x *CreateFeaturestoreOperationMetadata) Reset() {
  2580  	*x = CreateFeaturestoreOperationMetadata{}
  2581  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[30]
  2582  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2583  	ms.StoreMessageInfo(mi)
  2584  }
  2585  
  2586  func (x *CreateFeaturestoreOperationMetadata) String() string {
  2587  	return protoimpl.X.MessageStringOf(x)
  2588  }
  2589  
  2590  func (*CreateFeaturestoreOperationMetadata) ProtoMessage() {}
  2591  
  2592  func (x *CreateFeaturestoreOperationMetadata) ProtoReflect() protoreflect.Message {
  2593  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[30]
  2594  	if x != nil {
  2595  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2596  		if ms.LoadMessageInfo() == nil {
  2597  			ms.StoreMessageInfo(mi)
  2598  		}
  2599  		return ms
  2600  	}
  2601  	return mi.MessageOf(x)
  2602  }
  2603  
  2604  // Deprecated: Use CreateFeaturestoreOperationMetadata.ProtoReflect.Descriptor instead.
  2605  func (*CreateFeaturestoreOperationMetadata) Descriptor() ([]byte, []int) {
  2606  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{30}
  2607  }
  2608  
  2609  func (x *CreateFeaturestoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2610  	if x != nil {
  2611  		return x.GenericMetadata
  2612  	}
  2613  	return nil
  2614  }
  2615  
  2616  // Details of operations that perform update Featurestore.
  2617  type UpdateFeaturestoreOperationMetadata struct {
  2618  	state         protoimpl.MessageState
  2619  	sizeCache     protoimpl.SizeCache
  2620  	unknownFields protoimpl.UnknownFields
  2621  
  2622  	// Operation metadata for Featurestore.
  2623  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2624  }
  2625  
  2626  func (x *UpdateFeaturestoreOperationMetadata) Reset() {
  2627  	*x = UpdateFeaturestoreOperationMetadata{}
  2628  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[31]
  2629  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2630  	ms.StoreMessageInfo(mi)
  2631  }
  2632  
  2633  func (x *UpdateFeaturestoreOperationMetadata) String() string {
  2634  	return protoimpl.X.MessageStringOf(x)
  2635  }
  2636  
  2637  func (*UpdateFeaturestoreOperationMetadata) ProtoMessage() {}
  2638  
  2639  func (x *UpdateFeaturestoreOperationMetadata) ProtoReflect() protoreflect.Message {
  2640  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[31]
  2641  	if x != nil {
  2642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2643  		if ms.LoadMessageInfo() == nil {
  2644  			ms.StoreMessageInfo(mi)
  2645  		}
  2646  		return ms
  2647  	}
  2648  	return mi.MessageOf(x)
  2649  }
  2650  
  2651  // Deprecated: Use UpdateFeaturestoreOperationMetadata.ProtoReflect.Descriptor instead.
  2652  func (*UpdateFeaturestoreOperationMetadata) Descriptor() ([]byte, []int) {
  2653  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{31}
  2654  }
  2655  
  2656  func (x *UpdateFeaturestoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2657  	if x != nil {
  2658  		return x.GenericMetadata
  2659  	}
  2660  	return nil
  2661  }
  2662  
  2663  // Details of operations that perform import Feature values.
  2664  type ImportFeatureValuesOperationMetadata struct {
  2665  	state         protoimpl.MessageState
  2666  	sizeCache     protoimpl.SizeCache
  2667  	unknownFields protoimpl.UnknownFields
  2668  
  2669  	// Operation metadata for Featurestore import Feature values.
  2670  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2671  	// Number of entities that have been imported by the operation.
  2672  	ImportedEntityCount int64 `protobuf:"varint,2,opt,name=imported_entity_count,json=importedEntityCount,proto3" json:"imported_entity_count,omitempty"`
  2673  	// Number of Feature values that have been imported by the operation.
  2674  	ImportedFeatureValueCount int64 `protobuf:"varint,3,opt,name=imported_feature_value_count,json=importedFeatureValueCount,proto3" json:"imported_feature_value_count,omitempty"`
  2675  	// The source URI from where Feature values are imported.
  2676  	SourceUris []string `protobuf:"bytes,4,rep,name=source_uris,json=sourceUris,proto3" json:"source_uris,omitempty"`
  2677  	// The number of rows in input source that weren't imported due to either
  2678  	// * Not having any featureValues.
  2679  	// * Having a null entityId.
  2680  	// * Having a null timestamp.
  2681  	// * Not being parsable (applicable for CSV sources).
  2682  	InvalidRowCount int64 `protobuf:"varint,6,opt,name=invalid_row_count,json=invalidRowCount,proto3" json:"invalid_row_count,omitempty"`
  2683  	// The number rows that weren't ingested due to having timestamps outside the
  2684  	// retention boundary.
  2685  	TimestampOutsideRetentionRowsCount int64 `protobuf:"varint,7,opt,name=timestamp_outside_retention_rows_count,json=timestampOutsideRetentionRowsCount,proto3" json:"timestamp_outside_retention_rows_count,omitempty"`
  2686  	// List of ImportFeatureValues operations running under a single EntityType
  2687  	// that are blocking this operation.
  2688  	BlockingOperationIds []int64 `protobuf:"varint,8,rep,packed,name=blocking_operation_ids,json=blockingOperationIds,proto3" json:"blocking_operation_ids,omitempty"`
  2689  }
  2690  
  2691  func (x *ImportFeatureValuesOperationMetadata) Reset() {
  2692  	*x = ImportFeatureValuesOperationMetadata{}
  2693  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[32]
  2694  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2695  	ms.StoreMessageInfo(mi)
  2696  }
  2697  
  2698  func (x *ImportFeatureValuesOperationMetadata) String() string {
  2699  	return protoimpl.X.MessageStringOf(x)
  2700  }
  2701  
  2702  func (*ImportFeatureValuesOperationMetadata) ProtoMessage() {}
  2703  
  2704  func (x *ImportFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2705  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[32]
  2706  	if x != nil {
  2707  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2708  		if ms.LoadMessageInfo() == nil {
  2709  			ms.StoreMessageInfo(mi)
  2710  		}
  2711  		return ms
  2712  	}
  2713  	return mi.MessageOf(x)
  2714  }
  2715  
  2716  // Deprecated: Use ImportFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2717  func (*ImportFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2718  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{32}
  2719  }
  2720  
  2721  func (x *ImportFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2722  	if x != nil {
  2723  		return x.GenericMetadata
  2724  	}
  2725  	return nil
  2726  }
  2727  
  2728  func (x *ImportFeatureValuesOperationMetadata) GetImportedEntityCount() int64 {
  2729  	if x != nil {
  2730  		return x.ImportedEntityCount
  2731  	}
  2732  	return 0
  2733  }
  2734  
  2735  func (x *ImportFeatureValuesOperationMetadata) GetImportedFeatureValueCount() int64 {
  2736  	if x != nil {
  2737  		return x.ImportedFeatureValueCount
  2738  	}
  2739  	return 0
  2740  }
  2741  
  2742  func (x *ImportFeatureValuesOperationMetadata) GetSourceUris() []string {
  2743  	if x != nil {
  2744  		return x.SourceUris
  2745  	}
  2746  	return nil
  2747  }
  2748  
  2749  func (x *ImportFeatureValuesOperationMetadata) GetInvalidRowCount() int64 {
  2750  	if x != nil {
  2751  		return x.InvalidRowCount
  2752  	}
  2753  	return 0
  2754  }
  2755  
  2756  func (x *ImportFeatureValuesOperationMetadata) GetTimestampOutsideRetentionRowsCount() int64 {
  2757  	if x != nil {
  2758  		return x.TimestampOutsideRetentionRowsCount
  2759  	}
  2760  	return 0
  2761  }
  2762  
  2763  func (x *ImportFeatureValuesOperationMetadata) GetBlockingOperationIds() []int64 {
  2764  	if x != nil {
  2765  		return x.BlockingOperationIds
  2766  	}
  2767  	return nil
  2768  }
  2769  
  2770  // Details of operations that exports Features values.
  2771  type ExportFeatureValuesOperationMetadata struct {
  2772  	state         protoimpl.MessageState
  2773  	sizeCache     protoimpl.SizeCache
  2774  	unknownFields protoimpl.UnknownFields
  2775  
  2776  	// Operation metadata for Featurestore export Feature values.
  2777  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2778  }
  2779  
  2780  func (x *ExportFeatureValuesOperationMetadata) Reset() {
  2781  	*x = ExportFeatureValuesOperationMetadata{}
  2782  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[33]
  2783  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2784  	ms.StoreMessageInfo(mi)
  2785  }
  2786  
  2787  func (x *ExportFeatureValuesOperationMetadata) String() string {
  2788  	return protoimpl.X.MessageStringOf(x)
  2789  }
  2790  
  2791  func (*ExportFeatureValuesOperationMetadata) ProtoMessage() {}
  2792  
  2793  func (x *ExportFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2794  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[33]
  2795  	if x != nil {
  2796  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2797  		if ms.LoadMessageInfo() == nil {
  2798  			ms.StoreMessageInfo(mi)
  2799  		}
  2800  		return ms
  2801  	}
  2802  	return mi.MessageOf(x)
  2803  }
  2804  
  2805  // Deprecated: Use ExportFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2806  func (*ExportFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2807  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{33}
  2808  }
  2809  
  2810  func (x *ExportFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2811  	if x != nil {
  2812  		return x.GenericMetadata
  2813  	}
  2814  	return nil
  2815  }
  2816  
  2817  // Details of operations that batch reads Feature values.
  2818  type BatchReadFeatureValuesOperationMetadata struct {
  2819  	state         protoimpl.MessageState
  2820  	sizeCache     protoimpl.SizeCache
  2821  	unknownFields protoimpl.UnknownFields
  2822  
  2823  	// Operation metadata for Featurestore batch read Features values.
  2824  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2825  }
  2826  
  2827  func (x *BatchReadFeatureValuesOperationMetadata) Reset() {
  2828  	*x = BatchReadFeatureValuesOperationMetadata{}
  2829  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[34]
  2830  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2831  	ms.StoreMessageInfo(mi)
  2832  }
  2833  
  2834  func (x *BatchReadFeatureValuesOperationMetadata) String() string {
  2835  	return protoimpl.X.MessageStringOf(x)
  2836  }
  2837  
  2838  func (*BatchReadFeatureValuesOperationMetadata) ProtoMessage() {}
  2839  
  2840  func (x *BatchReadFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2841  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[34]
  2842  	if x != nil {
  2843  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2844  		if ms.LoadMessageInfo() == nil {
  2845  			ms.StoreMessageInfo(mi)
  2846  		}
  2847  		return ms
  2848  	}
  2849  	return mi.MessageOf(x)
  2850  }
  2851  
  2852  // Deprecated: Use BatchReadFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2853  func (*BatchReadFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2854  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{34}
  2855  }
  2856  
  2857  func (x *BatchReadFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2858  	if x != nil {
  2859  		return x.GenericMetadata
  2860  	}
  2861  	return nil
  2862  }
  2863  
  2864  // Details of operations that delete Feature values.
  2865  type DeleteFeatureValuesOperationMetadata struct {
  2866  	state         protoimpl.MessageState
  2867  	sizeCache     protoimpl.SizeCache
  2868  	unknownFields protoimpl.UnknownFields
  2869  
  2870  	// Operation metadata for Featurestore delete Features values.
  2871  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2872  }
  2873  
  2874  func (x *DeleteFeatureValuesOperationMetadata) Reset() {
  2875  	*x = DeleteFeatureValuesOperationMetadata{}
  2876  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[35]
  2877  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2878  	ms.StoreMessageInfo(mi)
  2879  }
  2880  
  2881  func (x *DeleteFeatureValuesOperationMetadata) String() string {
  2882  	return protoimpl.X.MessageStringOf(x)
  2883  }
  2884  
  2885  func (*DeleteFeatureValuesOperationMetadata) ProtoMessage() {}
  2886  
  2887  func (x *DeleteFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2888  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[35]
  2889  	if x != nil {
  2890  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2891  		if ms.LoadMessageInfo() == nil {
  2892  			ms.StoreMessageInfo(mi)
  2893  		}
  2894  		return ms
  2895  	}
  2896  	return mi.MessageOf(x)
  2897  }
  2898  
  2899  // Deprecated: Use DeleteFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2900  func (*DeleteFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2901  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{35}
  2902  }
  2903  
  2904  func (x *DeleteFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2905  	if x != nil {
  2906  		return x.GenericMetadata
  2907  	}
  2908  	return nil
  2909  }
  2910  
  2911  // Details of operations that perform create EntityType.
  2912  type CreateEntityTypeOperationMetadata struct {
  2913  	state         protoimpl.MessageState
  2914  	sizeCache     protoimpl.SizeCache
  2915  	unknownFields protoimpl.UnknownFields
  2916  
  2917  	// Operation metadata for EntityType.
  2918  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2919  }
  2920  
  2921  func (x *CreateEntityTypeOperationMetadata) Reset() {
  2922  	*x = CreateEntityTypeOperationMetadata{}
  2923  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[36]
  2924  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2925  	ms.StoreMessageInfo(mi)
  2926  }
  2927  
  2928  func (x *CreateEntityTypeOperationMetadata) String() string {
  2929  	return protoimpl.X.MessageStringOf(x)
  2930  }
  2931  
  2932  func (*CreateEntityTypeOperationMetadata) ProtoMessage() {}
  2933  
  2934  func (x *CreateEntityTypeOperationMetadata) ProtoReflect() protoreflect.Message {
  2935  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[36]
  2936  	if x != nil {
  2937  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2938  		if ms.LoadMessageInfo() == nil {
  2939  			ms.StoreMessageInfo(mi)
  2940  		}
  2941  		return ms
  2942  	}
  2943  	return mi.MessageOf(x)
  2944  }
  2945  
  2946  // Deprecated: Use CreateEntityTypeOperationMetadata.ProtoReflect.Descriptor instead.
  2947  func (*CreateEntityTypeOperationMetadata) Descriptor() ([]byte, []int) {
  2948  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{36}
  2949  }
  2950  
  2951  func (x *CreateEntityTypeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2952  	if x != nil {
  2953  		return x.GenericMetadata
  2954  	}
  2955  	return nil
  2956  }
  2957  
  2958  // Details of operations that perform create Feature.
  2959  type CreateFeatureOperationMetadata struct {
  2960  	state         protoimpl.MessageState
  2961  	sizeCache     protoimpl.SizeCache
  2962  	unknownFields protoimpl.UnknownFields
  2963  
  2964  	// Operation metadata for Feature.
  2965  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2966  }
  2967  
  2968  func (x *CreateFeatureOperationMetadata) Reset() {
  2969  	*x = CreateFeatureOperationMetadata{}
  2970  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[37]
  2971  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2972  	ms.StoreMessageInfo(mi)
  2973  }
  2974  
  2975  func (x *CreateFeatureOperationMetadata) String() string {
  2976  	return protoimpl.X.MessageStringOf(x)
  2977  }
  2978  
  2979  func (*CreateFeatureOperationMetadata) ProtoMessage() {}
  2980  
  2981  func (x *CreateFeatureOperationMetadata) ProtoReflect() protoreflect.Message {
  2982  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[37]
  2983  	if x != nil {
  2984  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2985  		if ms.LoadMessageInfo() == nil {
  2986  			ms.StoreMessageInfo(mi)
  2987  		}
  2988  		return ms
  2989  	}
  2990  	return mi.MessageOf(x)
  2991  }
  2992  
  2993  // Deprecated: Use CreateFeatureOperationMetadata.ProtoReflect.Descriptor instead.
  2994  func (*CreateFeatureOperationMetadata) Descriptor() ([]byte, []int) {
  2995  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{37}
  2996  }
  2997  
  2998  func (x *CreateFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2999  	if x != nil {
  3000  		return x.GenericMetadata
  3001  	}
  3002  	return nil
  3003  }
  3004  
  3005  // Details of operations that perform batch create Features.
  3006  type BatchCreateFeaturesOperationMetadata struct {
  3007  	state         protoimpl.MessageState
  3008  	sizeCache     protoimpl.SizeCache
  3009  	unknownFields protoimpl.UnknownFields
  3010  
  3011  	// Operation metadata for Feature.
  3012  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  3013  }
  3014  
  3015  func (x *BatchCreateFeaturesOperationMetadata) Reset() {
  3016  	*x = BatchCreateFeaturesOperationMetadata{}
  3017  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[38]
  3018  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3019  	ms.StoreMessageInfo(mi)
  3020  }
  3021  
  3022  func (x *BatchCreateFeaturesOperationMetadata) String() string {
  3023  	return protoimpl.X.MessageStringOf(x)
  3024  }
  3025  
  3026  func (*BatchCreateFeaturesOperationMetadata) ProtoMessage() {}
  3027  
  3028  func (x *BatchCreateFeaturesOperationMetadata) ProtoReflect() protoreflect.Message {
  3029  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[38]
  3030  	if x != nil {
  3031  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3032  		if ms.LoadMessageInfo() == nil {
  3033  			ms.StoreMessageInfo(mi)
  3034  		}
  3035  		return ms
  3036  	}
  3037  	return mi.MessageOf(x)
  3038  }
  3039  
  3040  // Deprecated: Use BatchCreateFeaturesOperationMetadata.ProtoReflect.Descriptor instead.
  3041  func (*BatchCreateFeaturesOperationMetadata) Descriptor() ([]byte, []int) {
  3042  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{38}
  3043  }
  3044  
  3045  func (x *BatchCreateFeaturesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  3046  	if x != nil {
  3047  		return x.GenericMetadata
  3048  	}
  3049  	return nil
  3050  }
  3051  
  3052  // Request message for
  3053  // [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeatureValues].
  3054  type DeleteFeatureValuesRequest struct {
  3055  	state         protoimpl.MessageState
  3056  	sizeCache     protoimpl.SizeCache
  3057  	unknownFields protoimpl.UnknownFields
  3058  
  3059  	// Defines options to select feature values to be deleted.
  3060  	//
  3061  	// Types that are assignable to DeleteOption:
  3062  	//
  3063  	//	*DeleteFeatureValuesRequest_SelectEntity_
  3064  	//	*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_
  3065  	DeleteOption isDeleteFeatureValuesRequest_DeleteOption `protobuf_oneof:"DeleteOption"`
  3066  	// Required. The resource name of the EntityType grouping the Features for
  3067  	// which values are being deleted from. Format:
  3068  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
  3069  	EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
  3070  }
  3071  
  3072  func (x *DeleteFeatureValuesRequest) Reset() {
  3073  	*x = DeleteFeatureValuesRequest{}
  3074  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[39]
  3075  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3076  	ms.StoreMessageInfo(mi)
  3077  }
  3078  
  3079  func (x *DeleteFeatureValuesRequest) String() string {
  3080  	return protoimpl.X.MessageStringOf(x)
  3081  }
  3082  
  3083  func (*DeleteFeatureValuesRequest) ProtoMessage() {}
  3084  
  3085  func (x *DeleteFeatureValuesRequest) ProtoReflect() protoreflect.Message {
  3086  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[39]
  3087  	if x != nil {
  3088  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3089  		if ms.LoadMessageInfo() == nil {
  3090  			ms.StoreMessageInfo(mi)
  3091  		}
  3092  		return ms
  3093  	}
  3094  	return mi.MessageOf(x)
  3095  }
  3096  
  3097  // Deprecated: Use DeleteFeatureValuesRequest.ProtoReflect.Descriptor instead.
  3098  func (*DeleteFeatureValuesRequest) Descriptor() ([]byte, []int) {
  3099  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{39}
  3100  }
  3101  
  3102  func (m *DeleteFeatureValuesRequest) GetDeleteOption() isDeleteFeatureValuesRequest_DeleteOption {
  3103  	if m != nil {
  3104  		return m.DeleteOption
  3105  	}
  3106  	return nil
  3107  }
  3108  
  3109  func (x *DeleteFeatureValuesRequest) GetSelectEntity() *DeleteFeatureValuesRequest_SelectEntity {
  3110  	if x, ok := x.GetDeleteOption().(*DeleteFeatureValuesRequest_SelectEntity_); ok {
  3111  		return x.SelectEntity
  3112  	}
  3113  	return nil
  3114  }
  3115  
  3116  func (x *DeleteFeatureValuesRequest) GetSelectTimeRangeAndFeature() *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature {
  3117  	if x, ok := x.GetDeleteOption().(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_); ok {
  3118  		return x.SelectTimeRangeAndFeature
  3119  	}
  3120  	return nil
  3121  }
  3122  
  3123  func (x *DeleteFeatureValuesRequest) GetEntityType() string {
  3124  	if x != nil {
  3125  		return x.EntityType
  3126  	}
  3127  	return ""
  3128  }
  3129  
  3130  type isDeleteFeatureValuesRequest_DeleteOption interface {
  3131  	isDeleteFeatureValuesRequest_DeleteOption()
  3132  }
  3133  
  3134  type DeleteFeatureValuesRequest_SelectEntity_ struct {
  3135  	// Select feature values to be deleted by specifying entities.
  3136  	SelectEntity *DeleteFeatureValuesRequest_SelectEntity `protobuf:"bytes,2,opt,name=select_entity,json=selectEntity,proto3,oneof"`
  3137  }
  3138  
  3139  type DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_ struct {
  3140  	// Select feature values to be deleted by specifying time range and
  3141  	// features.
  3142  	SelectTimeRangeAndFeature *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature `protobuf:"bytes,3,opt,name=select_time_range_and_feature,json=selectTimeRangeAndFeature,proto3,oneof"`
  3143  }
  3144  
  3145  func (*DeleteFeatureValuesRequest_SelectEntity_) isDeleteFeatureValuesRequest_DeleteOption() {}
  3146  
  3147  func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_) isDeleteFeatureValuesRequest_DeleteOption() {
  3148  }
  3149  
  3150  // Response message for
  3151  // [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeatureValues].
  3152  type DeleteFeatureValuesResponse struct {
  3153  	state         protoimpl.MessageState
  3154  	sizeCache     protoimpl.SizeCache
  3155  	unknownFields protoimpl.UnknownFields
  3156  
  3157  	// Response based on which delete option is specified in the
  3158  	// request
  3159  	//
  3160  	// Types that are assignable to Response:
  3161  	//
  3162  	//	*DeleteFeatureValuesResponse_SelectEntity_
  3163  	//	*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_
  3164  	Response isDeleteFeatureValuesResponse_Response `protobuf_oneof:"response"`
  3165  }
  3166  
  3167  func (x *DeleteFeatureValuesResponse) Reset() {
  3168  	*x = DeleteFeatureValuesResponse{}
  3169  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[40]
  3170  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3171  	ms.StoreMessageInfo(mi)
  3172  }
  3173  
  3174  func (x *DeleteFeatureValuesResponse) String() string {
  3175  	return protoimpl.X.MessageStringOf(x)
  3176  }
  3177  
  3178  func (*DeleteFeatureValuesResponse) ProtoMessage() {}
  3179  
  3180  func (x *DeleteFeatureValuesResponse) ProtoReflect() protoreflect.Message {
  3181  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[40]
  3182  	if x != nil {
  3183  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3184  		if ms.LoadMessageInfo() == nil {
  3185  			ms.StoreMessageInfo(mi)
  3186  		}
  3187  		return ms
  3188  	}
  3189  	return mi.MessageOf(x)
  3190  }
  3191  
  3192  // Deprecated: Use DeleteFeatureValuesResponse.ProtoReflect.Descriptor instead.
  3193  func (*DeleteFeatureValuesResponse) Descriptor() ([]byte, []int) {
  3194  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{40}
  3195  }
  3196  
  3197  func (m *DeleteFeatureValuesResponse) GetResponse() isDeleteFeatureValuesResponse_Response {
  3198  	if m != nil {
  3199  		return m.Response
  3200  	}
  3201  	return nil
  3202  }
  3203  
  3204  func (x *DeleteFeatureValuesResponse) GetSelectEntity() *DeleteFeatureValuesResponse_SelectEntity {
  3205  	if x, ok := x.GetResponse().(*DeleteFeatureValuesResponse_SelectEntity_); ok {
  3206  		return x.SelectEntity
  3207  	}
  3208  	return nil
  3209  }
  3210  
  3211  func (x *DeleteFeatureValuesResponse) GetSelectTimeRangeAndFeature() *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature {
  3212  	if x, ok := x.GetResponse().(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_); ok {
  3213  		return x.SelectTimeRangeAndFeature
  3214  	}
  3215  	return nil
  3216  }
  3217  
  3218  type isDeleteFeatureValuesResponse_Response interface {
  3219  	isDeleteFeatureValuesResponse_Response()
  3220  }
  3221  
  3222  type DeleteFeatureValuesResponse_SelectEntity_ struct {
  3223  	// Response for request specifying the entities to delete
  3224  	SelectEntity *DeleteFeatureValuesResponse_SelectEntity `protobuf:"bytes,1,opt,name=select_entity,json=selectEntity,proto3,oneof"`
  3225  }
  3226  
  3227  type DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_ struct {
  3228  	// Response for request specifying time range and feature
  3229  	SelectTimeRangeAndFeature *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature `protobuf:"bytes,2,opt,name=select_time_range_and_feature,json=selectTimeRangeAndFeature,proto3,oneof"`
  3230  }
  3231  
  3232  func (*DeleteFeatureValuesResponse_SelectEntity_) isDeleteFeatureValuesResponse_Response() {}
  3233  
  3234  func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_) isDeleteFeatureValuesResponse_Response() {
  3235  }
  3236  
  3237  // Selector for entityId. Getting ids from the given source.
  3238  type EntityIdSelector struct {
  3239  	state         protoimpl.MessageState
  3240  	sizeCache     protoimpl.SizeCache
  3241  	unknownFields protoimpl.UnknownFields
  3242  
  3243  	// Details about the source data, including the location of the storage and
  3244  	// the format.
  3245  	//
  3246  	// Types that are assignable to EntityIdsSource:
  3247  	//
  3248  	//	*EntityIdSelector_CsvSource
  3249  	EntityIdsSource isEntityIdSelector_EntityIdsSource `protobuf_oneof:"EntityIdsSource"`
  3250  	// Source column that holds entity IDs. If not provided, entity IDs are
  3251  	// extracted from the column named entity_id.
  3252  	EntityIdField string `protobuf:"bytes,5,opt,name=entity_id_field,json=entityIdField,proto3" json:"entity_id_field,omitempty"`
  3253  }
  3254  
  3255  func (x *EntityIdSelector) Reset() {
  3256  	*x = EntityIdSelector{}
  3257  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[41]
  3258  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3259  	ms.StoreMessageInfo(mi)
  3260  }
  3261  
  3262  func (x *EntityIdSelector) String() string {
  3263  	return protoimpl.X.MessageStringOf(x)
  3264  }
  3265  
  3266  func (*EntityIdSelector) ProtoMessage() {}
  3267  
  3268  func (x *EntityIdSelector) ProtoReflect() protoreflect.Message {
  3269  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[41]
  3270  	if x != nil {
  3271  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3272  		if ms.LoadMessageInfo() == nil {
  3273  			ms.StoreMessageInfo(mi)
  3274  		}
  3275  		return ms
  3276  	}
  3277  	return mi.MessageOf(x)
  3278  }
  3279  
  3280  // Deprecated: Use EntityIdSelector.ProtoReflect.Descriptor instead.
  3281  func (*EntityIdSelector) Descriptor() ([]byte, []int) {
  3282  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{41}
  3283  }
  3284  
  3285  func (m *EntityIdSelector) GetEntityIdsSource() isEntityIdSelector_EntityIdsSource {
  3286  	if m != nil {
  3287  		return m.EntityIdsSource
  3288  	}
  3289  	return nil
  3290  }
  3291  
  3292  func (x *EntityIdSelector) GetCsvSource() *CsvSource {
  3293  	if x, ok := x.GetEntityIdsSource().(*EntityIdSelector_CsvSource); ok {
  3294  		return x.CsvSource
  3295  	}
  3296  	return nil
  3297  }
  3298  
  3299  func (x *EntityIdSelector) GetEntityIdField() string {
  3300  	if x != nil {
  3301  		return x.EntityIdField
  3302  	}
  3303  	return ""
  3304  }
  3305  
  3306  type isEntityIdSelector_EntityIdsSource interface {
  3307  	isEntityIdSelector_EntityIdsSource()
  3308  }
  3309  
  3310  type EntityIdSelector_CsvSource struct {
  3311  	// Source of Csv
  3312  	CsvSource *CsvSource `protobuf:"bytes,3,opt,name=csv_source,json=csvSource,proto3,oneof"`
  3313  }
  3314  
  3315  func (*EntityIdSelector_CsvSource) isEntityIdSelector_EntityIdsSource() {}
  3316  
  3317  // Defines the Feature value(s) to import.
  3318  type ImportFeatureValuesRequest_FeatureSpec struct {
  3319  	state         protoimpl.MessageState
  3320  	sizeCache     protoimpl.SizeCache
  3321  	unknownFields protoimpl.UnknownFields
  3322  
  3323  	// Required. ID of the Feature to import values of. This Feature must exist
  3324  	// in the target EntityType, or the request will fail.
  3325  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  3326  	// Source column to get the Feature values from. If not set, uses the column
  3327  	// with the same name as the Feature ID.
  3328  	SourceField string `protobuf:"bytes,2,opt,name=source_field,json=sourceField,proto3" json:"source_field,omitempty"`
  3329  }
  3330  
  3331  func (x *ImportFeatureValuesRequest_FeatureSpec) Reset() {
  3332  	*x = ImportFeatureValuesRequest_FeatureSpec{}
  3333  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[42]
  3334  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3335  	ms.StoreMessageInfo(mi)
  3336  }
  3337  
  3338  func (x *ImportFeatureValuesRequest_FeatureSpec) String() string {
  3339  	return protoimpl.X.MessageStringOf(x)
  3340  }
  3341  
  3342  func (*ImportFeatureValuesRequest_FeatureSpec) ProtoMessage() {}
  3343  
  3344  func (x *ImportFeatureValuesRequest_FeatureSpec) ProtoReflect() protoreflect.Message {
  3345  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[42]
  3346  	if x != nil {
  3347  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3348  		if ms.LoadMessageInfo() == nil {
  3349  			ms.StoreMessageInfo(mi)
  3350  		}
  3351  		return ms
  3352  	}
  3353  	return mi.MessageOf(x)
  3354  }
  3355  
  3356  // Deprecated: Use ImportFeatureValuesRequest_FeatureSpec.ProtoReflect.Descriptor instead.
  3357  func (*ImportFeatureValuesRequest_FeatureSpec) Descriptor() ([]byte, []int) {
  3358  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{6, 0}
  3359  }
  3360  
  3361  func (x *ImportFeatureValuesRequest_FeatureSpec) GetId() string {
  3362  	if x != nil {
  3363  		return x.Id
  3364  	}
  3365  	return ""
  3366  }
  3367  
  3368  func (x *ImportFeatureValuesRequest_FeatureSpec) GetSourceField() string {
  3369  	if x != nil {
  3370  		return x.SourceField
  3371  	}
  3372  	return ""
  3373  }
  3374  
  3375  // Describe pass-through fields in read_instance source.
  3376  type BatchReadFeatureValuesRequest_PassThroughField struct {
  3377  	state         protoimpl.MessageState
  3378  	sizeCache     protoimpl.SizeCache
  3379  	unknownFields protoimpl.UnknownFields
  3380  
  3381  	// Required. The name of the field in the CSV header or the name of the
  3382  	// column in BigQuery table. The naming restriction is the same as
  3383  	// [Feature.name][google.cloud.aiplatform.v1.Feature.name].
  3384  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
  3385  }
  3386  
  3387  func (x *BatchReadFeatureValuesRequest_PassThroughField) Reset() {
  3388  	*x = BatchReadFeatureValuesRequest_PassThroughField{}
  3389  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[43]
  3390  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3391  	ms.StoreMessageInfo(mi)
  3392  }
  3393  
  3394  func (x *BatchReadFeatureValuesRequest_PassThroughField) String() string {
  3395  	return protoimpl.X.MessageStringOf(x)
  3396  }
  3397  
  3398  func (*BatchReadFeatureValuesRequest_PassThroughField) ProtoMessage() {}
  3399  
  3400  func (x *BatchReadFeatureValuesRequest_PassThroughField) ProtoReflect() protoreflect.Message {
  3401  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[43]
  3402  	if x != nil {
  3403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3404  		if ms.LoadMessageInfo() == nil {
  3405  			ms.StoreMessageInfo(mi)
  3406  		}
  3407  		return ms
  3408  	}
  3409  	return mi.MessageOf(x)
  3410  }
  3411  
  3412  // Deprecated: Use BatchReadFeatureValuesRequest_PassThroughField.ProtoReflect.Descriptor instead.
  3413  func (*BatchReadFeatureValuesRequest_PassThroughField) Descriptor() ([]byte, []int) {
  3414  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{8, 0}
  3415  }
  3416  
  3417  func (x *BatchReadFeatureValuesRequest_PassThroughField) GetFieldName() string {
  3418  	if x != nil {
  3419  		return x.FieldName
  3420  	}
  3421  	return ""
  3422  }
  3423  
  3424  // Selects Features of an EntityType to read values of and specifies read
  3425  // settings.
  3426  type BatchReadFeatureValuesRequest_EntityTypeSpec struct {
  3427  	state         protoimpl.MessageState
  3428  	sizeCache     protoimpl.SizeCache
  3429  	unknownFields protoimpl.UnknownFields
  3430  
  3431  	// Required. ID of the EntityType to select Features. The EntityType id is
  3432  	// the
  3433  	// [entity_type_id][google.cloud.aiplatform.v1.CreateEntityTypeRequest.entity_type_id]
  3434  	// specified during EntityType creation.
  3435  	EntityTypeId string `protobuf:"bytes,1,opt,name=entity_type_id,json=entityTypeId,proto3" json:"entity_type_id,omitempty"`
  3436  	// Required. Selectors choosing which Feature values to read from the
  3437  	// EntityType.
  3438  	FeatureSelector *FeatureSelector `protobuf:"bytes,2,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"`
  3439  	// Per-Feature settings for the batch read.
  3440  	Settings []*DestinationFeatureSetting `protobuf:"bytes,3,rep,name=settings,proto3" json:"settings,omitempty"`
  3441  }
  3442  
  3443  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) Reset() {
  3444  	*x = BatchReadFeatureValuesRequest_EntityTypeSpec{}
  3445  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[44]
  3446  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3447  	ms.StoreMessageInfo(mi)
  3448  }
  3449  
  3450  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) String() string {
  3451  	return protoimpl.X.MessageStringOf(x)
  3452  }
  3453  
  3454  func (*BatchReadFeatureValuesRequest_EntityTypeSpec) ProtoMessage() {}
  3455  
  3456  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) ProtoReflect() protoreflect.Message {
  3457  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[44]
  3458  	if x != nil {
  3459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3460  		if ms.LoadMessageInfo() == nil {
  3461  			ms.StoreMessageInfo(mi)
  3462  		}
  3463  		return ms
  3464  	}
  3465  	return mi.MessageOf(x)
  3466  }
  3467  
  3468  // Deprecated: Use BatchReadFeatureValuesRequest_EntityTypeSpec.ProtoReflect.Descriptor instead.
  3469  func (*BatchReadFeatureValuesRequest_EntityTypeSpec) Descriptor() ([]byte, []int) {
  3470  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{8, 1}
  3471  }
  3472  
  3473  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetEntityTypeId() string {
  3474  	if x != nil {
  3475  		return x.EntityTypeId
  3476  	}
  3477  	return ""
  3478  }
  3479  
  3480  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetFeatureSelector() *FeatureSelector {
  3481  	if x != nil {
  3482  		return x.FeatureSelector
  3483  	}
  3484  	return nil
  3485  }
  3486  
  3487  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetSettings() []*DestinationFeatureSetting {
  3488  	if x != nil {
  3489  		return x.Settings
  3490  	}
  3491  	return nil
  3492  }
  3493  
  3494  // Describes exporting the latest Feature values of all entities of the
  3495  // EntityType between [start_time, snapshot_time].
  3496  type ExportFeatureValuesRequest_SnapshotExport struct {
  3497  	state         protoimpl.MessageState
  3498  	sizeCache     protoimpl.SizeCache
  3499  	unknownFields protoimpl.UnknownFields
  3500  
  3501  	// Exports Feature values as of this timestamp. If not set,
  3502  	// retrieve values as of now. Timestamp, if present, must not have higher
  3503  	// than millisecond precision.
  3504  	SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
  3505  	// Excludes Feature values with feature generation timestamp before this
  3506  	// timestamp. If not set, retrieve oldest values kept in Feature Store.
  3507  	// Timestamp, if present, must not have higher than millisecond precision.
  3508  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  3509  }
  3510  
  3511  func (x *ExportFeatureValuesRequest_SnapshotExport) Reset() {
  3512  	*x = ExportFeatureValuesRequest_SnapshotExport{}
  3513  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[45]
  3514  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3515  	ms.StoreMessageInfo(mi)
  3516  }
  3517  
  3518  func (x *ExportFeatureValuesRequest_SnapshotExport) String() string {
  3519  	return protoimpl.X.MessageStringOf(x)
  3520  }
  3521  
  3522  func (*ExportFeatureValuesRequest_SnapshotExport) ProtoMessage() {}
  3523  
  3524  func (x *ExportFeatureValuesRequest_SnapshotExport) ProtoReflect() protoreflect.Message {
  3525  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[45]
  3526  	if x != nil {
  3527  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3528  		if ms.LoadMessageInfo() == nil {
  3529  			ms.StoreMessageInfo(mi)
  3530  		}
  3531  		return ms
  3532  	}
  3533  	return mi.MessageOf(x)
  3534  }
  3535  
  3536  // Deprecated: Use ExportFeatureValuesRequest_SnapshotExport.ProtoReflect.Descriptor instead.
  3537  func (*ExportFeatureValuesRequest_SnapshotExport) Descriptor() ([]byte, []int) {
  3538  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{9, 0}
  3539  }
  3540  
  3541  func (x *ExportFeatureValuesRequest_SnapshotExport) GetSnapshotTime() *timestamppb.Timestamp {
  3542  	if x != nil {
  3543  		return x.SnapshotTime
  3544  	}
  3545  	return nil
  3546  }
  3547  
  3548  func (x *ExportFeatureValuesRequest_SnapshotExport) GetStartTime() *timestamppb.Timestamp {
  3549  	if x != nil {
  3550  		return x.StartTime
  3551  	}
  3552  	return nil
  3553  }
  3554  
  3555  // Describes exporting all historical Feature values of all entities of the
  3556  // EntityType between [start_time, end_time].
  3557  type ExportFeatureValuesRequest_FullExport struct {
  3558  	state         protoimpl.MessageState
  3559  	sizeCache     protoimpl.SizeCache
  3560  	unknownFields protoimpl.UnknownFields
  3561  
  3562  	// Excludes Feature values with feature generation timestamp before this
  3563  	// timestamp. If not set, retrieve oldest values kept in Feature Store.
  3564  	// Timestamp, if present, must not have higher than millisecond precision.
  3565  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  3566  	// Exports Feature values as of this timestamp. If not set,
  3567  	// retrieve values as of now. Timestamp, if present, must not have higher
  3568  	// than millisecond precision.
  3569  	EndTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  3570  }
  3571  
  3572  func (x *ExportFeatureValuesRequest_FullExport) Reset() {
  3573  	*x = ExportFeatureValuesRequest_FullExport{}
  3574  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[46]
  3575  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3576  	ms.StoreMessageInfo(mi)
  3577  }
  3578  
  3579  func (x *ExportFeatureValuesRequest_FullExport) String() string {
  3580  	return protoimpl.X.MessageStringOf(x)
  3581  }
  3582  
  3583  func (*ExportFeatureValuesRequest_FullExport) ProtoMessage() {}
  3584  
  3585  func (x *ExportFeatureValuesRequest_FullExport) ProtoReflect() protoreflect.Message {
  3586  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[46]
  3587  	if x != nil {
  3588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3589  		if ms.LoadMessageInfo() == nil {
  3590  			ms.StoreMessageInfo(mi)
  3591  		}
  3592  		return ms
  3593  	}
  3594  	return mi.MessageOf(x)
  3595  }
  3596  
  3597  // Deprecated: Use ExportFeatureValuesRequest_FullExport.ProtoReflect.Descriptor instead.
  3598  func (*ExportFeatureValuesRequest_FullExport) Descriptor() ([]byte, []int) {
  3599  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{9, 1}
  3600  }
  3601  
  3602  func (x *ExportFeatureValuesRequest_FullExport) GetStartTime() *timestamppb.Timestamp {
  3603  	if x != nil {
  3604  		return x.StartTime
  3605  	}
  3606  	return nil
  3607  }
  3608  
  3609  func (x *ExportFeatureValuesRequest_FullExport) GetEndTime() *timestamppb.Timestamp {
  3610  	if x != nil {
  3611  		return x.EndTime
  3612  	}
  3613  	return nil
  3614  }
  3615  
  3616  // Message to select entity.
  3617  // If an entity id is selected, all the feature values corresponding to the
  3618  // entity id will be deleted, including the entityId.
  3619  type DeleteFeatureValuesRequest_SelectEntity struct {
  3620  	state         protoimpl.MessageState
  3621  	sizeCache     protoimpl.SizeCache
  3622  	unknownFields protoimpl.UnknownFields
  3623  
  3624  	// Required. Selectors choosing feature values of which entity id to be
  3625  	// deleted from the EntityType.
  3626  	EntityIdSelector *EntityIdSelector `protobuf:"bytes,1,opt,name=entity_id_selector,json=entityIdSelector,proto3" json:"entity_id_selector,omitempty"`
  3627  }
  3628  
  3629  func (x *DeleteFeatureValuesRequest_SelectEntity) Reset() {
  3630  	*x = DeleteFeatureValuesRequest_SelectEntity{}
  3631  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[47]
  3632  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3633  	ms.StoreMessageInfo(mi)
  3634  }
  3635  
  3636  func (x *DeleteFeatureValuesRequest_SelectEntity) String() string {
  3637  	return protoimpl.X.MessageStringOf(x)
  3638  }
  3639  
  3640  func (*DeleteFeatureValuesRequest_SelectEntity) ProtoMessage() {}
  3641  
  3642  func (x *DeleteFeatureValuesRequest_SelectEntity) ProtoReflect() protoreflect.Message {
  3643  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[47]
  3644  	if x != nil {
  3645  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3646  		if ms.LoadMessageInfo() == nil {
  3647  			ms.StoreMessageInfo(mi)
  3648  		}
  3649  		return ms
  3650  	}
  3651  	return mi.MessageOf(x)
  3652  }
  3653  
  3654  // Deprecated: Use DeleteFeatureValuesRequest_SelectEntity.ProtoReflect.Descriptor instead.
  3655  func (*DeleteFeatureValuesRequest_SelectEntity) Descriptor() ([]byte, []int) {
  3656  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{39, 0}
  3657  }
  3658  
  3659  func (x *DeleteFeatureValuesRequest_SelectEntity) GetEntityIdSelector() *EntityIdSelector {
  3660  	if x != nil {
  3661  		return x.EntityIdSelector
  3662  	}
  3663  	return nil
  3664  }
  3665  
  3666  // Message to select time range and feature.
  3667  // Values of the selected feature generated within an inclusive time range
  3668  // will be deleted. Using this option permanently deletes the feature values
  3669  // from the specified feature IDs within the specified time range.
  3670  // This might include data from the online storage. If you want to retain
  3671  // any deleted historical data in the online storage, you must re-ingest it.
  3672  type DeleteFeatureValuesRequest_SelectTimeRangeAndFeature struct {
  3673  	state         protoimpl.MessageState
  3674  	sizeCache     protoimpl.SizeCache
  3675  	unknownFields protoimpl.UnknownFields
  3676  
  3677  	// Required. Select feature generated within a half-inclusive time range.
  3678  	// The time range is lower inclusive and upper exclusive.
  3679  	TimeRange *interval.Interval `protobuf:"bytes,1,opt,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
  3680  	// Required. Selectors choosing which feature values to be deleted from the
  3681  	// EntityType.
  3682  	FeatureSelector *FeatureSelector `protobuf:"bytes,2,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"`
  3683  	// If set, data will not be deleted from online storage.
  3684  	// When time range is older than the data in online storage, setting this to
  3685  	// be true will make the deletion have no impact on online serving.
  3686  	SkipOnlineStorageDelete bool `protobuf:"varint,3,opt,name=skip_online_storage_delete,json=skipOnlineStorageDelete,proto3" json:"skip_online_storage_delete,omitempty"`
  3687  }
  3688  
  3689  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) Reset() {
  3690  	*x = DeleteFeatureValuesRequest_SelectTimeRangeAndFeature{}
  3691  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[48]
  3692  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3693  	ms.StoreMessageInfo(mi)
  3694  }
  3695  
  3696  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) String() string {
  3697  	return protoimpl.X.MessageStringOf(x)
  3698  }
  3699  
  3700  func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) ProtoMessage() {}
  3701  
  3702  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) ProtoReflect() protoreflect.Message {
  3703  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[48]
  3704  	if x != nil {
  3705  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3706  		if ms.LoadMessageInfo() == nil {
  3707  			ms.StoreMessageInfo(mi)
  3708  		}
  3709  		return ms
  3710  	}
  3711  	return mi.MessageOf(x)
  3712  }
  3713  
  3714  // Deprecated: Use DeleteFeatureValuesRequest_SelectTimeRangeAndFeature.ProtoReflect.Descriptor instead.
  3715  func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) Descriptor() ([]byte, []int) {
  3716  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{39, 1}
  3717  }
  3718  
  3719  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetTimeRange() *interval.Interval {
  3720  	if x != nil {
  3721  		return x.TimeRange
  3722  	}
  3723  	return nil
  3724  }
  3725  
  3726  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetFeatureSelector() *FeatureSelector {
  3727  	if x != nil {
  3728  		return x.FeatureSelector
  3729  	}
  3730  	return nil
  3731  }
  3732  
  3733  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetSkipOnlineStorageDelete() bool {
  3734  	if x != nil {
  3735  		return x.SkipOnlineStorageDelete
  3736  	}
  3737  	return false
  3738  }
  3739  
  3740  // Response message if the request uses the SelectEntity option.
  3741  type DeleteFeatureValuesResponse_SelectEntity struct {
  3742  	state         protoimpl.MessageState
  3743  	sizeCache     protoimpl.SizeCache
  3744  	unknownFields protoimpl.UnknownFields
  3745  
  3746  	// The count of deleted entity rows in the offline storage.
  3747  	// Each row corresponds to the combination of an entity ID and a timestamp.
  3748  	// One entity ID can have multiple rows in the offline storage.
  3749  	OfflineStorageDeletedEntityRowCount int64 `protobuf:"varint,1,opt,name=offline_storage_deleted_entity_row_count,json=offlineStorageDeletedEntityRowCount,proto3" json:"offline_storage_deleted_entity_row_count,omitempty"`
  3750  	// The count of deleted entities in the online storage.
  3751  	// Each entity ID corresponds to one entity.
  3752  	OnlineStorageDeletedEntityCount int64 `protobuf:"varint,2,opt,name=online_storage_deleted_entity_count,json=onlineStorageDeletedEntityCount,proto3" json:"online_storage_deleted_entity_count,omitempty"`
  3753  }
  3754  
  3755  func (x *DeleteFeatureValuesResponse_SelectEntity) Reset() {
  3756  	*x = DeleteFeatureValuesResponse_SelectEntity{}
  3757  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[49]
  3758  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3759  	ms.StoreMessageInfo(mi)
  3760  }
  3761  
  3762  func (x *DeleteFeatureValuesResponse_SelectEntity) String() string {
  3763  	return protoimpl.X.MessageStringOf(x)
  3764  }
  3765  
  3766  func (*DeleteFeatureValuesResponse_SelectEntity) ProtoMessage() {}
  3767  
  3768  func (x *DeleteFeatureValuesResponse_SelectEntity) ProtoReflect() protoreflect.Message {
  3769  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[49]
  3770  	if x != nil {
  3771  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3772  		if ms.LoadMessageInfo() == nil {
  3773  			ms.StoreMessageInfo(mi)
  3774  		}
  3775  		return ms
  3776  	}
  3777  	return mi.MessageOf(x)
  3778  }
  3779  
  3780  // Deprecated: Use DeleteFeatureValuesResponse_SelectEntity.ProtoReflect.Descriptor instead.
  3781  func (*DeleteFeatureValuesResponse_SelectEntity) Descriptor() ([]byte, []int) {
  3782  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{40, 0}
  3783  }
  3784  
  3785  func (x *DeleteFeatureValuesResponse_SelectEntity) GetOfflineStorageDeletedEntityRowCount() int64 {
  3786  	if x != nil {
  3787  		return x.OfflineStorageDeletedEntityRowCount
  3788  	}
  3789  	return 0
  3790  }
  3791  
  3792  func (x *DeleteFeatureValuesResponse_SelectEntity) GetOnlineStorageDeletedEntityCount() int64 {
  3793  	if x != nil {
  3794  		return x.OnlineStorageDeletedEntityCount
  3795  	}
  3796  	return 0
  3797  }
  3798  
  3799  // Response message if the request uses the SelectTimeRangeAndFeature option.
  3800  type DeleteFeatureValuesResponse_SelectTimeRangeAndFeature struct {
  3801  	state         protoimpl.MessageState
  3802  	sizeCache     protoimpl.SizeCache
  3803  	unknownFields protoimpl.UnknownFields
  3804  
  3805  	// The count of the features or columns impacted.
  3806  	// This is the same as the feature count in the request.
  3807  	ImpactedFeatureCount int64 `protobuf:"varint,1,opt,name=impacted_feature_count,json=impactedFeatureCount,proto3" json:"impacted_feature_count,omitempty"`
  3808  	// The count of modified entity rows in the offline storage.
  3809  	// Each row corresponds to the combination of an entity ID and a timestamp.
  3810  	// One entity ID can have multiple rows in the offline storage.
  3811  	// Within each row, only the features specified in the request are
  3812  	// deleted.
  3813  	OfflineStorageModifiedEntityRowCount int64 `protobuf:"varint,2,opt,name=offline_storage_modified_entity_row_count,json=offlineStorageModifiedEntityRowCount,proto3" json:"offline_storage_modified_entity_row_count,omitempty"`
  3814  	// The count of modified entities in the online storage.
  3815  	// Each entity ID corresponds to one entity.
  3816  	// Within each entity, only the features specified in the request are
  3817  	// deleted.
  3818  	OnlineStorageModifiedEntityCount int64 `protobuf:"varint,3,opt,name=online_storage_modified_entity_count,json=onlineStorageModifiedEntityCount,proto3" json:"online_storage_modified_entity_count,omitempty"`
  3819  }
  3820  
  3821  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) Reset() {
  3822  	*x = DeleteFeatureValuesResponse_SelectTimeRangeAndFeature{}
  3823  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[50]
  3824  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3825  	ms.StoreMessageInfo(mi)
  3826  }
  3827  
  3828  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) String() string {
  3829  	return protoimpl.X.MessageStringOf(x)
  3830  }
  3831  
  3832  func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) ProtoMessage() {}
  3833  
  3834  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) ProtoReflect() protoreflect.Message {
  3835  	mi := &file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[50]
  3836  	if x != nil {
  3837  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3838  		if ms.LoadMessageInfo() == nil {
  3839  			ms.StoreMessageInfo(mi)
  3840  		}
  3841  		return ms
  3842  	}
  3843  	return mi.MessageOf(x)
  3844  }
  3845  
  3846  // Deprecated: Use DeleteFeatureValuesResponse_SelectTimeRangeAndFeature.ProtoReflect.Descriptor instead.
  3847  func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) Descriptor() ([]byte, []int) {
  3848  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP(), []int{40, 1}
  3849  }
  3850  
  3851  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetImpactedFeatureCount() int64 {
  3852  	if x != nil {
  3853  		return x.ImpactedFeatureCount
  3854  	}
  3855  	return 0
  3856  }
  3857  
  3858  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetOfflineStorageModifiedEntityRowCount() int64 {
  3859  	if x != nil {
  3860  		return x.OfflineStorageModifiedEntityRowCount
  3861  	}
  3862  	return 0
  3863  }
  3864  
  3865  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetOnlineStorageModifiedEntityCount() int64 {
  3866  	if x != nil {
  3867  		return x.OnlineStorageModifiedEntityCount
  3868  	}
  3869  	return 0
  3870  }
  3871  
  3872  var File_google_cloud_aiplatform_v1_featurestore_service_proto protoreflect.FileDescriptor
  3873  
  3874  var file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDesc = []byte{
  3875  	0x0a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  3876  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, 0x61,
  3877  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  3878  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  3879  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  3880  	0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
  3881  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3882  	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c,
  3883  	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
  3884  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68,
  3885  	0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f,
  3886  	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  3887  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
  3888  	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
  3889  	0x76, 0x31, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70,
  3890  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
  3891  	0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31,
  3892  	0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31,
  3893  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70,
  3894  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75,
  3895  	0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3896  	0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
  3897  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65,
  3898  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  3899  	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  3900  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6f, 0x2e,
  3901  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
  3902  	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
  3903  	0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3904  	0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
  3905  	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  3906  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
  3907  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72,
  3908  	0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  3909  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e,
  3910  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  3911  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  3912  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74,
  3913  	0x79, 0x70, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
  3914  	0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61,
  3915  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  3916  	0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  3917  	0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  3918  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  3919  	0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  3920  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
  3921  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
  3922  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  3923  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
  3924  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66,
  3925  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x66,
  3926  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03,
  3927  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75,
  3928  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74,
  3929  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
  3930  	0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  3931  	0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61,
  3932  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  3933  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  3934  	0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74,
  3935  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71,
  3936  	0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
  3937  	0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x69,
  3938  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  3939  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  3940  	0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
  3941  	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69,
  3942  	0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
  3943  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
  3944  	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
  3945  	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  3946  	0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01,
  3947  	0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72,
  3948  	0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  3949  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  3950  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64,
  3951  	0x4d, 0x61, 0x73, 0x6b, 0x22, 0x93, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61,
  3952  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  3953  	0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  3954  	0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  3955  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  3956  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  3957  	0x6f, 0x72, 0x65, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  3958  	0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f,
  3959  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78,
  3960  	0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x19, 0x55,
  3961  	0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  3962  	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
  3963  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
  3964  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  3965  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
  3966  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66,
  3967  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75,
  3968  	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  3969  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  3970  	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70,
  3971  	0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x75, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65,
  3972  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65,
  3973  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  3974  	0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70,
  3975  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  3976  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  3977  	0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72,
  3978  	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22,
  3979  	0xdb, 0x06, 0x0a, 0x1a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  3980  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49,
  3981  	0x0a, 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
  3982  	0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  3983  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  3984  	0x2e, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x61,
  3985  	0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x62, 0x69, 0x67,
  3986  	0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
  3987  	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  3988  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  3989  	0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00,
  3990  	0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
  3991  	0x12, 0x46, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04,
  3992  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  3993  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  3994  	0x31, 0x2e, 0x43, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x63,
  3995  	0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74,
  3996  	0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x06,
  3997  	0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54,
  3998  	0x69, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
  3999  	0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  4000  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  4001  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x0b, 0x66, 0x65,
  4002  	0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
  4003  	0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c,
  4004  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4005  	0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  4006  	0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e,
  4007  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69,
  4008  	0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
  4009  	0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
  4010  	0x12, 0x6c, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63,
  4011  	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4012  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4013  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  4014  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
  4015  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02,
  4016  	0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x34,
  4017  	0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
  4018  	0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
  4019  	0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72,
  4020  	0x76, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63,
  4021  	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b,
  4022  	0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62,
  4023  	0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61,
  4024  	0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73,
  4025  	0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61,
  4026  	0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, 0x45, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4027  	0x53, 0x70, 0x65, 0x63, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  4028  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75,
  4029  	0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  4030  	0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06,
  4031  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4032  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x92, 0x02,
  4033  	0x0a, 0x1b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4034  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a,
  4035  	0x15, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4036  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6d,
  4037  	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e,
  4038  	0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65,
  4039  	0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  4040  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65,
  4041  	0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75,
  4042  	0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x6f,
  4043  	0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69,
  4044  	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52,
  4045  	0x0a, 0x26, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x73,
  4046  	0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f,
  4047  	0x77, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22,
  4048  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65,
  4049  	0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x75,
  4050  	0x6e, 0x74, 0x22, 0xf8, 0x07, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64,
  4051  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71,
  4052  	0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x73, 0x76, 0x5f, 0x72, 0x65, 0x61, 0x64,
  4053  	0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  4054  	0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4055  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x73,
  4056  	0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x63, 0x73, 0x76, 0x52, 0x65,
  4057  	0x61, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x17, 0x62,
  4058  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x73,
  4059  	0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
  4060  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4061  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65,
  4062  	0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x15, 0x62, 0x69, 0x67, 0x71,
  4063  	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  4064  	0x73, 0x12, 0x52, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  4065  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a,
  4066  	0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4067  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75,
  4068  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4069  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x5a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
  4070  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
  4071  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4072  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4073  	0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
  4074  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  4075  	0x6e, 0x12, 0x7a, 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67,
  4076  	0x68, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a,
  4077  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4078  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63,
  4079  	0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
  4080  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68,
  4081  	0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x11, 0x70, 0x61, 0x73, 0x73,
  4082  	0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x79, 0x0a,
  4083  	0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x70, 0x65,
  4084  	0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4085  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4086  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46,
  4087  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
  4088  	0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70,
  4089  	0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4090  	0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
  4091  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  4092  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  4093  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73,
  4094  	0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x36, 0x0a, 0x10, 0x50, 0x61, 0x73, 0x73,
  4095  	0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0a,
  4096  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  4097  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65,
  4098  	0x1a, 0xeb, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53,
  4099  	0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79,
  4100  	0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
  4101  	0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x5b,
  4102  	0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
  4103  	0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4104  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4105  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c,
  4106  	0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74,
  4107  	0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x08, 0x73,
  4108  	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
  4109  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4110  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69,
  4111  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74,
  4112  	0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0d,
  4113  	0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x06,
  4114  	0x0a, 0x1a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4115  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x0f,
  4116  	0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18,
  4117  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4118  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4119  	0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4120  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6e,
  4121  	0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0e,
  4122  	0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64,
  4123  	0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20,
  4124  	0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4125  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4126  	0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4127  	0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x75, 0x6c, 0x6c,
  4128  	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x45, 0x78,
  4129  	0x70, 0x6f, 0x72, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74,
  4130  	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41,
  4131  	0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f,
  4132  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74,
  4133  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4134  	0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  4135  	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4136  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4137  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c,
  4138  	0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0,
  4139  	0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  4140  	0x5b, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63,
  4141  	0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4142  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4143  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
  4144  	0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61,
  4145  	0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x08,
  4146  	0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35,
  4147  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4148  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74,
  4149  	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
  4150  	0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a,
  4151  	0x8c, 0x01, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f,
  4152  	0x72, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74,
  4153  	0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4154  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  4155  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54,
  4156  	0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d,
  4157  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4158  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4159  	0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x7e,
  4160  	0x0a, 0x0a, 0x46, 0x75, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x39, 0x0a, 0x0a,
  4161  	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  4162  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  4163  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74,
  4164  	0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
  4165  	0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4166  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  4167  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06,
  4168  	0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x6c, 0x0a, 0x19, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
  4169  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74,
  4170  	0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69,
  4171  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66, 0x65,
  4172  	0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69,
  4173  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01,
  4174  	0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
  4175  	0x69, 0x65, 0x6c, 0x64, 0x22, 0xcb, 0x02, 0x0a, 0x17, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4176  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4177  	0x12, 0x64, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73,
  4178  	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
  4179  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4180  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51,
  4181  	0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
  4182  	0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69,
  4183  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x14, 0x74, 0x66, 0x72, 0x65, 0x63, 0x6f,
  4184  	0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  4185  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4186  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4187  	0x31, 0x2e, 0x54, 0x46, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
  4188  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x74, 0x66, 0x72, 0x65, 0x63, 0x6f, 0x72,
  4189  	0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0f,
  4190  	0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  4191  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4192  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4193  	0x76, 0x31, 0x2e, 0x43, 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  4194  	0x6e, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
  4195  	0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  4196  	0x6f, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74,
  4197  	0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  4198  	0x65, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65,
  4199  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  4200  	0x6e, 0x73, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e,
  4201  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  4202  	0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  4203  	0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4204  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  4205  	0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52,
  4206  	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4207  	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
  4208  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4209  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4210  	0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4211  	0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
  4212  	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65,
  4213  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x14, 0x47,
  4214  	0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75,
  4215  	0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  4216  	0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4217  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  4218  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52,
  4219  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
  4220  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4221  	0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  4222  	0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x12, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4223  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  4224  	0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06,
  4225  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  4226  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b,
  4227  	0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  4228  	0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
  4229  	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  4230  	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72,
  4231  	0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72,
  4232  	0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61,
  4233  	0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4234  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  4235  	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8c,
  4236  	0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
  4237  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x65, 0x6e,
  4238  	0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  4239  	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4240  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e,
  4241  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4242  	0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
  4243  	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  4244  	0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa4, 0x01,
  4245  	0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4246  	0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
  4247  	0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
  4248  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4249  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69,
  4250  	0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74,
  4251  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
  4252  	0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  4253  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  4254  	0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  4255  	0x4d, 0x61, 0x73, 0x6b, 0x22, 0x71, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e,
  4256  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  4257  	0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0,
  4258  	0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4259  	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  4260  	0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  4261  	0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  4262  	0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61,
  4263  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4264  	0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  4265  	0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4266  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  4267  	0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72,
  4268  	0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02,
  4269  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4270  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4271  	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07,
  4272  	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75,
  4273  	0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
  4274  	0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1a,
  4275  	0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75,
  4276  	0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
  4277  	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
  4278  	0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67,
  4279  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65,
  4280  	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a,
  4281  	0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4282  	0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4283  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
  4284  	0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4285  	0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
  4286  	0x22, 0x5e, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46,
  4287  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  4288  	0x3f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  4289  	0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4290  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46,
  4291  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4292  	0x22, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
  4293  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  4294  	0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70,
  4295  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  4296  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04,
  4297  	0x6e, 0x61, 0x6d, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61,
  4298  	0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06,
  4299  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41,
  4300  	0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4301  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  4302  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
  4303  	0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  4304  	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
  4305  	0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
  4306  	0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  4307  	0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
  4308  	0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18,
  4309  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37,
  4310  	0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28,
  4311  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  4312  	0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72,
  4313  	0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73,
  4314  	0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20,
  4315  	0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73,
  4316  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61,
  4317  	0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a,
  4318  	0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4319  	0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4320  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61,
  4321  	0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26,
  4322  	0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
  4323  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67,
  4324  	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63,
  4325  	0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4326  	0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
  4327  	0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61,
  4328  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  4329  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c,
  4330  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
  4331  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1b, 0x0a,
  4332  	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
  4333  	0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
  4334  	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
  4335  	0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x53, 0x65,
  4336  	0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
  4337  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4338  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4339  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4340  	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61,
  4341  	0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
  4342  	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  4343  	0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01,
  4344  	0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
  4345  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4346  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4347  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4348  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41,
  4349  	0x02, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70,
  4350  	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4351  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  4352  	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64,
  4353  	0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x55, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74,
  4354  	0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  4355  	0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0,
  4356  	0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4357  	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  4358  	0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86,
  4359  	0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4360  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4361  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69,
  4362  	0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  4363  	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4364  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
  4365  	0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4366  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d,
  4367  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x86, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61,
  4368  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70,
  4369  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
  4370  	0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
  4371  	0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4372  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4373  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70,
  4374  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
  4375  	0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4376  	0x22, 0xd3, 0x03, 0x0a, 0x24, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  4377  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  4378  	0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e,
  4379  	0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
  4380  	0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4381  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4382  	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  4383  	0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72,
  4384  	0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6d,
  4385  	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f,
  4386  	0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72,
  4387  	0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f,
  4388  	0x0a, 0x1c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75,
  4389  	0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
  4390  	0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, 0x65,
  4391  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
  4392  	0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x04,
  4393  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x73,
  4394  	0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f,
  4395  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x76,
  4396  	0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x26,
  4397  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64,
  4398  	0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, 0x73,
  4399  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, 0x69,
  4400  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x52, 0x65,
  4401  	0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  4402  	0x12, 0x34, 0x0a, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65,
  4403  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x03,
  4404  	0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4405  	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x24, 0x45, 0x78, 0x70, 0x6f, 0x72,
  4406  	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70,
  4407  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
  4408  	0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
  4409  	0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4410  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4411  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70,
  4412  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
  4413  	0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4414  	0x22, 0x8a, 0x01, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65,
  4415  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4416  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10,
  4417  	0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4418  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4419  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4420  	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4421  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65,
  4422  	0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01,
  4423  	0x0a, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4424  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4425  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69,
  4426  	0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  4427  	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4428  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
  4429  	0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4430  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d,
  4431  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x84, 0x01, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61,
  4432  	0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x70, 0x65, 0x72,
  4433  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a,
  4434  	0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4435  	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4436  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4437  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72,
  4438  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67,
  4439  	0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x81,
  4440  	0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4441  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4442  	0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74,
  4443  	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f,
  4444  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4445  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63,
  4446  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4447  	0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  4448  	0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61,
  4449  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4450  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67,
  4451  	0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
  4452  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4453  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4454  	0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4455  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e,
  4456  	0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x05, 0x0a,
  4457  	0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4458  	0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0d, 0x73,
  4459  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
  4460  	0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4461  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  4462  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c,
  4463  	0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63,
  4464  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63,
  4465  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x94, 0x01, 0x0a, 0x1d, 0x73, 0x65, 0x6c, 0x65,
  4466  	0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x6e,
  4467  	0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4468  	0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4469  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
  4470  	0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  4471  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69,
  4472  	0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4473  	0x65, 0x48, 0x00, 0x52, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52,
  4474  	0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4d,
  4475  	0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
  4476  	0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70,
  4477  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  4478  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
  4479  	0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x6f, 0x0a,
  4480  	0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5f, 0x0a,
  4481  	0x12, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63,
  4482  	0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4483  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4484  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53,
  4485  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x6e,
  4486  	0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xf0,
  4487  	0x01, 0x0a, 0x19, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e,
  4488  	0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x0a,
  4489  	0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  4490  	0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49,
  4491  	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69,
  4492  	0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75,
  4493  	0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
  4494  	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4495  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46,
  4496  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03,
  4497  	0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65,
  4498  	0x63, 0x74, 0x6f, 0x72, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6f, 0x6e, 0x6c,
  4499  	0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65,
  4500  	0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x4f, 0x6e,
  4501  	0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74,
  4502  	0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  4503  	0x6e, 0x22, 0xe1, 0x05, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74,
  4504  	0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  4505  	0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69,
  4506  	0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4507  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4508  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74,
  4509  	0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  4510  	0x65, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00,
  4511  	0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x95,
  4512  	0x01, 0x0a, 0x1d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72,
  4513  	0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4514  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4515  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4516  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4517  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
  4518  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41,
  4519  	0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x19, 0x73, 0x65, 0x6c,
  4520  	0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46,
  4521  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0xb3, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63,
  4522  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x55, 0x0a, 0x28, 0x6f, 0x66, 0x66, 0x6c, 0x69,
  4523  	0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74,
  4524  	0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f,
  4525  	0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x23, 0x6f, 0x66, 0x66, 0x6c, 0x69,
  4526  	0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
  4527  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c,
  4528  	0x0a, 0x23, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  4529  	0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
  4530  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x6f, 0x6e, 0x6c,
  4531  	0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4532  	0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xfa, 0x01, 0x0a,
  4533  	0x19, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65,
  4534  	0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6d,
  4535  	0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63,
  4536  	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x69, 0x6d, 0x70, 0x61,
  4537  	0x63, 0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  4538  	0x12, 0x57, 0x0a, 0x29, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72,
  4539  	0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74,
  4540  	0x69, 0x74, 0x79, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
  4541  	0x01, 0x28, 0x03, 0x52, 0x24, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72,
  4542  	0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74,
  4543  	0x79, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x6f, 0x6e, 0x6c,
  4544  	0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69,
  4545  	0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  4546  	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53,
  4547  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e,
  4548  	0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73,
  4549  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4550  	0x49, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x73,
  4551  	0x76, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
  4552  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4553  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x73, 0x76, 0x53,
  4554  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x63, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72,
  4555  	0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f,
  4556  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74,
  4557  	0x69, 0x74, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x45, 0x6e,
  4558  	0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0xe6, 0x29,
  4559  	0x0a, 0x13, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65,
  4560  	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa6, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
  4561  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67,
  4562  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4563  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
  4564  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
  4565  	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e,
  4566  	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  4567  	0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4568  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65,
  4569  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4570  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x70, 0x61,
  4571  	0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  4572  	0x65, 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75,
  4573  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4574  	0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x0c, 0x66,
  4575  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x31, 0x2f, 0x76, 0x31,
  4576  	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  4577  	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
  4578  	0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0xb1,
  4579  	0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  4580  	0x72, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4581  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  4582  	0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52,
  4583  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4584  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4585  	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4586  	0x22, 0x40, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12,
  4587  	0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  4588  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  4589  	0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f,
  4590  	0x2a, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  4591  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4592  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4593  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4594  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35,
  4595  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4596  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
  4597  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73,
  4598  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  4599  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
  4600  	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
  4601  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74,
  4602  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x12, 0x55, 0x70,
  4603  	0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4604  	0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4605  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70,
  4606  	0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4607  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4608  	0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65,
  4609  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65,
  4610  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x55, 0x70, 0x64, 0x61,
  4611  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70,
  4612  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda,
  4613  	0x41, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x75,
  4614  	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e,
  4615  	0x3a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x32, 0x3e,
  4616  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  4617  	0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4618  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65,
  4619  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xed,
  4620  	0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4621  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4622  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4623  	0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4624  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
  4625  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
  4626  	0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0xca, 0x41,
  4627  	0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  4628  	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4629  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4630  	0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
  4631  	0x66, 0x6f, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31,
  4632  	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4633  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65,
  4634  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa8,
  4635  	0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4636  	0x79, 0x70, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4637  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4638  	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
  4639  	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4640  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
  4641  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xca, 0x41, 0x2f, 0x0a, 0x0a, 0x45,
  4642  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74,
  4643  	0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4644  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x70,
  4645  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70,
  4646  	0x65, 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4647  	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79,
  4648  	0x70, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x0b, 0x65, 0x6e, 0x74,
  4649  	0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
  4650  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  4651  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61,
  4652  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e,
  4653  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x0d, 0x47, 0x65,
  4654  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f,
  4655  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4656  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69,
  4657  	0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
  4658  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4659  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
  4660  	0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3,
  4661  	0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
  4662  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  4663  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  4664  	0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
  4665  	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
  4666  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4667  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4668  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74,
  4669  	0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e,
  4670  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4671  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
  4672  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  4673  	0x73, 0x65, 0x22, 0x50, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4,
  4674  	0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  4675  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
  4676  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4677  	0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4678  	0x79, 0x70, 0x65, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
  4679  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4680  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4681  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74,
  4682  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
  4683  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4684  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69,
  4685  	0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7a, 0xda, 0x41, 0x17, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4686  	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,
  4687  	0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4688  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x32, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69,
  4689  	0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
  4690  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4691  	0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4692  	0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f,
  4693  	0x2a, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74,
  4694  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4695  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4696  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
  4697  	0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
  4698  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
  4699  	0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xca, 0x41,
  4700  	0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  4701  	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4702  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4703  	0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
  4704  	0x66, 0x6f, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x2a, 0x3f, 0x2f, 0x76, 0x31,
  4705  	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4706  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65,
  4707  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e,
  4708  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x97, 0x02, 0x0a,
  4709  	0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30,
  4710  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4711  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
  4712  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4713  	0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
  4714  	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
  4715  	0xb4, 0x01, 0xca, 0x41, 0x29, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e,
  4716  	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65,
  4717  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41,
  4718  	0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0xda,
  4719  	0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4720  	0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  4721  	0x55, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x2f,
  4722  	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  4723  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66,
  4724  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65,
  4725  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65,
  4726  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xa8, 0x02, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68,
  4727  	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x36,
  4728  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4729  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63,
  4730  	0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52,
  4731  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4732  	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
  4733  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x42, 0x61, 0x74,
  4734  	0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4735  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43,
  4736  	0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x65,
  4737  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41,
  4738  	0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
  4739  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x01, 0x2a, 0x22, 0x56, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  4740  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4741  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65,
  4742  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e,
  4743  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61,
  4744  	0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74,
  4745  	0x65, 0x12, 0xbb, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4746  	0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4747  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
  4748  	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4749  	0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4750  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61,
  4751  	0x74, 0x75, 0x72, 0x65, 0x22, 0x59, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4,
  4752  	0x93, 0x02, 0x4c, 0x12, 0x4a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
  4753  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  4754  	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  4755  	0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4756  	0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12,
  4757  	0xce, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4758  	0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4759  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
  4760  	0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4761  	0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4762  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
  4763  	0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  4764  	0x6e, 0x73, 0x65, 0x22, 0x5b, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3,
  4765  	0xe4, 0x93, 0x02, 0x4c, 0x12, 0x4a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
  4766  	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  4767  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4768  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4769  	0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4770  	0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75,
  4771  	0x72, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4772  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  4773  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71,
  4774  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4775  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4776  	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x79, 0xda, 0x41, 0x13, 0x66, 0x65,
  4777  	0x61, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
  4778  	0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4779  	0x32, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x6e,
  4780  	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
  4781  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75,
  4782  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4783  	0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4784  	0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46,
  4785  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4786  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4787  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4788  	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4789  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
  4790  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67,
  4791  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
  4792  	0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72,
  4793  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04,
  4794  	0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x2a, 0x4a, 0x2f, 0x76, 0x31, 0x2f,
  4795  	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  4796  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61,
  4797  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74,
  4798  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75,
  4799  	0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa8, 0x02, 0x0a, 0x13, 0x49, 0x6d, 0x70, 0x6f, 0x72,
  4800  	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36,
  4801  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4802  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
  4803  	0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52,
  4804  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4805  	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
  4806  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x49, 0x6d, 0x70,
  4807  	0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  4808  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
  4809  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65,
  4810  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41,
  4811  	0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93,
  4812  	0x02, 0x5f, 0x3a, 0x01, 0x2a, 0x22, 0x5a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69,
  4813  	0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  4814  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66,
  4815  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65,
  4816  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6d,
  4817  	0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
  4818  	0x73, 0x12, 0xab, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46,
  4819  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67,
  4820  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4821  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52,
  4822  	0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  4823  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4824  	0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65,
  4825  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x42, 0x61,
  4826  	0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4827  	0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x42, 0x61,
  4828  	0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4829  	0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
  4830  	0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4831  	0x74, 0x6f, 0x72, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x01, 0x2a, 0x22, 0x50, 0x2f,
  4832  	0x76, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4833  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
  4834  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4835  	0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
  4836  	0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12,
  4837  	0xa8, 0x02, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4838  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4839  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4840  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  4841  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4842  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
  4843  	0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9,
  4844  	0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74,
  4845  	0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  4846  	0x65, 0x12, 0x24, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4847  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  4848  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4849  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x01, 0x2a, 0x22, 0x5a,
  4850  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
  4851  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
  4852  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4853  	0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4854  	0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61,
  4855  	0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xa8, 0x02, 0x0a, 0x13, 0x44,
  4856  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
  4857  	0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4858  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  4859  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c,
  4860  	0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
  4861  	0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
  4862  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x43, 0x0a,
  4863  	0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4864  	0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x44, 0x65,
  4865  	0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
  4866  	0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  4867  	0x74, 0x61, 0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
  4868  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x01, 0x2a, 0x22, 0x5a, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  4869  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
  4870  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  4871  	0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73,
  4872  	0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a,
  4873  	0x7d, 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4874  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
  4875  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4876  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4877  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74,
  4878  	0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f,
  4879  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4880  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46,
  4881  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
  4882  	0x66, 0xda, 0x41, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x0e, 0x6c,
  4883  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x82, 0xd3, 0xe4,
  4884  	0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  4885  	0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
  4886  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75,
  4887  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46,
  4888  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c,
  4889  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  4890  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
  4891  	0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  4892  	0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c,
  4893  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xd6, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
  4894  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4895  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x18, 0x46, 0x65, 0x61, 0x74, 0x75,
  4896  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
  4897  	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f,
  4898  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4899  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c,
  4900  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4901  	0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
  4902  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4903  	0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
  4904  	0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea,
  4905  	0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a,
  4906  	0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62,
  4907  	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  4908  }
  4909  
  4910  var (
  4911  	file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescOnce sync.Once
  4912  	file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescData = file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDesc
  4913  )
  4914  
  4915  func file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescGZIP() []byte {
  4916  	file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescOnce.Do(func() {
  4917  		file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescData)
  4918  	})
  4919  	return file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDescData
  4920  }
  4921  
  4922  var file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
  4923  var file_google_cloud_aiplatform_v1_featurestore_service_proto_goTypes = []any{
  4924  	(*CreateFeaturestoreRequest)(nil),                             // 0: google.cloud.aiplatform.v1.CreateFeaturestoreRequest
  4925  	(*GetFeaturestoreRequest)(nil),                                // 1: google.cloud.aiplatform.v1.GetFeaturestoreRequest
  4926  	(*ListFeaturestoresRequest)(nil),                              // 2: google.cloud.aiplatform.v1.ListFeaturestoresRequest
  4927  	(*ListFeaturestoresResponse)(nil),                             // 3: google.cloud.aiplatform.v1.ListFeaturestoresResponse
  4928  	(*UpdateFeaturestoreRequest)(nil),                             // 4: google.cloud.aiplatform.v1.UpdateFeaturestoreRequest
  4929  	(*DeleteFeaturestoreRequest)(nil),                             // 5: google.cloud.aiplatform.v1.DeleteFeaturestoreRequest
  4930  	(*ImportFeatureValuesRequest)(nil),                            // 6: google.cloud.aiplatform.v1.ImportFeatureValuesRequest
  4931  	(*ImportFeatureValuesResponse)(nil),                           // 7: google.cloud.aiplatform.v1.ImportFeatureValuesResponse
  4932  	(*BatchReadFeatureValuesRequest)(nil),                         // 8: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest
  4933  	(*ExportFeatureValuesRequest)(nil),                            // 9: google.cloud.aiplatform.v1.ExportFeatureValuesRequest
  4934  	(*DestinationFeatureSetting)(nil),                             // 10: google.cloud.aiplatform.v1.DestinationFeatureSetting
  4935  	(*FeatureValueDestination)(nil),                               // 11: google.cloud.aiplatform.v1.FeatureValueDestination
  4936  	(*ExportFeatureValuesResponse)(nil),                           // 12: google.cloud.aiplatform.v1.ExportFeatureValuesResponse
  4937  	(*BatchReadFeatureValuesResponse)(nil),                        // 13: google.cloud.aiplatform.v1.BatchReadFeatureValuesResponse
  4938  	(*CreateEntityTypeRequest)(nil),                               // 14: google.cloud.aiplatform.v1.CreateEntityTypeRequest
  4939  	(*GetEntityTypeRequest)(nil),                                  // 15: google.cloud.aiplatform.v1.GetEntityTypeRequest
  4940  	(*ListEntityTypesRequest)(nil),                                // 16: google.cloud.aiplatform.v1.ListEntityTypesRequest
  4941  	(*ListEntityTypesResponse)(nil),                               // 17: google.cloud.aiplatform.v1.ListEntityTypesResponse
  4942  	(*UpdateEntityTypeRequest)(nil),                               // 18: google.cloud.aiplatform.v1.UpdateEntityTypeRequest
  4943  	(*DeleteEntityTypeRequest)(nil),                               // 19: google.cloud.aiplatform.v1.DeleteEntityTypeRequest
  4944  	(*CreateFeatureRequest)(nil),                                  // 20: google.cloud.aiplatform.v1.CreateFeatureRequest
  4945  	(*BatchCreateFeaturesRequest)(nil),                            // 21: google.cloud.aiplatform.v1.BatchCreateFeaturesRequest
  4946  	(*BatchCreateFeaturesResponse)(nil),                           // 22: google.cloud.aiplatform.v1.BatchCreateFeaturesResponse
  4947  	(*GetFeatureRequest)(nil),                                     // 23: google.cloud.aiplatform.v1.GetFeatureRequest
  4948  	(*ListFeaturesRequest)(nil),                                   // 24: google.cloud.aiplatform.v1.ListFeaturesRequest
  4949  	(*ListFeaturesResponse)(nil),                                  // 25: google.cloud.aiplatform.v1.ListFeaturesResponse
  4950  	(*SearchFeaturesRequest)(nil),                                 // 26: google.cloud.aiplatform.v1.SearchFeaturesRequest
  4951  	(*SearchFeaturesResponse)(nil),                                // 27: google.cloud.aiplatform.v1.SearchFeaturesResponse
  4952  	(*UpdateFeatureRequest)(nil),                                  // 28: google.cloud.aiplatform.v1.UpdateFeatureRequest
  4953  	(*DeleteFeatureRequest)(nil),                                  // 29: google.cloud.aiplatform.v1.DeleteFeatureRequest
  4954  	(*CreateFeaturestoreOperationMetadata)(nil),                   // 30: google.cloud.aiplatform.v1.CreateFeaturestoreOperationMetadata
  4955  	(*UpdateFeaturestoreOperationMetadata)(nil),                   // 31: google.cloud.aiplatform.v1.UpdateFeaturestoreOperationMetadata
  4956  	(*ImportFeatureValuesOperationMetadata)(nil),                  // 32: google.cloud.aiplatform.v1.ImportFeatureValuesOperationMetadata
  4957  	(*ExportFeatureValuesOperationMetadata)(nil),                  // 33: google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata
  4958  	(*BatchReadFeatureValuesOperationMetadata)(nil),               // 34: google.cloud.aiplatform.v1.BatchReadFeatureValuesOperationMetadata
  4959  	(*DeleteFeatureValuesOperationMetadata)(nil),                  // 35: google.cloud.aiplatform.v1.DeleteFeatureValuesOperationMetadata
  4960  	(*CreateEntityTypeOperationMetadata)(nil),                     // 36: google.cloud.aiplatform.v1.CreateEntityTypeOperationMetadata
  4961  	(*CreateFeatureOperationMetadata)(nil),                        // 37: google.cloud.aiplatform.v1.CreateFeatureOperationMetadata
  4962  	(*BatchCreateFeaturesOperationMetadata)(nil),                  // 38: google.cloud.aiplatform.v1.BatchCreateFeaturesOperationMetadata
  4963  	(*DeleteFeatureValuesRequest)(nil),                            // 39: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest
  4964  	(*DeleteFeatureValuesResponse)(nil),                           // 40: google.cloud.aiplatform.v1.DeleteFeatureValuesResponse
  4965  	(*EntityIdSelector)(nil),                                      // 41: google.cloud.aiplatform.v1.EntityIdSelector
  4966  	(*ImportFeatureValuesRequest_FeatureSpec)(nil),                // 42: google.cloud.aiplatform.v1.ImportFeatureValuesRequest.FeatureSpec
  4967  	(*BatchReadFeatureValuesRequest_PassThroughField)(nil),        // 43: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.PassThroughField
  4968  	(*BatchReadFeatureValuesRequest_EntityTypeSpec)(nil),          // 44: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.EntityTypeSpec
  4969  	(*ExportFeatureValuesRequest_SnapshotExport)(nil),             // 45: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.SnapshotExport
  4970  	(*ExportFeatureValuesRequest_FullExport)(nil),                 // 46: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.FullExport
  4971  	(*DeleteFeatureValuesRequest_SelectEntity)(nil),               // 47: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectEntity
  4972  	(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature)(nil),  // 48: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature
  4973  	(*DeleteFeatureValuesResponse_SelectEntity)(nil),              // 49: google.cloud.aiplatform.v1.DeleteFeatureValuesResponse.SelectEntity
  4974  	(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature)(nil), // 50: google.cloud.aiplatform.v1.DeleteFeatureValuesResponse.SelectTimeRangeAndFeature
  4975  	(*Featurestore)(nil),                                          // 51: google.cloud.aiplatform.v1.Featurestore
  4976  	(*fieldmaskpb.FieldMask)(nil),                                 // 52: google.protobuf.FieldMask
  4977  	(*AvroSource)(nil),                                            // 53: google.cloud.aiplatform.v1.AvroSource
  4978  	(*BigQuerySource)(nil),                                        // 54: google.cloud.aiplatform.v1.BigQuerySource
  4979  	(*CsvSource)(nil),                                             // 55: google.cloud.aiplatform.v1.CsvSource
  4980  	(*timestamppb.Timestamp)(nil),                                 // 56: google.protobuf.Timestamp
  4981  	(*FeatureSelector)(nil),                                       // 57: google.cloud.aiplatform.v1.FeatureSelector
  4982  	(*BigQueryDestination)(nil),                                   // 58: google.cloud.aiplatform.v1.BigQueryDestination
  4983  	(*TFRecordDestination)(nil),                                   // 59: google.cloud.aiplatform.v1.TFRecordDestination
  4984  	(*CsvDestination)(nil),                                        // 60: google.cloud.aiplatform.v1.CsvDestination
  4985  	(*EntityType)(nil),                                            // 61: google.cloud.aiplatform.v1.EntityType
  4986  	(*Feature)(nil),                                               // 62: google.cloud.aiplatform.v1.Feature
  4987  	(*GenericOperationMetadata)(nil),                              // 63: google.cloud.aiplatform.v1.GenericOperationMetadata
  4988  	(*interval.Interval)(nil),                                     // 64: google.type.Interval
  4989  	(*longrunningpb.Operation)(nil),                               // 65: google.longrunning.Operation
  4990  }
  4991  var file_google_cloud_aiplatform_v1_featurestore_service_proto_depIdxs = []int32{
  4992  	51, // 0: google.cloud.aiplatform.v1.CreateFeaturestoreRequest.featurestore:type_name -> google.cloud.aiplatform.v1.Featurestore
  4993  	52, // 1: google.cloud.aiplatform.v1.ListFeaturestoresRequest.read_mask:type_name -> google.protobuf.FieldMask
  4994  	51, // 2: google.cloud.aiplatform.v1.ListFeaturestoresResponse.featurestores:type_name -> google.cloud.aiplatform.v1.Featurestore
  4995  	51, // 3: google.cloud.aiplatform.v1.UpdateFeaturestoreRequest.featurestore:type_name -> google.cloud.aiplatform.v1.Featurestore
  4996  	52, // 4: google.cloud.aiplatform.v1.UpdateFeaturestoreRequest.update_mask:type_name -> google.protobuf.FieldMask
  4997  	53, // 5: google.cloud.aiplatform.v1.ImportFeatureValuesRequest.avro_source:type_name -> google.cloud.aiplatform.v1.AvroSource
  4998  	54, // 6: google.cloud.aiplatform.v1.ImportFeatureValuesRequest.bigquery_source:type_name -> google.cloud.aiplatform.v1.BigQuerySource
  4999  	55, // 7: google.cloud.aiplatform.v1.ImportFeatureValuesRequest.csv_source:type_name -> google.cloud.aiplatform.v1.CsvSource
  5000  	56, // 8: google.cloud.aiplatform.v1.ImportFeatureValuesRequest.feature_time:type_name -> google.protobuf.Timestamp
  5001  	42, // 9: google.cloud.aiplatform.v1.ImportFeatureValuesRequest.feature_specs:type_name -> google.cloud.aiplatform.v1.ImportFeatureValuesRequest.FeatureSpec
  5002  	55, // 10: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.csv_read_instances:type_name -> google.cloud.aiplatform.v1.CsvSource
  5003  	54, // 11: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.bigquery_read_instances:type_name -> google.cloud.aiplatform.v1.BigQuerySource
  5004  	11, // 12: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.destination:type_name -> google.cloud.aiplatform.v1.FeatureValueDestination
  5005  	43, // 13: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.pass_through_fields:type_name -> google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.PassThroughField
  5006  	44, // 14: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.entity_type_specs:type_name -> google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.EntityTypeSpec
  5007  	56, // 15: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.start_time:type_name -> google.protobuf.Timestamp
  5008  	45, // 16: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.snapshot_export:type_name -> google.cloud.aiplatform.v1.ExportFeatureValuesRequest.SnapshotExport
  5009  	46, // 17: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.full_export:type_name -> google.cloud.aiplatform.v1.ExportFeatureValuesRequest.FullExport
  5010  	11, // 18: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.destination:type_name -> google.cloud.aiplatform.v1.FeatureValueDestination
  5011  	57, // 19: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.feature_selector:type_name -> google.cloud.aiplatform.v1.FeatureSelector
  5012  	10, // 20: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.settings:type_name -> google.cloud.aiplatform.v1.DestinationFeatureSetting
  5013  	58, // 21: google.cloud.aiplatform.v1.FeatureValueDestination.bigquery_destination:type_name -> google.cloud.aiplatform.v1.BigQueryDestination
  5014  	59, // 22: google.cloud.aiplatform.v1.FeatureValueDestination.tfrecord_destination:type_name -> google.cloud.aiplatform.v1.TFRecordDestination
  5015  	60, // 23: google.cloud.aiplatform.v1.FeatureValueDestination.csv_destination:type_name -> google.cloud.aiplatform.v1.CsvDestination
  5016  	61, // 24: google.cloud.aiplatform.v1.CreateEntityTypeRequest.entity_type:type_name -> google.cloud.aiplatform.v1.EntityType
  5017  	52, // 25: google.cloud.aiplatform.v1.ListEntityTypesRequest.read_mask:type_name -> google.protobuf.FieldMask
  5018  	61, // 26: google.cloud.aiplatform.v1.ListEntityTypesResponse.entity_types:type_name -> google.cloud.aiplatform.v1.EntityType
  5019  	61, // 27: google.cloud.aiplatform.v1.UpdateEntityTypeRequest.entity_type:type_name -> google.cloud.aiplatform.v1.EntityType
  5020  	52, // 28: google.cloud.aiplatform.v1.UpdateEntityTypeRequest.update_mask:type_name -> google.protobuf.FieldMask
  5021  	62, // 29: google.cloud.aiplatform.v1.CreateFeatureRequest.feature:type_name -> google.cloud.aiplatform.v1.Feature
  5022  	20, // 30: google.cloud.aiplatform.v1.BatchCreateFeaturesRequest.requests:type_name -> google.cloud.aiplatform.v1.CreateFeatureRequest
  5023  	62, // 31: google.cloud.aiplatform.v1.BatchCreateFeaturesResponse.features:type_name -> google.cloud.aiplatform.v1.Feature
  5024  	52, // 32: google.cloud.aiplatform.v1.ListFeaturesRequest.read_mask:type_name -> google.protobuf.FieldMask
  5025  	62, // 33: google.cloud.aiplatform.v1.ListFeaturesResponse.features:type_name -> google.cloud.aiplatform.v1.Feature
  5026  	62, // 34: google.cloud.aiplatform.v1.SearchFeaturesResponse.features:type_name -> google.cloud.aiplatform.v1.Feature
  5027  	62, // 35: google.cloud.aiplatform.v1.UpdateFeatureRequest.feature:type_name -> google.cloud.aiplatform.v1.Feature
  5028  	52, // 36: google.cloud.aiplatform.v1.UpdateFeatureRequest.update_mask:type_name -> google.protobuf.FieldMask
  5029  	63, // 37: google.cloud.aiplatform.v1.CreateFeaturestoreOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5030  	63, // 38: google.cloud.aiplatform.v1.UpdateFeaturestoreOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5031  	63, // 39: google.cloud.aiplatform.v1.ImportFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5032  	63, // 40: google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5033  	63, // 41: google.cloud.aiplatform.v1.BatchReadFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5034  	63, // 42: google.cloud.aiplatform.v1.DeleteFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5035  	63, // 43: google.cloud.aiplatform.v1.CreateEntityTypeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5036  	63, // 44: google.cloud.aiplatform.v1.CreateFeatureOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5037  	63, // 45: google.cloud.aiplatform.v1.BatchCreateFeaturesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
  5038  	47, // 46: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.select_entity:type_name -> google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectEntity
  5039  	48, // 47: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.select_time_range_and_feature:type_name -> google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature
  5040  	49, // 48: google.cloud.aiplatform.v1.DeleteFeatureValuesResponse.select_entity:type_name -> google.cloud.aiplatform.v1.DeleteFeatureValuesResponse.SelectEntity
  5041  	50, // 49: google.cloud.aiplatform.v1.DeleteFeatureValuesResponse.select_time_range_and_feature:type_name -> google.cloud.aiplatform.v1.DeleteFeatureValuesResponse.SelectTimeRangeAndFeature
  5042  	55, // 50: google.cloud.aiplatform.v1.EntityIdSelector.csv_source:type_name -> google.cloud.aiplatform.v1.CsvSource
  5043  	57, // 51: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.EntityTypeSpec.feature_selector:type_name -> google.cloud.aiplatform.v1.FeatureSelector
  5044  	10, // 52: google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest.EntityTypeSpec.settings:type_name -> google.cloud.aiplatform.v1.DestinationFeatureSetting
  5045  	56, // 53: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.SnapshotExport.snapshot_time:type_name -> google.protobuf.Timestamp
  5046  	56, // 54: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.SnapshotExport.start_time:type_name -> google.protobuf.Timestamp
  5047  	56, // 55: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.FullExport.start_time:type_name -> google.protobuf.Timestamp
  5048  	56, // 56: google.cloud.aiplatform.v1.ExportFeatureValuesRequest.FullExport.end_time:type_name -> google.protobuf.Timestamp
  5049  	41, // 57: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectEntity.entity_id_selector:type_name -> google.cloud.aiplatform.v1.EntityIdSelector
  5050  	64, // 58: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature.time_range:type_name -> google.type.Interval
  5051  	57, // 59: google.cloud.aiplatform.v1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature.feature_selector:type_name -> google.cloud.aiplatform.v1.FeatureSelector
  5052  	0,  // 60: google.cloud.aiplatform.v1.FeaturestoreService.CreateFeaturestore:input_type -> google.cloud.aiplatform.v1.CreateFeaturestoreRequest
  5053  	1,  // 61: google.cloud.aiplatform.v1.FeaturestoreService.GetFeaturestore:input_type -> google.cloud.aiplatform.v1.GetFeaturestoreRequest
  5054  	2,  // 62: google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores:input_type -> google.cloud.aiplatform.v1.ListFeaturestoresRequest
  5055  	4,  // 63: google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeaturestore:input_type -> google.cloud.aiplatform.v1.UpdateFeaturestoreRequest
  5056  	5,  // 64: google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeaturestore:input_type -> google.cloud.aiplatform.v1.DeleteFeaturestoreRequest
  5057  	14, // 65: google.cloud.aiplatform.v1.FeaturestoreService.CreateEntityType:input_type -> google.cloud.aiplatform.v1.CreateEntityTypeRequest
  5058  	15, // 66: google.cloud.aiplatform.v1.FeaturestoreService.GetEntityType:input_type -> google.cloud.aiplatform.v1.GetEntityTypeRequest
  5059  	16, // 67: google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes:input_type -> google.cloud.aiplatform.v1.ListEntityTypesRequest
  5060  	18, // 68: google.cloud.aiplatform.v1.FeaturestoreService.UpdateEntityType:input_type -> google.cloud.aiplatform.v1.UpdateEntityTypeRequest
  5061  	19, // 69: google.cloud.aiplatform.v1.FeaturestoreService.DeleteEntityType:input_type -> google.cloud.aiplatform.v1.DeleteEntityTypeRequest
  5062  	20, // 70: google.cloud.aiplatform.v1.FeaturestoreService.CreateFeature:input_type -> google.cloud.aiplatform.v1.CreateFeatureRequest
  5063  	21, // 71: google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures:input_type -> google.cloud.aiplatform.v1.BatchCreateFeaturesRequest
  5064  	23, // 72: google.cloud.aiplatform.v1.FeaturestoreService.GetFeature:input_type -> google.cloud.aiplatform.v1.GetFeatureRequest
  5065  	24, // 73: google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures:input_type -> google.cloud.aiplatform.v1.ListFeaturesRequest
  5066  	28, // 74: google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeature:input_type -> google.cloud.aiplatform.v1.UpdateFeatureRequest
  5067  	29, // 75: google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeature:input_type -> google.cloud.aiplatform.v1.DeleteFeatureRequest
  5068  	6,  // 76: google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues:input_type -> google.cloud.aiplatform.v1.ImportFeatureValuesRequest
  5069  	8,  // 77: google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues:input_type -> google.cloud.aiplatform.v1.BatchReadFeatureValuesRequest
  5070  	9,  // 78: google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues:input_type -> google.cloud.aiplatform.v1.ExportFeatureValuesRequest
  5071  	39, // 79: google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeatureValues:input_type -> google.cloud.aiplatform.v1.DeleteFeatureValuesRequest
  5072  	26, // 80: google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures:input_type -> google.cloud.aiplatform.v1.SearchFeaturesRequest
  5073  	65, // 81: google.cloud.aiplatform.v1.FeaturestoreService.CreateFeaturestore:output_type -> google.longrunning.Operation
  5074  	51, // 82: google.cloud.aiplatform.v1.FeaturestoreService.GetFeaturestore:output_type -> google.cloud.aiplatform.v1.Featurestore
  5075  	3,  // 83: google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores:output_type -> google.cloud.aiplatform.v1.ListFeaturestoresResponse
  5076  	65, // 84: google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeaturestore:output_type -> google.longrunning.Operation
  5077  	65, // 85: google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeaturestore:output_type -> google.longrunning.Operation
  5078  	65, // 86: google.cloud.aiplatform.v1.FeaturestoreService.CreateEntityType:output_type -> google.longrunning.Operation
  5079  	61, // 87: google.cloud.aiplatform.v1.FeaturestoreService.GetEntityType:output_type -> google.cloud.aiplatform.v1.EntityType
  5080  	17, // 88: google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes:output_type -> google.cloud.aiplatform.v1.ListEntityTypesResponse
  5081  	61, // 89: google.cloud.aiplatform.v1.FeaturestoreService.UpdateEntityType:output_type -> google.cloud.aiplatform.v1.EntityType
  5082  	65, // 90: google.cloud.aiplatform.v1.FeaturestoreService.DeleteEntityType:output_type -> google.longrunning.Operation
  5083  	65, // 91: google.cloud.aiplatform.v1.FeaturestoreService.CreateFeature:output_type -> google.longrunning.Operation
  5084  	65, // 92: google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures:output_type -> google.longrunning.Operation
  5085  	62, // 93: google.cloud.aiplatform.v1.FeaturestoreService.GetFeature:output_type -> google.cloud.aiplatform.v1.Feature
  5086  	25, // 94: google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures:output_type -> google.cloud.aiplatform.v1.ListFeaturesResponse
  5087  	62, // 95: google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeature:output_type -> google.cloud.aiplatform.v1.Feature
  5088  	65, // 96: google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeature:output_type -> google.longrunning.Operation
  5089  	65, // 97: google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues:output_type -> google.longrunning.Operation
  5090  	65, // 98: google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues:output_type -> google.longrunning.Operation
  5091  	65, // 99: google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues:output_type -> google.longrunning.Operation
  5092  	65, // 100: google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeatureValues:output_type -> google.longrunning.Operation
  5093  	27, // 101: google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures:output_type -> google.cloud.aiplatform.v1.SearchFeaturesResponse
  5094  	81, // [81:102] is the sub-list for method output_type
  5095  	60, // [60:81] is the sub-list for method input_type
  5096  	60, // [60:60] is the sub-list for extension type_name
  5097  	60, // [60:60] is the sub-list for extension extendee
  5098  	0,  // [0:60] is the sub-list for field type_name
  5099  }
  5100  
  5101  func init() { file_google_cloud_aiplatform_v1_featurestore_service_proto_init() }
  5102  func file_google_cloud_aiplatform_v1_featurestore_service_proto_init() {
  5103  	if File_google_cloud_aiplatform_v1_featurestore_service_proto != nil {
  5104  		return
  5105  	}
  5106  	file_google_cloud_aiplatform_v1_entity_type_proto_init()
  5107  	file_google_cloud_aiplatform_v1_feature_proto_init()
  5108  	file_google_cloud_aiplatform_v1_feature_selector_proto_init()
  5109  	file_google_cloud_aiplatform_v1_featurestore_proto_init()
  5110  	file_google_cloud_aiplatform_v1_io_proto_init()
  5111  	file_google_cloud_aiplatform_v1_operation_proto_init()
  5112  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[6].OneofWrappers = []any{
  5113  		(*ImportFeatureValuesRequest_AvroSource)(nil),
  5114  		(*ImportFeatureValuesRequest_BigquerySource)(nil),
  5115  		(*ImportFeatureValuesRequest_CsvSource)(nil),
  5116  		(*ImportFeatureValuesRequest_FeatureTimeField)(nil),
  5117  		(*ImportFeatureValuesRequest_FeatureTime)(nil),
  5118  	}
  5119  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[8].OneofWrappers = []any{
  5120  		(*BatchReadFeatureValuesRequest_CsvReadInstances)(nil),
  5121  		(*BatchReadFeatureValuesRequest_BigqueryReadInstances)(nil),
  5122  	}
  5123  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[9].OneofWrappers = []any{
  5124  		(*ExportFeatureValuesRequest_SnapshotExport_)(nil),
  5125  		(*ExportFeatureValuesRequest_FullExport_)(nil),
  5126  	}
  5127  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[11].OneofWrappers = []any{
  5128  		(*FeatureValueDestination_BigqueryDestination)(nil),
  5129  		(*FeatureValueDestination_TfrecordDestination)(nil),
  5130  		(*FeatureValueDestination_CsvDestination)(nil),
  5131  	}
  5132  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[39].OneofWrappers = []any{
  5133  		(*DeleteFeatureValuesRequest_SelectEntity_)(nil),
  5134  		(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_)(nil),
  5135  	}
  5136  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[40].OneofWrappers = []any{
  5137  		(*DeleteFeatureValuesResponse_SelectEntity_)(nil),
  5138  		(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_)(nil),
  5139  	}
  5140  	file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes[41].OneofWrappers = []any{
  5141  		(*EntityIdSelector_CsvSource)(nil),
  5142  	}
  5143  	type x struct{}
  5144  	out := protoimpl.TypeBuilder{
  5145  		File: protoimpl.DescBuilder{
  5146  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  5147  			RawDescriptor: file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDesc,
  5148  			NumEnums:      0,
  5149  			NumMessages:   51,
  5150  			NumExtensions: 0,
  5151  			NumServices:   1,
  5152  		},
  5153  		GoTypes:           file_google_cloud_aiplatform_v1_featurestore_service_proto_goTypes,
  5154  		DependencyIndexes: file_google_cloud_aiplatform_v1_featurestore_service_proto_depIdxs,
  5155  		MessageInfos:      file_google_cloud_aiplatform_v1_featurestore_service_proto_msgTypes,
  5156  	}.Build()
  5157  	File_google_cloud_aiplatform_v1_featurestore_service_proto = out.File
  5158  	file_google_cloud_aiplatform_v1_featurestore_service_proto_rawDesc = nil
  5159  	file_google_cloud_aiplatform_v1_featurestore_service_proto_goTypes = nil
  5160  	file_google_cloud_aiplatform_v1_featurestore_service_proto_depIdxs = nil
  5161  }