cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/prediction_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/prediction_service.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	httpbody "google.golang.org/genproto/googleapis/api/httpbody"
    26  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    27  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    28  	structpb "google.golang.org/protobuf/types/known/structpb"
    29  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    30  	reflect "reflect"
    31  	sync "sync"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // Blocked reason enumeration.
    42  type GenerateContentResponse_PromptFeedback_BlockedReason int32
    43  
    44  const (
    45  	// Unspecified blocked reason.
    46  	GenerateContentResponse_PromptFeedback_BLOCKED_REASON_UNSPECIFIED GenerateContentResponse_PromptFeedback_BlockedReason = 0
    47  	// Candidates blocked due to safety.
    48  	GenerateContentResponse_PromptFeedback_SAFETY GenerateContentResponse_PromptFeedback_BlockedReason = 1
    49  	// Candidates blocked due to other reason.
    50  	GenerateContentResponse_PromptFeedback_OTHER GenerateContentResponse_PromptFeedback_BlockedReason = 2
    51  	// Candidates blocked due to the terms which are included from the
    52  	// terminology blocklist.
    53  	GenerateContentResponse_PromptFeedback_BLOCKLIST GenerateContentResponse_PromptFeedback_BlockedReason = 3
    54  	// Candidates blocked due to prohibited content.
    55  	GenerateContentResponse_PromptFeedback_PROHIBITED_CONTENT GenerateContentResponse_PromptFeedback_BlockedReason = 4
    56  	// The user prompt was blocked by Model Armor.
    57  	GenerateContentResponse_PromptFeedback_MODEL_ARMOR GenerateContentResponse_PromptFeedback_BlockedReason = 5
    58  	// The user prompt was blocked due to jailbreak.
    59  	GenerateContentResponse_PromptFeedback_JAILBREAK GenerateContentResponse_PromptFeedback_BlockedReason = 6
    60  )
    61  
    62  // Enum value maps for GenerateContentResponse_PromptFeedback_BlockedReason.
    63  var (
    64  	GenerateContentResponse_PromptFeedback_BlockedReason_name = map[int32]string{
    65  		0: "BLOCKED_REASON_UNSPECIFIED",
    66  		1: "SAFETY",
    67  		2: "OTHER",
    68  		3: "BLOCKLIST",
    69  		4: "PROHIBITED_CONTENT",
    70  		5: "MODEL_ARMOR",
    71  		6: "JAILBREAK",
    72  	}
    73  	GenerateContentResponse_PromptFeedback_BlockedReason_value = map[string]int32{
    74  		"BLOCKED_REASON_UNSPECIFIED": 0,
    75  		"SAFETY":                     1,
    76  		"OTHER":                      2,
    77  		"BLOCKLIST":                  3,
    78  		"PROHIBITED_CONTENT":         4,
    79  		"MODEL_ARMOR":                5,
    80  		"JAILBREAK":                  6,
    81  	}
    82  )
    83  
    84  func (x GenerateContentResponse_PromptFeedback_BlockedReason) Enum() *GenerateContentResponse_PromptFeedback_BlockedReason {
    85  	p := new(GenerateContentResponse_PromptFeedback_BlockedReason)
    86  	*p = x
    87  	return p
    88  }
    89  
    90  func (x GenerateContentResponse_PromptFeedback_BlockedReason) String() string {
    91  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    92  }
    93  
    94  func (GenerateContentResponse_PromptFeedback_BlockedReason) Descriptor() protoreflect.EnumDescriptor {
    95  	return file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes[0].Descriptor()
    96  }
    97  
    98  func (GenerateContentResponse_PromptFeedback_BlockedReason) Type() protoreflect.EnumType {
    99  	return &file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes[0]
   100  }
   101  
   102  func (x GenerateContentResponse_PromptFeedback_BlockedReason) Number() protoreflect.EnumNumber {
   103  	return protoreflect.EnumNumber(x)
   104  }
   105  
   106  // Deprecated: Use GenerateContentResponse_PromptFeedback_BlockedReason.Descriptor instead.
   107  func (GenerateContentResponse_PromptFeedback_BlockedReason) EnumDescriptor() ([]byte, []int) {
   108  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21, 0, 0}
   109  }
   110  
   111  // Request message for
   112  // [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict].
   113  type PredictRequest struct {
   114  	state         protoimpl.MessageState
   115  	sizeCache     protoimpl.SizeCache
   116  	unknownFields protoimpl.UnknownFields
   117  
   118  	// Required. The name of the Endpoint requested to serve the prediction.
   119  	// Format:
   120  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   121  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   122  	// Required. The instances that are the input to the prediction call.
   123  	// A DeployedModel may have an upper limit on the number of instances it
   124  	// supports per request, and when it is exceeded the prediction call errors
   125  	// in case of AutoML Models, or, in case of customer created Models, the
   126  	// behaviour is as documented by that Model.
   127  	// The schema of any single instance may be specified via Endpoint's
   128  	// DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model]
   129  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
   130  	// [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri].
   131  	Instances []*structpb.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"`
   132  	// The parameters that govern the prediction. The schema of the parameters may
   133  	// be specified via Endpoint's DeployedModels' [Model's
   134  	// ][google.cloud.aiplatform.v1.DeployedModel.model]
   135  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
   136  	// [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri].
   137  	Parameters *structpb.Value `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
   138  	// Optional. The user labels for Imagen billing usage only. Only Imagen
   139  	// supports labels. For other use cases, it will be ignored.
   140  	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   141  }
   142  
   143  func (x *PredictRequest) Reset() {
   144  	*x = PredictRequest{}
   145  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[0]
   146  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   147  	ms.StoreMessageInfo(mi)
   148  }
   149  
   150  func (x *PredictRequest) String() string {
   151  	return protoimpl.X.MessageStringOf(x)
   152  }
   153  
   154  func (*PredictRequest) ProtoMessage() {}
   155  
   156  func (x *PredictRequest) ProtoReflect() protoreflect.Message {
   157  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[0]
   158  	if x != nil {
   159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   160  		if ms.LoadMessageInfo() == nil {
   161  			ms.StoreMessageInfo(mi)
   162  		}
   163  		return ms
   164  	}
   165  	return mi.MessageOf(x)
   166  }
   167  
   168  // Deprecated: Use PredictRequest.ProtoReflect.Descriptor instead.
   169  func (*PredictRequest) Descriptor() ([]byte, []int) {
   170  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{0}
   171  }
   172  
   173  func (x *PredictRequest) GetEndpoint() string {
   174  	if x != nil {
   175  		return x.Endpoint
   176  	}
   177  	return ""
   178  }
   179  
   180  func (x *PredictRequest) GetInstances() []*structpb.Value {
   181  	if x != nil {
   182  		return x.Instances
   183  	}
   184  	return nil
   185  }
   186  
   187  func (x *PredictRequest) GetParameters() *structpb.Value {
   188  	if x != nil {
   189  		return x.Parameters
   190  	}
   191  	return nil
   192  }
   193  
   194  func (x *PredictRequest) GetLabels() map[string]string {
   195  	if x != nil {
   196  		return x.Labels
   197  	}
   198  	return nil
   199  }
   200  
   201  // Response message for
   202  // [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict].
   203  type PredictResponse struct {
   204  	state         protoimpl.MessageState
   205  	sizeCache     protoimpl.SizeCache
   206  	unknownFields protoimpl.UnknownFields
   207  
   208  	// The predictions that are the output of the predictions call.
   209  	// The schema of any single prediction may be specified via Endpoint's
   210  	// DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model]
   211  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
   212  	// [prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri].
   213  	Predictions []*structpb.Value `protobuf:"bytes,1,rep,name=predictions,proto3" json:"predictions,omitempty"`
   214  	// ID of the Endpoint's DeployedModel that served this prediction.
   215  	DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"`
   216  	// Output only. The resource name of the Model which is deployed as the
   217  	// DeployedModel that this prediction hits.
   218  	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
   219  	// Output only. The version ID of the Model which is deployed as the
   220  	// DeployedModel that this prediction hits.
   221  	ModelVersionId string `protobuf:"bytes,5,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"`
   222  	// Output only. The [display
   223  	// name][google.cloud.aiplatform.v1.Model.display_name] of the Model which is
   224  	// deployed as the DeployedModel that this prediction hits.
   225  	ModelDisplayName string `protobuf:"bytes,4,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"`
   226  	// Output only. Request-level metadata returned by the model. The metadata
   227  	// type will be dependent upon the model implementation.
   228  	Metadata *structpb.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
   229  }
   230  
   231  func (x *PredictResponse) Reset() {
   232  	*x = PredictResponse{}
   233  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[1]
   234  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   235  	ms.StoreMessageInfo(mi)
   236  }
   237  
   238  func (x *PredictResponse) String() string {
   239  	return protoimpl.X.MessageStringOf(x)
   240  }
   241  
   242  func (*PredictResponse) ProtoMessage() {}
   243  
   244  func (x *PredictResponse) ProtoReflect() protoreflect.Message {
   245  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[1]
   246  	if x != nil {
   247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   248  		if ms.LoadMessageInfo() == nil {
   249  			ms.StoreMessageInfo(mi)
   250  		}
   251  		return ms
   252  	}
   253  	return mi.MessageOf(x)
   254  }
   255  
   256  // Deprecated: Use PredictResponse.ProtoReflect.Descriptor instead.
   257  func (*PredictResponse) Descriptor() ([]byte, []int) {
   258  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{1}
   259  }
   260  
   261  func (x *PredictResponse) GetPredictions() []*structpb.Value {
   262  	if x != nil {
   263  		return x.Predictions
   264  	}
   265  	return nil
   266  }
   267  
   268  func (x *PredictResponse) GetDeployedModelId() string {
   269  	if x != nil {
   270  		return x.DeployedModelId
   271  	}
   272  	return ""
   273  }
   274  
   275  func (x *PredictResponse) GetModel() string {
   276  	if x != nil {
   277  		return x.Model
   278  	}
   279  	return ""
   280  }
   281  
   282  func (x *PredictResponse) GetModelVersionId() string {
   283  	if x != nil {
   284  		return x.ModelVersionId
   285  	}
   286  	return ""
   287  }
   288  
   289  func (x *PredictResponse) GetModelDisplayName() string {
   290  	if x != nil {
   291  		return x.ModelDisplayName
   292  	}
   293  	return ""
   294  }
   295  
   296  func (x *PredictResponse) GetMetadata() *structpb.Value {
   297  	if x != nil {
   298  		return x.Metadata
   299  	}
   300  	return nil
   301  }
   302  
   303  // Request message for
   304  // [PredictionService.RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict].
   305  type RawPredictRequest struct {
   306  	state         protoimpl.MessageState
   307  	sizeCache     protoimpl.SizeCache
   308  	unknownFields protoimpl.UnknownFields
   309  
   310  	// Required. The name of the Endpoint requested to serve the prediction.
   311  	// Format:
   312  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   313  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   314  	// The prediction input. Supports HTTP headers and arbitrary data payload.
   315  	//
   316  	// A [DeployedModel][google.cloud.aiplatform.v1.DeployedModel] may have an
   317  	// upper limit on the number of instances it supports per request. When this
   318  	// limit it is exceeded for an AutoML model, the
   319  	// [RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict]
   320  	// method returns an error. When this limit is exceeded for a custom-trained
   321  	// model, the behavior varies depending on the model.
   322  	//
   323  	// You can specify the schema for each instance in the
   324  	// [predict_schemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
   325  	// field when you create a [Model][google.cloud.aiplatform.v1.Model]. This
   326  	// schema applies when you deploy the `Model` as a `DeployedModel` to an
   327  	// [Endpoint][google.cloud.aiplatform.v1.Endpoint] and use the `RawPredict`
   328  	// method.
   329  	HttpBody *httpbody.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"`
   330  }
   331  
   332  func (x *RawPredictRequest) Reset() {
   333  	*x = RawPredictRequest{}
   334  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[2]
   335  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   336  	ms.StoreMessageInfo(mi)
   337  }
   338  
   339  func (x *RawPredictRequest) String() string {
   340  	return protoimpl.X.MessageStringOf(x)
   341  }
   342  
   343  func (*RawPredictRequest) ProtoMessage() {}
   344  
   345  func (x *RawPredictRequest) ProtoReflect() protoreflect.Message {
   346  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[2]
   347  	if x != nil {
   348  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   349  		if ms.LoadMessageInfo() == nil {
   350  			ms.StoreMessageInfo(mi)
   351  		}
   352  		return ms
   353  	}
   354  	return mi.MessageOf(x)
   355  }
   356  
   357  // Deprecated: Use RawPredictRequest.ProtoReflect.Descriptor instead.
   358  func (*RawPredictRequest) Descriptor() ([]byte, []int) {
   359  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{2}
   360  }
   361  
   362  func (x *RawPredictRequest) GetEndpoint() string {
   363  	if x != nil {
   364  		return x.Endpoint
   365  	}
   366  	return ""
   367  }
   368  
   369  func (x *RawPredictRequest) GetHttpBody() *httpbody.HttpBody {
   370  	if x != nil {
   371  		return x.HttpBody
   372  	}
   373  	return nil
   374  }
   375  
   376  // Request message for
   377  // [PredictionService.StreamRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamRawPredict].
   378  type StreamRawPredictRequest struct {
   379  	state         protoimpl.MessageState
   380  	sizeCache     protoimpl.SizeCache
   381  	unknownFields protoimpl.UnknownFields
   382  
   383  	// Required. The name of the Endpoint requested to serve the prediction.
   384  	// Format:
   385  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   386  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   387  	// The prediction input. Supports HTTP headers and arbitrary data payload.
   388  	HttpBody *httpbody.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"`
   389  }
   390  
   391  func (x *StreamRawPredictRequest) Reset() {
   392  	*x = StreamRawPredictRequest{}
   393  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[3]
   394  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   395  	ms.StoreMessageInfo(mi)
   396  }
   397  
   398  func (x *StreamRawPredictRequest) String() string {
   399  	return protoimpl.X.MessageStringOf(x)
   400  }
   401  
   402  func (*StreamRawPredictRequest) ProtoMessage() {}
   403  
   404  func (x *StreamRawPredictRequest) ProtoReflect() protoreflect.Message {
   405  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[3]
   406  	if x != nil {
   407  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   408  		if ms.LoadMessageInfo() == nil {
   409  			ms.StoreMessageInfo(mi)
   410  		}
   411  		return ms
   412  	}
   413  	return mi.MessageOf(x)
   414  }
   415  
   416  // Deprecated: Use StreamRawPredictRequest.ProtoReflect.Descriptor instead.
   417  func (*StreamRawPredictRequest) Descriptor() ([]byte, []int) {
   418  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{3}
   419  }
   420  
   421  func (x *StreamRawPredictRequest) GetEndpoint() string {
   422  	if x != nil {
   423  		return x.Endpoint
   424  	}
   425  	return ""
   426  }
   427  
   428  func (x *StreamRawPredictRequest) GetHttpBody() *httpbody.HttpBody {
   429  	if x != nil {
   430  		return x.HttpBody
   431  	}
   432  	return nil
   433  }
   434  
   435  // Request message for
   436  // [PredictionService.DirectPredict][google.cloud.aiplatform.v1.PredictionService.DirectPredict].
   437  type DirectPredictRequest struct {
   438  	state         protoimpl.MessageState
   439  	sizeCache     protoimpl.SizeCache
   440  	unknownFields protoimpl.UnknownFields
   441  
   442  	// Required. The name of the Endpoint requested to serve the prediction.
   443  	// Format:
   444  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   445  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   446  	// The prediction input.
   447  	Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
   448  	// The parameters that govern the prediction.
   449  	Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
   450  }
   451  
   452  func (x *DirectPredictRequest) Reset() {
   453  	*x = DirectPredictRequest{}
   454  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[4]
   455  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   456  	ms.StoreMessageInfo(mi)
   457  }
   458  
   459  func (x *DirectPredictRequest) String() string {
   460  	return protoimpl.X.MessageStringOf(x)
   461  }
   462  
   463  func (*DirectPredictRequest) ProtoMessage() {}
   464  
   465  func (x *DirectPredictRequest) ProtoReflect() protoreflect.Message {
   466  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[4]
   467  	if x != nil {
   468  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   469  		if ms.LoadMessageInfo() == nil {
   470  			ms.StoreMessageInfo(mi)
   471  		}
   472  		return ms
   473  	}
   474  	return mi.MessageOf(x)
   475  }
   476  
   477  // Deprecated: Use DirectPredictRequest.ProtoReflect.Descriptor instead.
   478  func (*DirectPredictRequest) Descriptor() ([]byte, []int) {
   479  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{4}
   480  }
   481  
   482  func (x *DirectPredictRequest) GetEndpoint() string {
   483  	if x != nil {
   484  		return x.Endpoint
   485  	}
   486  	return ""
   487  }
   488  
   489  func (x *DirectPredictRequest) GetInputs() []*Tensor {
   490  	if x != nil {
   491  		return x.Inputs
   492  	}
   493  	return nil
   494  }
   495  
   496  func (x *DirectPredictRequest) GetParameters() *Tensor {
   497  	if x != nil {
   498  		return x.Parameters
   499  	}
   500  	return nil
   501  }
   502  
   503  // Response message for
   504  // [PredictionService.DirectPredict][google.cloud.aiplatform.v1.PredictionService.DirectPredict].
   505  type DirectPredictResponse struct {
   506  	state         protoimpl.MessageState
   507  	sizeCache     protoimpl.SizeCache
   508  	unknownFields protoimpl.UnknownFields
   509  
   510  	// The prediction output.
   511  	Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"`
   512  	// The parameters that govern the prediction.
   513  	Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
   514  }
   515  
   516  func (x *DirectPredictResponse) Reset() {
   517  	*x = DirectPredictResponse{}
   518  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[5]
   519  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   520  	ms.StoreMessageInfo(mi)
   521  }
   522  
   523  func (x *DirectPredictResponse) String() string {
   524  	return protoimpl.X.MessageStringOf(x)
   525  }
   526  
   527  func (*DirectPredictResponse) ProtoMessage() {}
   528  
   529  func (x *DirectPredictResponse) ProtoReflect() protoreflect.Message {
   530  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[5]
   531  	if x != nil {
   532  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   533  		if ms.LoadMessageInfo() == nil {
   534  			ms.StoreMessageInfo(mi)
   535  		}
   536  		return ms
   537  	}
   538  	return mi.MessageOf(x)
   539  }
   540  
   541  // Deprecated: Use DirectPredictResponse.ProtoReflect.Descriptor instead.
   542  func (*DirectPredictResponse) Descriptor() ([]byte, []int) {
   543  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{5}
   544  }
   545  
   546  func (x *DirectPredictResponse) GetOutputs() []*Tensor {
   547  	if x != nil {
   548  		return x.Outputs
   549  	}
   550  	return nil
   551  }
   552  
   553  func (x *DirectPredictResponse) GetParameters() *Tensor {
   554  	if x != nil {
   555  		return x.Parameters
   556  	}
   557  	return nil
   558  }
   559  
   560  // Request message for
   561  // [PredictionService.DirectRawPredict][google.cloud.aiplatform.v1.PredictionService.DirectRawPredict].
   562  type DirectRawPredictRequest struct {
   563  	state         protoimpl.MessageState
   564  	sizeCache     protoimpl.SizeCache
   565  	unknownFields protoimpl.UnknownFields
   566  
   567  	// Required. The name of the Endpoint requested to serve the prediction.
   568  	// Format:
   569  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   570  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   571  	// Fully qualified name of the API method being invoked to perform
   572  	// predictions.
   573  	//
   574  	// Format:
   575  	// `/namespace.Service/Method/`
   576  	// Example:
   577  	// `/tensorflow.serving.PredictionService/Predict`
   578  	MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"`
   579  	// The prediction input.
   580  	Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"`
   581  }
   582  
   583  func (x *DirectRawPredictRequest) Reset() {
   584  	*x = DirectRawPredictRequest{}
   585  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[6]
   586  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   587  	ms.StoreMessageInfo(mi)
   588  }
   589  
   590  func (x *DirectRawPredictRequest) String() string {
   591  	return protoimpl.X.MessageStringOf(x)
   592  }
   593  
   594  func (*DirectRawPredictRequest) ProtoMessage() {}
   595  
   596  func (x *DirectRawPredictRequest) ProtoReflect() protoreflect.Message {
   597  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[6]
   598  	if x != nil {
   599  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   600  		if ms.LoadMessageInfo() == nil {
   601  			ms.StoreMessageInfo(mi)
   602  		}
   603  		return ms
   604  	}
   605  	return mi.MessageOf(x)
   606  }
   607  
   608  // Deprecated: Use DirectRawPredictRequest.ProtoReflect.Descriptor instead.
   609  func (*DirectRawPredictRequest) Descriptor() ([]byte, []int) {
   610  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{6}
   611  }
   612  
   613  func (x *DirectRawPredictRequest) GetEndpoint() string {
   614  	if x != nil {
   615  		return x.Endpoint
   616  	}
   617  	return ""
   618  }
   619  
   620  func (x *DirectRawPredictRequest) GetMethodName() string {
   621  	if x != nil {
   622  		return x.MethodName
   623  	}
   624  	return ""
   625  }
   626  
   627  func (x *DirectRawPredictRequest) GetInput() []byte {
   628  	if x != nil {
   629  		return x.Input
   630  	}
   631  	return nil
   632  }
   633  
   634  // Response message for
   635  // [PredictionService.DirectRawPredict][google.cloud.aiplatform.v1.PredictionService.DirectRawPredict].
   636  type DirectRawPredictResponse struct {
   637  	state         protoimpl.MessageState
   638  	sizeCache     protoimpl.SizeCache
   639  	unknownFields protoimpl.UnknownFields
   640  
   641  	// The prediction output.
   642  	Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
   643  }
   644  
   645  func (x *DirectRawPredictResponse) Reset() {
   646  	*x = DirectRawPredictResponse{}
   647  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[7]
   648  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   649  	ms.StoreMessageInfo(mi)
   650  }
   651  
   652  func (x *DirectRawPredictResponse) String() string {
   653  	return protoimpl.X.MessageStringOf(x)
   654  }
   655  
   656  func (*DirectRawPredictResponse) ProtoMessage() {}
   657  
   658  func (x *DirectRawPredictResponse) ProtoReflect() protoreflect.Message {
   659  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[7]
   660  	if x != nil {
   661  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   662  		if ms.LoadMessageInfo() == nil {
   663  			ms.StoreMessageInfo(mi)
   664  		}
   665  		return ms
   666  	}
   667  	return mi.MessageOf(x)
   668  }
   669  
   670  // Deprecated: Use DirectRawPredictResponse.ProtoReflect.Descriptor instead.
   671  func (*DirectRawPredictResponse) Descriptor() ([]byte, []int) {
   672  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{7}
   673  }
   674  
   675  func (x *DirectRawPredictResponse) GetOutput() []byte {
   676  	if x != nil {
   677  		return x.Output
   678  	}
   679  	return nil
   680  }
   681  
   682  // Request message for
   683  // [PredictionService.StreamDirectPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict].
   684  //
   685  // The first message must contain
   686  // [endpoint][google.cloud.aiplatform.v1.StreamDirectPredictRequest.endpoint]
   687  // field and optionally [input][]. The subsequent messages must contain
   688  // [input][].
   689  type StreamDirectPredictRequest struct {
   690  	state         protoimpl.MessageState
   691  	sizeCache     protoimpl.SizeCache
   692  	unknownFields protoimpl.UnknownFields
   693  
   694  	// Required. The name of the Endpoint requested to serve the prediction.
   695  	// Format:
   696  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   697  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   698  	// Optional. The prediction input.
   699  	Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
   700  	// Optional. The parameters that govern the prediction.
   701  	Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
   702  }
   703  
   704  func (x *StreamDirectPredictRequest) Reset() {
   705  	*x = StreamDirectPredictRequest{}
   706  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[8]
   707  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   708  	ms.StoreMessageInfo(mi)
   709  }
   710  
   711  func (x *StreamDirectPredictRequest) String() string {
   712  	return protoimpl.X.MessageStringOf(x)
   713  }
   714  
   715  func (*StreamDirectPredictRequest) ProtoMessage() {}
   716  
   717  func (x *StreamDirectPredictRequest) ProtoReflect() protoreflect.Message {
   718  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[8]
   719  	if x != nil {
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		if ms.LoadMessageInfo() == nil {
   722  			ms.StoreMessageInfo(mi)
   723  		}
   724  		return ms
   725  	}
   726  	return mi.MessageOf(x)
   727  }
   728  
   729  // Deprecated: Use StreamDirectPredictRequest.ProtoReflect.Descriptor instead.
   730  func (*StreamDirectPredictRequest) Descriptor() ([]byte, []int) {
   731  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{8}
   732  }
   733  
   734  func (x *StreamDirectPredictRequest) GetEndpoint() string {
   735  	if x != nil {
   736  		return x.Endpoint
   737  	}
   738  	return ""
   739  }
   740  
   741  func (x *StreamDirectPredictRequest) GetInputs() []*Tensor {
   742  	if x != nil {
   743  		return x.Inputs
   744  	}
   745  	return nil
   746  }
   747  
   748  func (x *StreamDirectPredictRequest) GetParameters() *Tensor {
   749  	if x != nil {
   750  		return x.Parameters
   751  	}
   752  	return nil
   753  }
   754  
   755  // Response message for
   756  // [PredictionService.StreamDirectPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict].
   757  type StreamDirectPredictResponse struct {
   758  	state         protoimpl.MessageState
   759  	sizeCache     protoimpl.SizeCache
   760  	unknownFields protoimpl.UnknownFields
   761  
   762  	// The prediction output.
   763  	Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"`
   764  	// The parameters that govern the prediction.
   765  	Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
   766  }
   767  
   768  func (x *StreamDirectPredictResponse) Reset() {
   769  	*x = StreamDirectPredictResponse{}
   770  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[9]
   771  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   772  	ms.StoreMessageInfo(mi)
   773  }
   774  
   775  func (x *StreamDirectPredictResponse) String() string {
   776  	return protoimpl.X.MessageStringOf(x)
   777  }
   778  
   779  func (*StreamDirectPredictResponse) ProtoMessage() {}
   780  
   781  func (x *StreamDirectPredictResponse) ProtoReflect() protoreflect.Message {
   782  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[9]
   783  	if x != nil {
   784  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   785  		if ms.LoadMessageInfo() == nil {
   786  			ms.StoreMessageInfo(mi)
   787  		}
   788  		return ms
   789  	}
   790  	return mi.MessageOf(x)
   791  }
   792  
   793  // Deprecated: Use StreamDirectPredictResponse.ProtoReflect.Descriptor instead.
   794  func (*StreamDirectPredictResponse) Descriptor() ([]byte, []int) {
   795  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{9}
   796  }
   797  
   798  func (x *StreamDirectPredictResponse) GetOutputs() []*Tensor {
   799  	if x != nil {
   800  		return x.Outputs
   801  	}
   802  	return nil
   803  }
   804  
   805  func (x *StreamDirectPredictResponse) GetParameters() *Tensor {
   806  	if x != nil {
   807  		return x.Parameters
   808  	}
   809  	return nil
   810  }
   811  
   812  // Request message for
   813  // [PredictionService.StreamDirectRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict].
   814  //
   815  // The first message must contain
   816  // [endpoint][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.endpoint]
   817  // and
   818  // [method_name][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.method_name]
   819  // fields and optionally
   820  // [input][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.input]. The
   821  // subsequent messages must contain
   822  // [input][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.input].
   823  // [method_name][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.method_name]
   824  // in the subsequent messages have no effect.
   825  type StreamDirectRawPredictRequest struct {
   826  	state         protoimpl.MessageState
   827  	sizeCache     protoimpl.SizeCache
   828  	unknownFields protoimpl.UnknownFields
   829  
   830  	// Required. The name of the Endpoint requested to serve the prediction.
   831  	// Format:
   832  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   833  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   834  	// Optional. Fully qualified name of the API method being invoked to perform
   835  	// predictions.
   836  	//
   837  	// Format:
   838  	// `/namespace.Service/Method/`
   839  	// Example:
   840  	// `/tensorflow.serving.PredictionService/Predict`
   841  	MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"`
   842  	// Optional. The prediction input.
   843  	Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"`
   844  }
   845  
   846  func (x *StreamDirectRawPredictRequest) Reset() {
   847  	*x = StreamDirectRawPredictRequest{}
   848  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[10]
   849  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   850  	ms.StoreMessageInfo(mi)
   851  }
   852  
   853  func (x *StreamDirectRawPredictRequest) String() string {
   854  	return protoimpl.X.MessageStringOf(x)
   855  }
   856  
   857  func (*StreamDirectRawPredictRequest) ProtoMessage() {}
   858  
   859  func (x *StreamDirectRawPredictRequest) ProtoReflect() protoreflect.Message {
   860  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[10]
   861  	if x != nil {
   862  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   863  		if ms.LoadMessageInfo() == nil {
   864  			ms.StoreMessageInfo(mi)
   865  		}
   866  		return ms
   867  	}
   868  	return mi.MessageOf(x)
   869  }
   870  
   871  // Deprecated: Use StreamDirectRawPredictRequest.ProtoReflect.Descriptor instead.
   872  func (*StreamDirectRawPredictRequest) Descriptor() ([]byte, []int) {
   873  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{10}
   874  }
   875  
   876  func (x *StreamDirectRawPredictRequest) GetEndpoint() string {
   877  	if x != nil {
   878  		return x.Endpoint
   879  	}
   880  	return ""
   881  }
   882  
   883  func (x *StreamDirectRawPredictRequest) GetMethodName() string {
   884  	if x != nil {
   885  		return x.MethodName
   886  	}
   887  	return ""
   888  }
   889  
   890  func (x *StreamDirectRawPredictRequest) GetInput() []byte {
   891  	if x != nil {
   892  		return x.Input
   893  	}
   894  	return nil
   895  }
   896  
   897  // Response message for
   898  // [PredictionService.StreamDirectRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict].
   899  type StreamDirectRawPredictResponse struct {
   900  	state         protoimpl.MessageState
   901  	sizeCache     protoimpl.SizeCache
   902  	unknownFields protoimpl.UnknownFields
   903  
   904  	// The prediction output.
   905  	Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
   906  }
   907  
   908  func (x *StreamDirectRawPredictResponse) Reset() {
   909  	*x = StreamDirectRawPredictResponse{}
   910  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[11]
   911  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   912  	ms.StoreMessageInfo(mi)
   913  }
   914  
   915  func (x *StreamDirectRawPredictResponse) String() string {
   916  	return protoimpl.X.MessageStringOf(x)
   917  }
   918  
   919  func (*StreamDirectRawPredictResponse) ProtoMessage() {}
   920  
   921  func (x *StreamDirectRawPredictResponse) ProtoReflect() protoreflect.Message {
   922  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[11]
   923  	if x != nil {
   924  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   925  		if ms.LoadMessageInfo() == nil {
   926  			ms.StoreMessageInfo(mi)
   927  		}
   928  		return ms
   929  	}
   930  	return mi.MessageOf(x)
   931  }
   932  
   933  // Deprecated: Use StreamDirectRawPredictResponse.ProtoReflect.Descriptor instead.
   934  func (*StreamDirectRawPredictResponse) Descriptor() ([]byte, []int) {
   935  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{11}
   936  }
   937  
   938  func (x *StreamDirectRawPredictResponse) GetOutput() []byte {
   939  	if x != nil {
   940  		return x.Output
   941  	}
   942  	return nil
   943  }
   944  
   945  // Request message for
   946  // [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict].
   947  //
   948  // The first message must contain
   949  // [endpoint][google.cloud.aiplatform.v1.StreamingPredictRequest.endpoint] field
   950  // and optionally [input][]. The subsequent messages must contain [input][].
   951  type StreamingPredictRequest struct {
   952  	state         protoimpl.MessageState
   953  	sizeCache     protoimpl.SizeCache
   954  	unknownFields protoimpl.UnknownFields
   955  
   956  	// Required. The name of the Endpoint requested to serve the prediction.
   957  	// Format:
   958  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
   959  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   960  	// The prediction input.
   961  	Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
   962  	// The parameters that govern the prediction.
   963  	Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
   964  }
   965  
   966  func (x *StreamingPredictRequest) Reset() {
   967  	*x = StreamingPredictRequest{}
   968  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[12]
   969  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   970  	ms.StoreMessageInfo(mi)
   971  }
   972  
   973  func (x *StreamingPredictRequest) String() string {
   974  	return protoimpl.X.MessageStringOf(x)
   975  }
   976  
   977  func (*StreamingPredictRequest) ProtoMessage() {}
   978  
   979  func (x *StreamingPredictRequest) ProtoReflect() protoreflect.Message {
   980  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[12]
   981  	if x != nil {
   982  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   983  		if ms.LoadMessageInfo() == nil {
   984  			ms.StoreMessageInfo(mi)
   985  		}
   986  		return ms
   987  	}
   988  	return mi.MessageOf(x)
   989  }
   990  
   991  // Deprecated: Use StreamingPredictRequest.ProtoReflect.Descriptor instead.
   992  func (*StreamingPredictRequest) Descriptor() ([]byte, []int) {
   993  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{12}
   994  }
   995  
   996  func (x *StreamingPredictRequest) GetEndpoint() string {
   997  	if x != nil {
   998  		return x.Endpoint
   999  	}
  1000  	return ""
  1001  }
  1002  
  1003  func (x *StreamingPredictRequest) GetInputs() []*Tensor {
  1004  	if x != nil {
  1005  		return x.Inputs
  1006  	}
  1007  	return nil
  1008  }
  1009  
  1010  func (x *StreamingPredictRequest) GetParameters() *Tensor {
  1011  	if x != nil {
  1012  		return x.Parameters
  1013  	}
  1014  	return nil
  1015  }
  1016  
  1017  // Response message for
  1018  // [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict].
  1019  type StreamingPredictResponse struct {
  1020  	state         protoimpl.MessageState
  1021  	sizeCache     protoimpl.SizeCache
  1022  	unknownFields protoimpl.UnknownFields
  1023  
  1024  	// The prediction output.
  1025  	Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"`
  1026  	// The parameters that govern the prediction.
  1027  	Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
  1028  }
  1029  
  1030  func (x *StreamingPredictResponse) Reset() {
  1031  	*x = StreamingPredictResponse{}
  1032  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[13]
  1033  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1034  	ms.StoreMessageInfo(mi)
  1035  }
  1036  
  1037  func (x *StreamingPredictResponse) String() string {
  1038  	return protoimpl.X.MessageStringOf(x)
  1039  }
  1040  
  1041  func (*StreamingPredictResponse) ProtoMessage() {}
  1042  
  1043  func (x *StreamingPredictResponse) ProtoReflect() protoreflect.Message {
  1044  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[13]
  1045  	if x != nil {
  1046  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1047  		if ms.LoadMessageInfo() == nil {
  1048  			ms.StoreMessageInfo(mi)
  1049  		}
  1050  		return ms
  1051  	}
  1052  	return mi.MessageOf(x)
  1053  }
  1054  
  1055  // Deprecated: Use StreamingPredictResponse.ProtoReflect.Descriptor instead.
  1056  func (*StreamingPredictResponse) Descriptor() ([]byte, []int) {
  1057  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{13}
  1058  }
  1059  
  1060  func (x *StreamingPredictResponse) GetOutputs() []*Tensor {
  1061  	if x != nil {
  1062  		return x.Outputs
  1063  	}
  1064  	return nil
  1065  }
  1066  
  1067  func (x *StreamingPredictResponse) GetParameters() *Tensor {
  1068  	if x != nil {
  1069  		return x.Parameters
  1070  	}
  1071  	return nil
  1072  }
  1073  
  1074  // Request message for
  1075  // [PredictionService.StreamingRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict].
  1076  //
  1077  // The first message must contain
  1078  // [endpoint][google.cloud.aiplatform.v1.StreamingRawPredictRequest.endpoint]
  1079  // and
  1080  // [method_name][google.cloud.aiplatform.v1.StreamingRawPredictRequest.method_name]
  1081  // fields and optionally
  1082  // [input][google.cloud.aiplatform.v1.StreamingRawPredictRequest.input]. The
  1083  // subsequent messages must contain
  1084  // [input][google.cloud.aiplatform.v1.StreamingRawPredictRequest.input].
  1085  // [method_name][google.cloud.aiplatform.v1.StreamingRawPredictRequest.method_name]
  1086  // in the subsequent messages have no effect.
  1087  type StreamingRawPredictRequest struct {
  1088  	state         protoimpl.MessageState
  1089  	sizeCache     protoimpl.SizeCache
  1090  	unknownFields protoimpl.UnknownFields
  1091  
  1092  	// Required. The name of the Endpoint requested to serve the prediction.
  1093  	// Format:
  1094  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
  1095  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
  1096  	// Fully qualified name of the API method being invoked to perform
  1097  	// predictions.
  1098  	//
  1099  	// Format:
  1100  	// `/namespace.Service/Method/`
  1101  	// Example:
  1102  	// `/tensorflow.serving.PredictionService/Predict`
  1103  	MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"`
  1104  	// The prediction input.
  1105  	Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"`
  1106  }
  1107  
  1108  func (x *StreamingRawPredictRequest) Reset() {
  1109  	*x = StreamingRawPredictRequest{}
  1110  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[14]
  1111  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1112  	ms.StoreMessageInfo(mi)
  1113  }
  1114  
  1115  func (x *StreamingRawPredictRequest) String() string {
  1116  	return protoimpl.X.MessageStringOf(x)
  1117  }
  1118  
  1119  func (*StreamingRawPredictRequest) ProtoMessage() {}
  1120  
  1121  func (x *StreamingRawPredictRequest) ProtoReflect() protoreflect.Message {
  1122  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[14]
  1123  	if x != nil {
  1124  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1125  		if ms.LoadMessageInfo() == nil {
  1126  			ms.StoreMessageInfo(mi)
  1127  		}
  1128  		return ms
  1129  	}
  1130  	return mi.MessageOf(x)
  1131  }
  1132  
  1133  // Deprecated: Use StreamingRawPredictRequest.ProtoReflect.Descriptor instead.
  1134  func (*StreamingRawPredictRequest) Descriptor() ([]byte, []int) {
  1135  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{14}
  1136  }
  1137  
  1138  func (x *StreamingRawPredictRequest) GetEndpoint() string {
  1139  	if x != nil {
  1140  		return x.Endpoint
  1141  	}
  1142  	return ""
  1143  }
  1144  
  1145  func (x *StreamingRawPredictRequest) GetMethodName() string {
  1146  	if x != nil {
  1147  		return x.MethodName
  1148  	}
  1149  	return ""
  1150  }
  1151  
  1152  func (x *StreamingRawPredictRequest) GetInput() []byte {
  1153  	if x != nil {
  1154  		return x.Input
  1155  	}
  1156  	return nil
  1157  }
  1158  
  1159  // Response message for
  1160  // [PredictionService.StreamingRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict].
  1161  type StreamingRawPredictResponse struct {
  1162  	state         protoimpl.MessageState
  1163  	sizeCache     protoimpl.SizeCache
  1164  	unknownFields protoimpl.UnknownFields
  1165  
  1166  	// The prediction output.
  1167  	Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
  1168  }
  1169  
  1170  func (x *StreamingRawPredictResponse) Reset() {
  1171  	*x = StreamingRawPredictResponse{}
  1172  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[15]
  1173  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1174  	ms.StoreMessageInfo(mi)
  1175  }
  1176  
  1177  func (x *StreamingRawPredictResponse) String() string {
  1178  	return protoimpl.X.MessageStringOf(x)
  1179  }
  1180  
  1181  func (*StreamingRawPredictResponse) ProtoMessage() {}
  1182  
  1183  func (x *StreamingRawPredictResponse) ProtoReflect() protoreflect.Message {
  1184  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[15]
  1185  	if x != nil {
  1186  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1187  		if ms.LoadMessageInfo() == nil {
  1188  			ms.StoreMessageInfo(mi)
  1189  		}
  1190  		return ms
  1191  	}
  1192  	return mi.MessageOf(x)
  1193  }
  1194  
  1195  // Deprecated: Use StreamingRawPredictResponse.ProtoReflect.Descriptor instead.
  1196  func (*StreamingRawPredictResponse) Descriptor() ([]byte, []int) {
  1197  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{15}
  1198  }
  1199  
  1200  func (x *StreamingRawPredictResponse) GetOutput() []byte {
  1201  	if x != nil {
  1202  		return x.Output
  1203  	}
  1204  	return nil
  1205  }
  1206  
  1207  // Request message for
  1208  // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
  1209  type ExplainRequest struct {
  1210  	state         protoimpl.MessageState
  1211  	sizeCache     protoimpl.SizeCache
  1212  	unknownFields protoimpl.UnknownFields
  1213  
  1214  	// Required. The name of the Endpoint requested to serve the explanation.
  1215  	// Format:
  1216  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
  1217  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
  1218  	// Required. The instances that are the input to the explanation call.
  1219  	// A DeployedModel may have an upper limit on the number of instances it
  1220  	// supports per request, and when it is exceeded the explanation call errors
  1221  	// in case of AutoML Models, or, in case of customer created Models, the
  1222  	// behaviour is as documented by that Model.
  1223  	// The schema of any single instance may be specified via Endpoint's
  1224  	// DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model]
  1225  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
  1226  	// [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri].
  1227  	Instances []*structpb.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"`
  1228  	// The parameters that govern the prediction. The schema of the parameters may
  1229  	// be specified via Endpoint's DeployedModels' [Model's
  1230  	// ][google.cloud.aiplatform.v1.DeployedModel.model]
  1231  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
  1232  	// [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri].
  1233  	Parameters *structpb.Value `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"`
  1234  	// If specified, overrides the
  1235  	// [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
  1236  	// of the DeployedModel. Can be used for explaining prediction results with
  1237  	// different configurations, such as:
  1238  	//   - Explaining top-5 predictions results as opposed to top-1;
  1239  	//   - Increasing path count or step count of the attribution methods to reduce
  1240  	//     approximate errors;
  1241  	//   - Using different baselines for explaining the prediction results.
  1242  	ExplanationSpecOverride *ExplanationSpecOverride `protobuf:"bytes,5,opt,name=explanation_spec_override,json=explanationSpecOverride,proto3" json:"explanation_spec_override,omitempty"`
  1243  	// If specified, this ExplainRequest will be served by the chosen
  1244  	// DeployedModel, overriding
  1245  	// [Endpoint.traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split].
  1246  	DeployedModelId string `protobuf:"bytes,3,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"`
  1247  }
  1248  
  1249  func (x *ExplainRequest) Reset() {
  1250  	*x = ExplainRequest{}
  1251  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[16]
  1252  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1253  	ms.StoreMessageInfo(mi)
  1254  }
  1255  
  1256  func (x *ExplainRequest) String() string {
  1257  	return protoimpl.X.MessageStringOf(x)
  1258  }
  1259  
  1260  func (*ExplainRequest) ProtoMessage() {}
  1261  
  1262  func (x *ExplainRequest) ProtoReflect() protoreflect.Message {
  1263  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[16]
  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 ExplainRequest.ProtoReflect.Descriptor instead.
  1275  func (*ExplainRequest) Descriptor() ([]byte, []int) {
  1276  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{16}
  1277  }
  1278  
  1279  func (x *ExplainRequest) GetEndpoint() string {
  1280  	if x != nil {
  1281  		return x.Endpoint
  1282  	}
  1283  	return ""
  1284  }
  1285  
  1286  func (x *ExplainRequest) GetInstances() []*structpb.Value {
  1287  	if x != nil {
  1288  		return x.Instances
  1289  	}
  1290  	return nil
  1291  }
  1292  
  1293  func (x *ExplainRequest) GetParameters() *structpb.Value {
  1294  	if x != nil {
  1295  		return x.Parameters
  1296  	}
  1297  	return nil
  1298  }
  1299  
  1300  func (x *ExplainRequest) GetExplanationSpecOverride() *ExplanationSpecOverride {
  1301  	if x != nil {
  1302  		return x.ExplanationSpecOverride
  1303  	}
  1304  	return nil
  1305  }
  1306  
  1307  func (x *ExplainRequest) GetDeployedModelId() string {
  1308  	if x != nil {
  1309  		return x.DeployedModelId
  1310  	}
  1311  	return ""
  1312  }
  1313  
  1314  // Response message for
  1315  // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
  1316  type ExplainResponse struct {
  1317  	state         protoimpl.MessageState
  1318  	sizeCache     protoimpl.SizeCache
  1319  	unknownFields protoimpl.UnknownFields
  1320  
  1321  	// The explanations of the Model's
  1322  	// [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions].
  1323  	//
  1324  	// It has the same number of elements as
  1325  	// [instances][google.cloud.aiplatform.v1.ExplainRequest.instances] to be
  1326  	// explained.
  1327  	Explanations []*Explanation `protobuf:"bytes,1,rep,name=explanations,proto3" json:"explanations,omitempty"`
  1328  	// ID of the Endpoint's DeployedModel that served this explanation.
  1329  	DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"`
  1330  	// The predictions that are the output of the predictions call.
  1331  	// Same as
  1332  	// [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions].
  1333  	Predictions []*structpb.Value `protobuf:"bytes,3,rep,name=predictions,proto3" json:"predictions,omitempty"`
  1334  }
  1335  
  1336  func (x *ExplainResponse) Reset() {
  1337  	*x = ExplainResponse{}
  1338  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[17]
  1339  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1340  	ms.StoreMessageInfo(mi)
  1341  }
  1342  
  1343  func (x *ExplainResponse) String() string {
  1344  	return protoimpl.X.MessageStringOf(x)
  1345  }
  1346  
  1347  func (*ExplainResponse) ProtoMessage() {}
  1348  
  1349  func (x *ExplainResponse) ProtoReflect() protoreflect.Message {
  1350  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[17]
  1351  	if x != nil {
  1352  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1353  		if ms.LoadMessageInfo() == nil {
  1354  			ms.StoreMessageInfo(mi)
  1355  		}
  1356  		return ms
  1357  	}
  1358  	return mi.MessageOf(x)
  1359  }
  1360  
  1361  // Deprecated: Use ExplainResponse.ProtoReflect.Descriptor instead.
  1362  func (*ExplainResponse) Descriptor() ([]byte, []int) {
  1363  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{17}
  1364  }
  1365  
  1366  func (x *ExplainResponse) GetExplanations() []*Explanation {
  1367  	if x != nil {
  1368  		return x.Explanations
  1369  	}
  1370  	return nil
  1371  }
  1372  
  1373  func (x *ExplainResponse) GetDeployedModelId() string {
  1374  	if x != nil {
  1375  		return x.DeployedModelId
  1376  	}
  1377  	return ""
  1378  }
  1379  
  1380  func (x *ExplainResponse) GetPredictions() []*structpb.Value {
  1381  	if x != nil {
  1382  		return x.Predictions
  1383  	}
  1384  	return nil
  1385  }
  1386  
  1387  // Request message for [PredictionService.CountTokens][].
  1388  type CountTokensRequest struct {
  1389  	state         protoimpl.MessageState
  1390  	sizeCache     protoimpl.SizeCache
  1391  	unknownFields protoimpl.UnknownFields
  1392  
  1393  	// Required. The name of the Endpoint requested to perform token counting.
  1394  	// Format:
  1395  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
  1396  	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
  1397  	// Optional. The name of the publisher model requested to serve the
  1398  	// prediction. Format:
  1399  	// `projects/{project}/locations/{location}/publishers/*/models/*`
  1400  	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
  1401  	// Optional. The instances that are the input to token counting call.
  1402  	// Schema is identical to the prediction schema of the underlying model.
  1403  	Instances []*structpb.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"`
  1404  	// Optional. Input content.
  1405  	Contents []*Content `protobuf:"bytes,4,rep,name=contents,proto3" json:"contents,omitempty"`
  1406  	// Optional. The user provided system instructions for the model.
  1407  	// Note: only text should be used in parts and content in each part will be in
  1408  	// a separate paragraph.
  1409  	SystemInstruction *Content `protobuf:"bytes,5,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"`
  1410  	// Optional. A list of `Tools` the model may use to generate the next
  1411  	// response.
  1412  	//
  1413  	// A `Tool` is a piece of code that enables the system to interact with
  1414  	// external systems to perform an action, or set of actions, outside of
  1415  	// knowledge and scope of the model.
  1416  	Tools []*Tool `protobuf:"bytes,6,rep,name=tools,proto3" json:"tools,omitempty"`
  1417  	// Optional. Generation config that the model will use to generate the
  1418  	// response.
  1419  	GenerationConfig *GenerationConfig `protobuf:"bytes,7,opt,name=generation_config,json=generationConfig,proto3,oneof" json:"generation_config,omitempty"`
  1420  }
  1421  
  1422  func (x *CountTokensRequest) Reset() {
  1423  	*x = CountTokensRequest{}
  1424  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[18]
  1425  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1426  	ms.StoreMessageInfo(mi)
  1427  }
  1428  
  1429  func (x *CountTokensRequest) String() string {
  1430  	return protoimpl.X.MessageStringOf(x)
  1431  }
  1432  
  1433  func (*CountTokensRequest) ProtoMessage() {}
  1434  
  1435  func (x *CountTokensRequest) ProtoReflect() protoreflect.Message {
  1436  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[18]
  1437  	if x != nil {
  1438  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1439  		if ms.LoadMessageInfo() == nil {
  1440  			ms.StoreMessageInfo(mi)
  1441  		}
  1442  		return ms
  1443  	}
  1444  	return mi.MessageOf(x)
  1445  }
  1446  
  1447  // Deprecated: Use CountTokensRequest.ProtoReflect.Descriptor instead.
  1448  func (*CountTokensRequest) Descriptor() ([]byte, []int) {
  1449  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{18}
  1450  }
  1451  
  1452  func (x *CountTokensRequest) GetEndpoint() string {
  1453  	if x != nil {
  1454  		return x.Endpoint
  1455  	}
  1456  	return ""
  1457  }
  1458  
  1459  func (x *CountTokensRequest) GetModel() string {
  1460  	if x != nil {
  1461  		return x.Model
  1462  	}
  1463  	return ""
  1464  }
  1465  
  1466  func (x *CountTokensRequest) GetInstances() []*structpb.Value {
  1467  	if x != nil {
  1468  		return x.Instances
  1469  	}
  1470  	return nil
  1471  }
  1472  
  1473  func (x *CountTokensRequest) GetContents() []*Content {
  1474  	if x != nil {
  1475  		return x.Contents
  1476  	}
  1477  	return nil
  1478  }
  1479  
  1480  func (x *CountTokensRequest) GetSystemInstruction() *Content {
  1481  	if x != nil {
  1482  		return x.SystemInstruction
  1483  	}
  1484  	return nil
  1485  }
  1486  
  1487  func (x *CountTokensRequest) GetTools() []*Tool {
  1488  	if x != nil {
  1489  		return x.Tools
  1490  	}
  1491  	return nil
  1492  }
  1493  
  1494  func (x *CountTokensRequest) GetGenerationConfig() *GenerationConfig {
  1495  	if x != nil {
  1496  		return x.GenerationConfig
  1497  	}
  1498  	return nil
  1499  }
  1500  
  1501  // Response message for [PredictionService.CountTokens][].
  1502  type CountTokensResponse struct {
  1503  	state         protoimpl.MessageState
  1504  	sizeCache     protoimpl.SizeCache
  1505  	unknownFields protoimpl.UnknownFields
  1506  
  1507  	// The total number of tokens counted across all instances from the request.
  1508  	TotalTokens int32 `protobuf:"varint,1,opt,name=total_tokens,json=totalTokens,proto3" json:"total_tokens,omitempty"`
  1509  	// The total number of billable characters counted across all instances from
  1510  	// the request.
  1511  	TotalBillableCharacters int32 `protobuf:"varint,2,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"`
  1512  	// Output only. List of modalities that were processed in the request input.
  1513  	PromptTokensDetails []*ModalityTokenCount `protobuf:"bytes,3,rep,name=prompt_tokens_details,json=promptTokensDetails,proto3" json:"prompt_tokens_details,omitempty"`
  1514  }
  1515  
  1516  func (x *CountTokensResponse) Reset() {
  1517  	*x = CountTokensResponse{}
  1518  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[19]
  1519  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1520  	ms.StoreMessageInfo(mi)
  1521  }
  1522  
  1523  func (x *CountTokensResponse) String() string {
  1524  	return protoimpl.X.MessageStringOf(x)
  1525  }
  1526  
  1527  func (*CountTokensResponse) ProtoMessage() {}
  1528  
  1529  func (x *CountTokensResponse) ProtoReflect() protoreflect.Message {
  1530  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[19]
  1531  	if x != nil {
  1532  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1533  		if ms.LoadMessageInfo() == nil {
  1534  			ms.StoreMessageInfo(mi)
  1535  		}
  1536  		return ms
  1537  	}
  1538  	return mi.MessageOf(x)
  1539  }
  1540  
  1541  // Deprecated: Use CountTokensResponse.ProtoReflect.Descriptor instead.
  1542  func (*CountTokensResponse) Descriptor() ([]byte, []int) {
  1543  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{19}
  1544  }
  1545  
  1546  func (x *CountTokensResponse) GetTotalTokens() int32 {
  1547  	if x != nil {
  1548  		return x.TotalTokens
  1549  	}
  1550  	return 0
  1551  }
  1552  
  1553  func (x *CountTokensResponse) GetTotalBillableCharacters() int32 {
  1554  	if x != nil {
  1555  		return x.TotalBillableCharacters
  1556  	}
  1557  	return 0
  1558  }
  1559  
  1560  func (x *CountTokensResponse) GetPromptTokensDetails() []*ModalityTokenCount {
  1561  	if x != nil {
  1562  		return x.PromptTokensDetails
  1563  	}
  1564  	return nil
  1565  }
  1566  
  1567  // Request message for [PredictionService.GenerateContent].
  1568  type GenerateContentRequest struct {
  1569  	state         protoimpl.MessageState
  1570  	sizeCache     protoimpl.SizeCache
  1571  	unknownFields protoimpl.UnknownFields
  1572  
  1573  	// Required. The fully qualified name of the publisher model or tuned model
  1574  	// endpoint to use.
  1575  	//
  1576  	// Publisher model format:
  1577  	// `projects/{project}/locations/{location}/publishers/*/models/*`
  1578  	//
  1579  	// Tuned model endpoint format:
  1580  	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
  1581  	Model string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"`
  1582  	// Required. The content of the current conversation with the model.
  1583  	//
  1584  	// For single-turn queries, this is a single instance. For multi-turn queries,
  1585  	// this is a repeated field that contains conversation history + latest
  1586  	// request.
  1587  	Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"`
  1588  	// Optional. The user provided system instructions for the model.
  1589  	// Note: only text should be used in parts and content in each part will be in
  1590  	// a separate paragraph.
  1591  	SystemInstruction *Content `protobuf:"bytes,8,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"`
  1592  	// Optional. The name of the cached content used as context to serve the
  1593  	// prediction. Note: only used in explicit caching, where users can have
  1594  	// control over caching (e.g. what content to cache) and enjoy guaranteed cost
  1595  	// savings. Format:
  1596  	// `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
  1597  	CachedContent string `protobuf:"bytes,9,opt,name=cached_content,json=cachedContent,proto3" json:"cached_content,omitempty"`
  1598  	// Optional. A list of `Tools` the model may use to generate the next
  1599  	// response.
  1600  	//
  1601  	// A `Tool` is a piece of code that enables the system to interact with
  1602  	// external systems to perform an action, or set of actions, outside of
  1603  	// knowledge and scope of the model.
  1604  	Tools []*Tool `protobuf:"bytes,6,rep,name=tools,proto3" json:"tools,omitempty"`
  1605  	// Optional. Tool config. This config is shared for all tools provided in the
  1606  	// request.
  1607  	ToolConfig *ToolConfig `protobuf:"bytes,7,opt,name=tool_config,json=toolConfig,proto3" json:"tool_config,omitempty"`
  1608  	// Optional. The labels with user-defined metadata for the request. It is used
  1609  	// for billing and reporting only.
  1610  	//
  1611  	// Label keys and values can be no longer than 63 characters
  1612  	// (Unicode codepoints) and can only contain lowercase letters, numeric
  1613  	// characters, underscores, and dashes. International characters are allowed.
  1614  	// Label values are optional. Label keys must start with a letter.
  1615  	Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1616  	// Optional. Per request settings for blocking unsafe content.
  1617  	// Enforced on GenerateContentResponse.candidates.
  1618  	SafetySettings []*SafetySetting `protobuf:"bytes,3,rep,name=safety_settings,json=safetySettings,proto3" json:"safety_settings,omitempty"`
  1619  	// Optional. Settings for prompt and response sanitization using the Model
  1620  	// Armor service. If supplied, safety_settings must not be supplied.
  1621  	ModelArmorConfig *ModelArmorConfig `protobuf:"bytes,11,opt,name=model_armor_config,json=modelArmorConfig,proto3" json:"model_armor_config,omitempty"`
  1622  	// Optional. Generation config.
  1623  	GenerationConfig *GenerationConfig `protobuf:"bytes,4,opt,name=generation_config,json=generationConfig,proto3" json:"generation_config,omitempty"`
  1624  }
  1625  
  1626  func (x *GenerateContentRequest) Reset() {
  1627  	*x = GenerateContentRequest{}
  1628  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20]
  1629  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1630  	ms.StoreMessageInfo(mi)
  1631  }
  1632  
  1633  func (x *GenerateContentRequest) String() string {
  1634  	return protoimpl.X.MessageStringOf(x)
  1635  }
  1636  
  1637  func (*GenerateContentRequest) ProtoMessage() {}
  1638  
  1639  func (x *GenerateContentRequest) ProtoReflect() protoreflect.Message {
  1640  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20]
  1641  	if x != nil {
  1642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1643  		if ms.LoadMessageInfo() == nil {
  1644  			ms.StoreMessageInfo(mi)
  1645  		}
  1646  		return ms
  1647  	}
  1648  	return mi.MessageOf(x)
  1649  }
  1650  
  1651  // Deprecated: Use GenerateContentRequest.ProtoReflect.Descriptor instead.
  1652  func (*GenerateContentRequest) Descriptor() ([]byte, []int) {
  1653  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{20}
  1654  }
  1655  
  1656  func (x *GenerateContentRequest) GetModel() string {
  1657  	if x != nil {
  1658  		return x.Model
  1659  	}
  1660  	return ""
  1661  }
  1662  
  1663  func (x *GenerateContentRequest) GetContents() []*Content {
  1664  	if x != nil {
  1665  		return x.Contents
  1666  	}
  1667  	return nil
  1668  }
  1669  
  1670  func (x *GenerateContentRequest) GetSystemInstruction() *Content {
  1671  	if x != nil {
  1672  		return x.SystemInstruction
  1673  	}
  1674  	return nil
  1675  }
  1676  
  1677  func (x *GenerateContentRequest) GetCachedContent() string {
  1678  	if x != nil {
  1679  		return x.CachedContent
  1680  	}
  1681  	return ""
  1682  }
  1683  
  1684  func (x *GenerateContentRequest) GetTools() []*Tool {
  1685  	if x != nil {
  1686  		return x.Tools
  1687  	}
  1688  	return nil
  1689  }
  1690  
  1691  func (x *GenerateContentRequest) GetToolConfig() *ToolConfig {
  1692  	if x != nil {
  1693  		return x.ToolConfig
  1694  	}
  1695  	return nil
  1696  }
  1697  
  1698  func (x *GenerateContentRequest) GetLabels() map[string]string {
  1699  	if x != nil {
  1700  		return x.Labels
  1701  	}
  1702  	return nil
  1703  }
  1704  
  1705  func (x *GenerateContentRequest) GetSafetySettings() []*SafetySetting {
  1706  	if x != nil {
  1707  		return x.SafetySettings
  1708  	}
  1709  	return nil
  1710  }
  1711  
  1712  func (x *GenerateContentRequest) GetModelArmorConfig() *ModelArmorConfig {
  1713  	if x != nil {
  1714  		return x.ModelArmorConfig
  1715  	}
  1716  	return nil
  1717  }
  1718  
  1719  func (x *GenerateContentRequest) GetGenerationConfig() *GenerationConfig {
  1720  	if x != nil {
  1721  		return x.GenerationConfig
  1722  	}
  1723  	return nil
  1724  }
  1725  
  1726  // Response message for [PredictionService.GenerateContent].
  1727  type GenerateContentResponse struct {
  1728  	state         protoimpl.MessageState
  1729  	sizeCache     protoimpl.SizeCache
  1730  	unknownFields protoimpl.UnknownFields
  1731  
  1732  	// Output only. Generated candidates.
  1733  	Candidates []*Candidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"`
  1734  	// Output only. The model version used to generate the response.
  1735  	ModelVersion string `protobuf:"bytes,11,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"`
  1736  	// Output only. Timestamp when the request is made to the server.
  1737  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  1738  	// Output only. response_id is used to identify each response. It is the
  1739  	// encoding of the event_id.
  1740  	ResponseId string `protobuf:"bytes,13,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
  1741  	// Output only. Content filter results for a prompt sent in the request.
  1742  	// Note: Sent only in the first stream chunk.
  1743  	// Only happens when no candidates were generated due to content violations.
  1744  	PromptFeedback *GenerateContentResponse_PromptFeedback `protobuf:"bytes,3,opt,name=prompt_feedback,json=promptFeedback,proto3" json:"prompt_feedback,omitempty"`
  1745  	// Usage metadata about the response(s).
  1746  	UsageMetadata *GenerateContentResponse_UsageMetadata `protobuf:"bytes,4,opt,name=usage_metadata,json=usageMetadata,proto3" json:"usage_metadata,omitempty"`
  1747  }
  1748  
  1749  func (x *GenerateContentResponse) Reset() {
  1750  	*x = GenerateContentResponse{}
  1751  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[21]
  1752  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1753  	ms.StoreMessageInfo(mi)
  1754  }
  1755  
  1756  func (x *GenerateContentResponse) String() string {
  1757  	return protoimpl.X.MessageStringOf(x)
  1758  }
  1759  
  1760  func (*GenerateContentResponse) ProtoMessage() {}
  1761  
  1762  func (x *GenerateContentResponse) ProtoReflect() protoreflect.Message {
  1763  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[21]
  1764  	if x != nil {
  1765  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1766  		if ms.LoadMessageInfo() == nil {
  1767  			ms.StoreMessageInfo(mi)
  1768  		}
  1769  		return ms
  1770  	}
  1771  	return mi.MessageOf(x)
  1772  }
  1773  
  1774  // Deprecated: Use GenerateContentResponse.ProtoReflect.Descriptor instead.
  1775  func (*GenerateContentResponse) Descriptor() ([]byte, []int) {
  1776  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21}
  1777  }
  1778  
  1779  func (x *GenerateContentResponse) GetCandidates() []*Candidate {
  1780  	if x != nil {
  1781  		return x.Candidates
  1782  	}
  1783  	return nil
  1784  }
  1785  
  1786  func (x *GenerateContentResponse) GetModelVersion() string {
  1787  	if x != nil {
  1788  		return x.ModelVersion
  1789  	}
  1790  	return ""
  1791  }
  1792  
  1793  func (x *GenerateContentResponse) GetCreateTime() *timestamppb.Timestamp {
  1794  	if x != nil {
  1795  		return x.CreateTime
  1796  	}
  1797  	return nil
  1798  }
  1799  
  1800  func (x *GenerateContentResponse) GetResponseId() string {
  1801  	if x != nil {
  1802  		return x.ResponseId
  1803  	}
  1804  	return ""
  1805  }
  1806  
  1807  func (x *GenerateContentResponse) GetPromptFeedback() *GenerateContentResponse_PromptFeedback {
  1808  	if x != nil {
  1809  		return x.PromptFeedback
  1810  	}
  1811  	return nil
  1812  }
  1813  
  1814  func (x *GenerateContentResponse) GetUsageMetadata() *GenerateContentResponse_UsageMetadata {
  1815  	if x != nil {
  1816  		return x.UsageMetadata
  1817  	}
  1818  	return nil
  1819  }
  1820  
  1821  // Content filter results for a prompt sent in the request.
  1822  type GenerateContentResponse_PromptFeedback struct {
  1823  	state         protoimpl.MessageState
  1824  	sizeCache     protoimpl.SizeCache
  1825  	unknownFields protoimpl.UnknownFields
  1826  
  1827  	// Output only. Blocked reason.
  1828  	BlockReason GenerateContentResponse_PromptFeedback_BlockedReason `protobuf:"varint,1,opt,name=block_reason,json=blockReason,proto3,enum=google.cloud.aiplatform.v1.GenerateContentResponse_PromptFeedback_BlockedReason" json:"block_reason,omitempty"`
  1829  	// Output only. Safety ratings.
  1830  	SafetyRatings []*SafetyRating `protobuf:"bytes,2,rep,name=safety_ratings,json=safetyRatings,proto3" json:"safety_ratings,omitempty"`
  1831  	// Output only. A readable block reason message.
  1832  	BlockReasonMessage string `protobuf:"bytes,3,opt,name=block_reason_message,json=blockReasonMessage,proto3" json:"block_reason_message,omitempty"`
  1833  }
  1834  
  1835  func (x *GenerateContentResponse_PromptFeedback) Reset() {
  1836  	*x = GenerateContentResponse_PromptFeedback{}
  1837  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[24]
  1838  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1839  	ms.StoreMessageInfo(mi)
  1840  }
  1841  
  1842  func (x *GenerateContentResponse_PromptFeedback) String() string {
  1843  	return protoimpl.X.MessageStringOf(x)
  1844  }
  1845  
  1846  func (*GenerateContentResponse_PromptFeedback) ProtoMessage() {}
  1847  
  1848  func (x *GenerateContentResponse_PromptFeedback) ProtoReflect() protoreflect.Message {
  1849  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[24]
  1850  	if x != nil {
  1851  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1852  		if ms.LoadMessageInfo() == nil {
  1853  			ms.StoreMessageInfo(mi)
  1854  		}
  1855  		return ms
  1856  	}
  1857  	return mi.MessageOf(x)
  1858  }
  1859  
  1860  // Deprecated: Use GenerateContentResponse_PromptFeedback.ProtoReflect.Descriptor instead.
  1861  func (*GenerateContentResponse_PromptFeedback) Descriptor() ([]byte, []int) {
  1862  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21, 0}
  1863  }
  1864  
  1865  func (x *GenerateContentResponse_PromptFeedback) GetBlockReason() GenerateContentResponse_PromptFeedback_BlockedReason {
  1866  	if x != nil {
  1867  		return x.BlockReason
  1868  	}
  1869  	return GenerateContentResponse_PromptFeedback_BLOCKED_REASON_UNSPECIFIED
  1870  }
  1871  
  1872  func (x *GenerateContentResponse_PromptFeedback) GetSafetyRatings() []*SafetyRating {
  1873  	if x != nil {
  1874  		return x.SafetyRatings
  1875  	}
  1876  	return nil
  1877  }
  1878  
  1879  func (x *GenerateContentResponse_PromptFeedback) GetBlockReasonMessage() string {
  1880  	if x != nil {
  1881  		return x.BlockReasonMessage
  1882  	}
  1883  	return ""
  1884  }
  1885  
  1886  // Usage metadata about response(s).
  1887  type GenerateContentResponse_UsageMetadata struct {
  1888  	state         protoimpl.MessageState
  1889  	sizeCache     protoimpl.SizeCache
  1890  	unknownFields protoimpl.UnknownFields
  1891  
  1892  	// Number of tokens in the request. When `cached_content` is set, this is
  1893  	// still the total effective prompt size meaning this includes the number of
  1894  	// tokens in the cached content.
  1895  	PromptTokenCount int32 `protobuf:"varint,1,opt,name=prompt_token_count,json=promptTokenCount,proto3" json:"prompt_token_count,omitempty"`
  1896  	// Number of tokens in the response(s).
  1897  	CandidatesTokenCount int32 `protobuf:"varint,2,opt,name=candidates_token_count,json=candidatesTokenCount,proto3" json:"candidates_token_count,omitempty"`
  1898  	// Output only. Number of tokens present in thoughts output.
  1899  	ThoughtsTokenCount int32 `protobuf:"varint,14,opt,name=thoughts_token_count,json=thoughtsTokenCount,proto3" json:"thoughts_token_count,omitempty"`
  1900  	// Total token count for prompt and response candidates.
  1901  	TotalTokenCount int32 `protobuf:"varint,3,opt,name=total_token_count,json=totalTokenCount,proto3" json:"total_token_count,omitempty"`
  1902  	// Output only. Number of tokens in the cached part in the input (the cached
  1903  	// content).
  1904  	CachedContentTokenCount int32 `protobuf:"varint,5,opt,name=cached_content_token_count,json=cachedContentTokenCount,proto3" json:"cached_content_token_count,omitempty"`
  1905  	// Output only. List of modalities that were processed in the request input.
  1906  	PromptTokensDetails []*ModalityTokenCount `protobuf:"bytes,9,rep,name=prompt_tokens_details,json=promptTokensDetails,proto3" json:"prompt_tokens_details,omitempty"`
  1907  	// Output only. List of modalities of the cached content in the request
  1908  	// input.
  1909  	CacheTokensDetails []*ModalityTokenCount `protobuf:"bytes,10,rep,name=cache_tokens_details,json=cacheTokensDetails,proto3" json:"cache_tokens_details,omitempty"`
  1910  	// Output only. List of modalities that were returned in the response.
  1911  	CandidatesTokensDetails []*ModalityTokenCount `protobuf:"bytes,11,rep,name=candidates_tokens_details,json=candidatesTokensDetails,proto3" json:"candidates_tokens_details,omitempty"`
  1912  }
  1913  
  1914  func (x *GenerateContentResponse_UsageMetadata) Reset() {
  1915  	*x = GenerateContentResponse_UsageMetadata{}
  1916  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[25]
  1917  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1918  	ms.StoreMessageInfo(mi)
  1919  }
  1920  
  1921  func (x *GenerateContentResponse_UsageMetadata) String() string {
  1922  	return protoimpl.X.MessageStringOf(x)
  1923  }
  1924  
  1925  func (*GenerateContentResponse_UsageMetadata) ProtoMessage() {}
  1926  
  1927  func (x *GenerateContentResponse_UsageMetadata) ProtoReflect() protoreflect.Message {
  1928  	mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[25]
  1929  	if x != nil {
  1930  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1931  		if ms.LoadMessageInfo() == nil {
  1932  			ms.StoreMessageInfo(mi)
  1933  		}
  1934  		return ms
  1935  	}
  1936  	return mi.MessageOf(x)
  1937  }
  1938  
  1939  // Deprecated: Use GenerateContentResponse_UsageMetadata.ProtoReflect.Descriptor instead.
  1940  func (*GenerateContentResponse_UsageMetadata) Descriptor() ([]byte, []int) {
  1941  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21, 1}
  1942  }
  1943  
  1944  func (x *GenerateContentResponse_UsageMetadata) GetPromptTokenCount() int32 {
  1945  	if x != nil {
  1946  		return x.PromptTokenCount
  1947  	}
  1948  	return 0
  1949  }
  1950  
  1951  func (x *GenerateContentResponse_UsageMetadata) GetCandidatesTokenCount() int32 {
  1952  	if x != nil {
  1953  		return x.CandidatesTokenCount
  1954  	}
  1955  	return 0
  1956  }
  1957  
  1958  func (x *GenerateContentResponse_UsageMetadata) GetThoughtsTokenCount() int32 {
  1959  	if x != nil {
  1960  		return x.ThoughtsTokenCount
  1961  	}
  1962  	return 0
  1963  }
  1964  
  1965  func (x *GenerateContentResponse_UsageMetadata) GetTotalTokenCount() int32 {
  1966  	if x != nil {
  1967  		return x.TotalTokenCount
  1968  	}
  1969  	return 0
  1970  }
  1971  
  1972  func (x *GenerateContentResponse_UsageMetadata) GetCachedContentTokenCount() int32 {
  1973  	if x != nil {
  1974  		return x.CachedContentTokenCount
  1975  	}
  1976  	return 0
  1977  }
  1978  
  1979  func (x *GenerateContentResponse_UsageMetadata) GetPromptTokensDetails() []*ModalityTokenCount {
  1980  	if x != nil {
  1981  		return x.PromptTokensDetails
  1982  	}
  1983  	return nil
  1984  }
  1985  
  1986  func (x *GenerateContentResponse_UsageMetadata) GetCacheTokensDetails() []*ModalityTokenCount {
  1987  	if x != nil {
  1988  		return x.CacheTokensDetails
  1989  	}
  1990  	return nil
  1991  }
  1992  
  1993  func (x *GenerateContentResponse_UsageMetadata) GetCandidatesTokensDetails() []*ModalityTokenCount {
  1994  	if x != nil {
  1995  		return x.CandidatesTokensDetails
  1996  	}
  1997  	return nil
  1998  }
  1999  
  2000  var File_google_cloud_aiplatform_v1_prediction_service_proto protoreflect.FileDescriptor
  2001  
  2002  var file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = []byte{
  2003  	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  2004  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65,
  2005  	0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
  2006  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2007  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  2008  	0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
  2009  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  2010  	0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65,
  2011  	0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2012  	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
  2013  	0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2014  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70,
  2015  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  2016  	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  2017  	0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69,
  2018  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74,
  2019  	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2020  	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2021  	0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  2022  	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  2023  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2024  	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26,
  2025  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70,
  2026  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73,
  2027  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
  2028  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70,
  2029  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  2030  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  2031  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
  2032  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
  2033  	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,
  2034  	0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67,
  2035  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e,
  2036  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2037  	0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20,
  2038  	0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2039  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
  2040  	0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x70,
  2041  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2042  	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2043  	0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  2044  	0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20,
  2045  	0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2046  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  2047  	0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
  2048  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2049  	0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65,
  2050  	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  2051  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  2052  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  2053  	0x02, 0x38, 0x01, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52,
  2054  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69,
  2055  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
  2056  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56,
  2057  	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  2058  	0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f,
  2059  	0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65,
  2060  	0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x3d, 0x0a,
  2061  	0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41,
  2062  	0x03, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2063  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2064  	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10,
  2065  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
  2066  	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64,
  2067  	0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x6d,
  2068  	0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  2069  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x6f,
  2070  	0x64, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37,
  2071  	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
  2072  	0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2073  	0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d,
  2074  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x77, 0x50,
  2075  	0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a,
  2076  	0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  2077  	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2078  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  2079  	0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64,
  2080  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f,
  2081  	0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2082  	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x08,
  2083  	0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72,
  2084  	0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71,
  2085  	0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2086  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22,
  2087  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2088  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
  2089  	0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09,
  2090  	0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2091  	0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74,
  2092  	0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22,
  2093  	0xde, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
  2094  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
  2095  	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,
  2096  	0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67,
  2097  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e,
  2098  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2099  	0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  2100  	0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2101  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
  2102  	0x6e, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a,
  2103  	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  2104  	0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2105  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
  2106  	0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
  2107  	0x22, 0x99, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69,
  2108  	0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x6f, 0x75,
  2109  	0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f,
  2110  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2111  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52,
  2112  	0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61,
  2113  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
  2114  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  2115  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72,
  2116  	0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x98, 0x01, 0x0a,
  2117  	0x17, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
  2118  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
  2119  	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,
  2120  	0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67,
  2121  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e,
  2122  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2123  	0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  2124  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d,
  2125  	0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
  2126  	0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x32, 0x0a, 0x18, 0x44, 0x69, 0x72, 0x65, 0x63,
  2127  	0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2128  	0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20,
  2129  	0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xee, 0x01, 0x0a, 0x1a,
  2130  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64,
  2131  	0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e,
  2132  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41,
  2133  	0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2134  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2135  	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
  2136  	0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
  2137  	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2138  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  2139  	0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x70,
  2140  	0x75, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
  2141  	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2142  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2143  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2144  	0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9f, 0x01, 0x0a,
  2145  	0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65,
  2146  	0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07,
  2147  	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
  2148  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2149  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f,
  2150  	0x72, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61,
  2151  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
  2152  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  2153  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73,
  2154  	0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xa8,
  2155  	0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52,
  2156  	0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2157  	0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
  2158  	0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c,
  2159  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  2160  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08,
  2161  	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68,
  2162  	0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  2163  	0x41, 0x01, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19,
  2164  	0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0,
  2165  	0x41, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x38, 0x0a, 0x1e, 0x53, 0x74, 0x72,
  2166  	0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64,
  2167  	0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f,
  2168  	0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74,
  2169  	0x70, 0x75, 0x74, 0x22, 0xe1, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
  2170  	0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  2171  	0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  2172  	0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2173  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  2174  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65,
  2175  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74,
  2176  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2177  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2178  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x69, 0x6e, 0x70,
  2179  	0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
  2180  	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2181  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2182  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72,
  2183  	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65,
  2184  	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70,
  2185  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18,
  2186  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2187  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  2188  	0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75,
  2189  	0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
  2190  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2191  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2192  	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61,
  2193  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61,
  2194  	0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65,
  2195  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
  2196  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a,
  2197  	0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2198  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f,
  2199  	0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a,
  2200  	0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
  2201  	0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14,
  2202  	0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69,
  2203  	0x6e, 0x70, 0x75, 0x74, 0x22, 0x35, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
  2204  	0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2205  	0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20,
  2206  	0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xe8, 0x02, 0x0a, 0x0e,
  2207  	0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46,
  2208  	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2209  	0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  2210  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  2211  	0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e,
  2212  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  2213  	0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2214  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75,
  2215  	0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  2216  	0x73, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18,
  2217  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2218  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70,
  2219  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6f, 0x0a, 0x19, 0x65, 0x78, 0x70,
  2220  	0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x6f, 0x76,
  2221  	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67,
  2222  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  2223  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e,
  2224  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
  2225  	0x65, 0x52, 0x17, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70,
  2226  	0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65,
  2227  	0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
  2228  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d,
  2229  	0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61,
  2230  	0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x65, 0x78,
  2231  	0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  2232  	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2233  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78,
  2234  	0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61,
  2235  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f,
  2236  	0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
  2237  	0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65,
  2238  	0x6c, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f,
  2239  	0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2240  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
  2241  	0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa5, 0x04,
  2242  	0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71,
  2243  	0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2244  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22,
  2245  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2246  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
  2247  	0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05,
  2248  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2249  	0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61,
  2250  	0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
  2251  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c,
  2252  	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  2253  	0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04,
  2254  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2255  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  2256  	0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08,
  2257  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74,
  2258  	0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05,
  2259  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2260  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  2261  	0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
  2262  	0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
  2263  	0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18,
  2264  	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2265  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  2266  	0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f,
  2267  	0x6f, 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2268  	0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
  2269  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  2270  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65,
  2271  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
  2272  	0x01, 0x48, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
  2273  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x79, 0x73,
  2274  	0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42,
  2275  	0x14, 0x0a, 0x12, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
  2276  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdd, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54,
  2277  	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a,
  2278  	0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20,
  2279  	0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
  2280  	0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62,
  2281  	0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
  2282  	0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62,
  2283  	0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x15,
  2284  	0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x64, 0x65,
  2285  	0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f,
  2286  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2287  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74,
  2288  	0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03,
  2289  	0x52, 0x13, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x44, 0x65,
  2290  	0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x83, 0x07, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  2291  	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2292  	0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
  2293  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x08, 0x63,
  2294  	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e,
  2295  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2296  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  2297  	0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
  2298  	0x73, 0x12, 0x5c, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74,
  2299  	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
  2300  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2301  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  2302  	0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65,
  2303  	0x6d, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12,
  2304  	0x56, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  2305  	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x29, 0x0a,
  2306  	0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2307  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x63, 0x68, 0x65,
  2308  	0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64,
  2309  	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
  2310  	0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2311  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2312  	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74,
  2313  	0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
  2314  	0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2315  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2316  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2317  	0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66,
  2318  	0x69, 0x67, 0x12, 0x5b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03,
  2319  	0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2320  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  2321  	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
  2322  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  2323  	0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12,
  2324  	0x57, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
  2325  	0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2326  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2327  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74,
  2328  	0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79,
  2329  	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5f, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65,
  2330  	0x6c, 0x5f, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b,
  2331  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2332  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  2333  	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 0x6d, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66,
  2334  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72,
  2335  	0x6d, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x11, 0x67, 0x65, 0x6e,
  2336  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04,
  2337  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2338  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  2339  	0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
  2340  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  2341  	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62,
  2342  	0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
  2343  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
  2344  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  2345  	0x3a, 0x02, 0x38, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f,
  2346  	0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x0b, 0x0a, 0x17,
  2347  	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
  2348  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69,
  2349  	0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
  2350  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2351  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
  2352  	0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
  2353  	0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72,
  2354  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  2355  	0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a,
  2356  	0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01,
  2357  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2358  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
  2359  	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
  2360  	0x24, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d,
  2361  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f,
  2362  	0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x70, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f,
  2363  	0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42,
  2364  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  2365  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65,
  2366  	0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2367  	0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61,
  2368  	0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46,
  2369  	0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x68, 0x0a, 0x0e, 0x75, 0x73, 0x61, 0x67, 0x65,
  2370  	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2371  	0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  2372  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e,
  2373  	0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
  2374  	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  2375  	0x74, 0x61, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  2376  	0x61, 0x1a, 0xa7, 0x03, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64,
  2377  	0x62, 0x61, 0x63, 0x6b, 0x12, 0x78, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65,
  2378  	0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f,
  2379  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  2380  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
  2381  	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
  2382  	0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42,
  2383  	0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
  2384  	0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x54,
  2385  	0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73,
  2386  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2387  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2388  	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67,
  2389  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74,
  2390  	0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65,
  2391  	0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01,
  2392  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
  2393  	0x61, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x0d,
  2394  	0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a,
  2395  	0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
  2396  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a,
  2397  	0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48,
  2398  	0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x4c, 0x49, 0x53,
  2399  	0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x48, 0x49, 0x42, 0x49, 0x54, 0x45,
  2400  	0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4d,
  2401  	0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x41, 0x52, 0x4d, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09,
  2402  	0x4a, 0x41, 0x49, 0x4c, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x06, 0x1a, 0xd9, 0x04, 0x0a, 0x0d,
  2403  	0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a,
  2404  	0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f,
  2405  	0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x70,
  2406  	0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x63,
  2407  	0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
  2408  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x63, 0x61, 0x6e,
  2409  	0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
  2410  	0x74, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x73, 0x5f, 0x74, 0x6f,
  2411  	0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x42,
  2412  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x73, 0x54, 0x6f,
  2413  	0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61,
  2414  	0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
  2415  	0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43,
  2416  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63,
  2417  	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
  2418  	0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x63,
  2419  	0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65,
  2420  	0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74,
  2421  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18,
  2422  	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2423  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  2424  	0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  2425  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x6d,
  2426  	0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
  2427  	0x65, 0x0a, 0x14, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f,
  2428  	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
  2429  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2430  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c,
  2431  	0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0,
  2432  	0x41, 0x03, 0x52, 0x12, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x44,
  2433  	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x6f, 0x0a, 0x19, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64,
  2434  	0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61,
  2435  	0x69, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2436  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2437  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54,
  2438  	0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17,
  2439  	0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
  2440  	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x32, 0xf2, 0x19, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64,
  2441  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x94, 0x02,
  2442  	0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2443  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2444  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65,
  2445  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2446  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  2447  	0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2448  	0x73, 0x65, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2449  	0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d,
  2450  	0x65, 0x74, 0x65, 0x72, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, 0x5a,
  2451  	0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  2452  	0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
  2453  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69,
  2454  	0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a,
  2455  	0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  2456  	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  2457  	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
  2458  	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65,
  2459  	0x64, 0x69, 0x63, 0x74, 0x12, 0xfe, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64,
  2460  	0x69, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2461  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  2462  	0x2e, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  2463  	0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
  2464  	0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e,
  2465  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79,
  2466  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, 0x22,
  2467  	0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70,
  2468  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  2469  	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73,
  2470  	0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77,
  2471  	0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e,
  2472  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2473  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e,
  2474  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72,
  2475  	0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x98, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2476  	0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
  2477  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  2478  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61,
  2479  	0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2480  	0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74,
  2481  	0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  2482  	0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, 0xe4,
  2483  	0x93, 0x02, 0x9a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76,
  2484  	0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
  2485  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2486  	0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f,
  2487  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2488  	0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f,
  2489  	0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2490  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
  2491  	0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74,
  2492  	0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01,
  2493  	0x12, 0xc0, 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69,
  2494  	0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2495  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  2496  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71,
  2497  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2498  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  2499  	0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52,
  2500  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a,
  2501  	0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
  2502  	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  2503  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
  2504  	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64,
  2505  	0x69, 0x63, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61,
  2506  	0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2507  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2508  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50,
  2509  	0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e,
  2510  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2511  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63,
  2512  	0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2513  	0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42,
  2514  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72,
  2515  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  2516  	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
  2517  	0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69,
  2518  	0x63, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72,
  2519  	0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
  2520  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  2521  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69,
  2522  	0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  2523  	0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2524  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  2525  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64,
  2526  	0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30,
  2527  	0x01, 0x12, 0x95, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65,
  2528  	0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 0x2e, 0x67,
  2529  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  2530  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2531  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  2532  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2533  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2534  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63,
  2535  	0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2536  	0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x53, 0x74,
  2537  	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33,
  2538  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  2539  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65,
  2540  	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
  2541  	0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2542  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  2543  	0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
  2544  	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12,
  2545  	0xb5, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2546  	0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
  2547  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  2548  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
  2549  	0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2550  	0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  2551  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72,
  2552  	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73,
  2553  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa6, 0x01, 0x3a,
  2554  	0x01, 0x2a, 0x5a, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e,
  2555  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2556  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75,
  2557  	0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  2558  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61,
  2559  	0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x48, 0x2f, 0x76, 0x31,
  2560  	0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  2561  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  2562  	0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73,
  2563  	0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72,
  2564  	0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65,
  2565  	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12,
  2566  	0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  2567  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72,
  2568  	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  2569  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2570  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2571  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61,
  2572  	0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2573  	0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xda, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61,
  2574  	0x69, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2575  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  2576  	0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
  2577  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  2578  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c,
  2579  	0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0xda, 0x41, 0x2f,
  2580  	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  2581  	0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, 0x65,
  2582  	0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x82,
  2583  	0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65,
  2584  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  2585  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65,
  2586  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c,
  2587  	0x61, 0x69, 0x6e, 0x12, 0x8d, 0x03, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
  2588  	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2589  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2590  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e,
  2591  	0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f,
  2592  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2593  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  2594  	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2595  	0x22, 0x90, 0x02, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74,
  2596  	0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf8, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4d,
  2597  	0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d,
  2598  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  2599  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72,
  2600  	0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65,
  2601  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x2c, 0x3a,
  2602  	0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x65,
  2603  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65,
  2604  	0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x36, 0x3a, 0x01, 0x2a,
  2605  	0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x75, 0x62,
  2606  	0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
  2607  	0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
  2608  	0x65, 0x6e, 0x74, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d,
  2609  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  2610  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
  2611  	0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
  2612  	0x65, 0x6e, 0x74, 0x12, 0xad, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65,
  2613  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e,
  2614  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2615  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
  2616  	0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2617  	0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2618  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  2619  	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
  2620  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x02, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65,
  2621  	0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90,
  2622  	0x02, 0x3a, 0x01, 0x2a, 0x5a, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  2623  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  2624  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62,
  2625  	0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
  2626  	0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
  2627  	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d,
  2628  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  2629  	0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65,
  2630  	0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x3c, 0x3a,
  2631  	0x01, 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70,
  2632  	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65,
  2633  	0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65,
  2634  	0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x2f, 0x76, 0x31,
  2635  	0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  2636  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65,
  2637  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65,
  2638  	0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  2639  	0x74, 0x30, 0x01, 0x1a, 0x86, 0x01, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2640  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  2641  	0x6f, 0x6d, 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
  2642  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2643  	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2644  	0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
  2645  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
  2646  	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2647  	0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0xd4, 0x01, 0x0a,
  2648  	0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2649  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42,
  2650  	0x16, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69,
  2651  	0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2652  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61,
  2653  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f,
  2654  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70,
  2655  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67,
  2656  	0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66,
  2657  	0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c,
  2658  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2659  	0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c,
  2660  	0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a,
  2661  	0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2662  }
  2663  
  2664  var (
  2665  	file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescOnce sync.Once
  2666  	file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData = file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc
  2667  )
  2668  
  2669  func file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP() []byte {
  2670  	file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescOnce.Do(func() {
  2671  		file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData)
  2672  	})
  2673  	return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData
  2674  }
  2675  
  2676  var file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  2677  var file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
  2678  var file_google_cloud_aiplatform_v1_prediction_service_proto_goTypes = []any{
  2679  	(GenerateContentResponse_PromptFeedback_BlockedReason)(0), // 0: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.BlockedReason
  2680  	(*PredictRequest)(nil),                         // 1: google.cloud.aiplatform.v1.PredictRequest
  2681  	(*PredictResponse)(nil),                        // 2: google.cloud.aiplatform.v1.PredictResponse
  2682  	(*RawPredictRequest)(nil),                      // 3: google.cloud.aiplatform.v1.RawPredictRequest
  2683  	(*StreamRawPredictRequest)(nil),                // 4: google.cloud.aiplatform.v1.StreamRawPredictRequest
  2684  	(*DirectPredictRequest)(nil),                   // 5: google.cloud.aiplatform.v1.DirectPredictRequest
  2685  	(*DirectPredictResponse)(nil),                  // 6: google.cloud.aiplatform.v1.DirectPredictResponse
  2686  	(*DirectRawPredictRequest)(nil),                // 7: google.cloud.aiplatform.v1.DirectRawPredictRequest
  2687  	(*DirectRawPredictResponse)(nil),               // 8: google.cloud.aiplatform.v1.DirectRawPredictResponse
  2688  	(*StreamDirectPredictRequest)(nil),             // 9: google.cloud.aiplatform.v1.StreamDirectPredictRequest
  2689  	(*StreamDirectPredictResponse)(nil),            // 10: google.cloud.aiplatform.v1.StreamDirectPredictResponse
  2690  	(*StreamDirectRawPredictRequest)(nil),          // 11: google.cloud.aiplatform.v1.StreamDirectRawPredictRequest
  2691  	(*StreamDirectRawPredictResponse)(nil),         // 12: google.cloud.aiplatform.v1.StreamDirectRawPredictResponse
  2692  	(*StreamingPredictRequest)(nil),                // 13: google.cloud.aiplatform.v1.StreamingPredictRequest
  2693  	(*StreamingPredictResponse)(nil),               // 14: google.cloud.aiplatform.v1.StreamingPredictResponse
  2694  	(*StreamingRawPredictRequest)(nil),             // 15: google.cloud.aiplatform.v1.StreamingRawPredictRequest
  2695  	(*StreamingRawPredictResponse)(nil),            // 16: google.cloud.aiplatform.v1.StreamingRawPredictResponse
  2696  	(*ExplainRequest)(nil),                         // 17: google.cloud.aiplatform.v1.ExplainRequest
  2697  	(*ExplainResponse)(nil),                        // 18: google.cloud.aiplatform.v1.ExplainResponse
  2698  	(*CountTokensRequest)(nil),                     // 19: google.cloud.aiplatform.v1.CountTokensRequest
  2699  	(*CountTokensResponse)(nil),                    // 20: google.cloud.aiplatform.v1.CountTokensResponse
  2700  	(*GenerateContentRequest)(nil),                 // 21: google.cloud.aiplatform.v1.GenerateContentRequest
  2701  	(*GenerateContentResponse)(nil),                // 22: google.cloud.aiplatform.v1.GenerateContentResponse
  2702  	nil,                                            // 23: google.cloud.aiplatform.v1.PredictRequest.LabelsEntry
  2703  	nil,                                            // 24: google.cloud.aiplatform.v1.GenerateContentRequest.LabelsEntry
  2704  	(*GenerateContentResponse_PromptFeedback)(nil), // 25: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback
  2705  	(*GenerateContentResponse_UsageMetadata)(nil),  // 26: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata
  2706  	(*structpb.Value)(nil),                         // 27: google.protobuf.Value
  2707  	(*httpbody.HttpBody)(nil),                      // 28: google.api.HttpBody
  2708  	(*Tensor)(nil),                                 // 29: google.cloud.aiplatform.v1.Tensor
  2709  	(*ExplanationSpecOverride)(nil),                // 30: google.cloud.aiplatform.v1.ExplanationSpecOverride
  2710  	(*Explanation)(nil),                            // 31: google.cloud.aiplatform.v1.Explanation
  2711  	(*Content)(nil),                                // 32: google.cloud.aiplatform.v1.Content
  2712  	(*Tool)(nil),                                   // 33: google.cloud.aiplatform.v1.Tool
  2713  	(*GenerationConfig)(nil),                       // 34: google.cloud.aiplatform.v1.GenerationConfig
  2714  	(*ModalityTokenCount)(nil),                     // 35: google.cloud.aiplatform.v1.ModalityTokenCount
  2715  	(*ToolConfig)(nil),                             // 36: google.cloud.aiplatform.v1.ToolConfig
  2716  	(*SafetySetting)(nil),                          // 37: google.cloud.aiplatform.v1.SafetySetting
  2717  	(*ModelArmorConfig)(nil),                       // 38: google.cloud.aiplatform.v1.ModelArmorConfig
  2718  	(*Candidate)(nil),                              // 39: google.cloud.aiplatform.v1.Candidate
  2719  	(*timestamppb.Timestamp)(nil),                  // 40: google.protobuf.Timestamp
  2720  	(*SafetyRating)(nil),                           // 41: google.cloud.aiplatform.v1.SafetyRating
  2721  }
  2722  var file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs = []int32{
  2723  	27, // 0: google.cloud.aiplatform.v1.PredictRequest.instances:type_name -> google.protobuf.Value
  2724  	27, // 1: google.cloud.aiplatform.v1.PredictRequest.parameters:type_name -> google.protobuf.Value
  2725  	23, // 2: google.cloud.aiplatform.v1.PredictRequest.labels:type_name -> google.cloud.aiplatform.v1.PredictRequest.LabelsEntry
  2726  	27, // 3: google.cloud.aiplatform.v1.PredictResponse.predictions:type_name -> google.protobuf.Value
  2727  	27, // 4: google.cloud.aiplatform.v1.PredictResponse.metadata:type_name -> google.protobuf.Value
  2728  	28, // 5: google.cloud.aiplatform.v1.RawPredictRequest.http_body:type_name -> google.api.HttpBody
  2729  	28, // 6: google.cloud.aiplatform.v1.StreamRawPredictRequest.http_body:type_name -> google.api.HttpBody
  2730  	29, // 7: google.cloud.aiplatform.v1.DirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1.Tensor
  2731  	29, // 8: google.cloud.aiplatform.v1.DirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1.Tensor
  2732  	29, // 9: google.cloud.aiplatform.v1.DirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1.Tensor
  2733  	29, // 10: google.cloud.aiplatform.v1.DirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1.Tensor
  2734  	29, // 11: google.cloud.aiplatform.v1.StreamDirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1.Tensor
  2735  	29, // 12: google.cloud.aiplatform.v1.StreamDirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1.Tensor
  2736  	29, // 13: google.cloud.aiplatform.v1.StreamDirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1.Tensor
  2737  	29, // 14: google.cloud.aiplatform.v1.StreamDirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1.Tensor
  2738  	29, // 15: google.cloud.aiplatform.v1.StreamingPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1.Tensor
  2739  	29, // 16: google.cloud.aiplatform.v1.StreamingPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1.Tensor
  2740  	29, // 17: google.cloud.aiplatform.v1.StreamingPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1.Tensor
  2741  	29, // 18: google.cloud.aiplatform.v1.StreamingPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1.Tensor
  2742  	27, // 19: google.cloud.aiplatform.v1.ExplainRequest.instances:type_name -> google.protobuf.Value
  2743  	27, // 20: google.cloud.aiplatform.v1.ExplainRequest.parameters:type_name -> google.protobuf.Value
  2744  	30, // 21: google.cloud.aiplatform.v1.ExplainRequest.explanation_spec_override:type_name -> google.cloud.aiplatform.v1.ExplanationSpecOverride
  2745  	31, // 22: google.cloud.aiplatform.v1.ExplainResponse.explanations:type_name -> google.cloud.aiplatform.v1.Explanation
  2746  	27, // 23: google.cloud.aiplatform.v1.ExplainResponse.predictions:type_name -> google.protobuf.Value
  2747  	27, // 24: google.cloud.aiplatform.v1.CountTokensRequest.instances:type_name -> google.protobuf.Value
  2748  	32, // 25: google.cloud.aiplatform.v1.CountTokensRequest.contents:type_name -> google.cloud.aiplatform.v1.Content
  2749  	32, // 26: google.cloud.aiplatform.v1.CountTokensRequest.system_instruction:type_name -> google.cloud.aiplatform.v1.Content
  2750  	33, // 27: google.cloud.aiplatform.v1.CountTokensRequest.tools:type_name -> google.cloud.aiplatform.v1.Tool
  2751  	34, // 28: google.cloud.aiplatform.v1.CountTokensRequest.generation_config:type_name -> google.cloud.aiplatform.v1.GenerationConfig
  2752  	35, // 29: google.cloud.aiplatform.v1.CountTokensResponse.prompt_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount
  2753  	32, // 30: google.cloud.aiplatform.v1.GenerateContentRequest.contents:type_name -> google.cloud.aiplatform.v1.Content
  2754  	32, // 31: google.cloud.aiplatform.v1.GenerateContentRequest.system_instruction:type_name -> google.cloud.aiplatform.v1.Content
  2755  	33, // 32: google.cloud.aiplatform.v1.GenerateContentRequest.tools:type_name -> google.cloud.aiplatform.v1.Tool
  2756  	36, // 33: google.cloud.aiplatform.v1.GenerateContentRequest.tool_config:type_name -> google.cloud.aiplatform.v1.ToolConfig
  2757  	24, // 34: google.cloud.aiplatform.v1.GenerateContentRequest.labels:type_name -> google.cloud.aiplatform.v1.GenerateContentRequest.LabelsEntry
  2758  	37, // 35: google.cloud.aiplatform.v1.GenerateContentRequest.safety_settings:type_name -> google.cloud.aiplatform.v1.SafetySetting
  2759  	38, // 36: google.cloud.aiplatform.v1.GenerateContentRequest.model_armor_config:type_name -> google.cloud.aiplatform.v1.ModelArmorConfig
  2760  	34, // 37: google.cloud.aiplatform.v1.GenerateContentRequest.generation_config:type_name -> google.cloud.aiplatform.v1.GenerationConfig
  2761  	39, // 38: google.cloud.aiplatform.v1.GenerateContentResponse.candidates:type_name -> google.cloud.aiplatform.v1.Candidate
  2762  	40, // 39: google.cloud.aiplatform.v1.GenerateContentResponse.create_time:type_name -> google.protobuf.Timestamp
  2763  	25, // 40: google.cloud.aiplatform.v1.GenerateContentResponse.prompt_feedback:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback
  2764  	26, // 41: google.cloud.aiplatform.v1.GenerateContentResponse.usage_metadata:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata
  2765  	0,  // 42: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.BlockedReason
  2766  	41, // 43: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.cloud.aiplatform.v1.SafetyRating
  2767  	35, // 44: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata.prompt_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount
  2768  	35, // 45: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata.cache_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount
  2769  	35, // 46: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata.candidates_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount
  2770  	1,  // 47: google.cloud.aiplatform.v1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1.PredictRequest
  2771  	3,  // 48: google.cloud.aiplatform.v1.PredictionService.RawPredict:input_type -> google.cloud.aiplatform.v1.RawPredictRequest
  2772  	4,  // 49: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:input_type -> google.cloud.aiplatform.v1.StreamRawPredictRequest
  2773  	5,  // 50: google.cloud.aiplatform.v1.PredictionService.DirectPredict:input_type -> google.cloud.aiplatform.v1.DirectPredictRequest
  2774  	7,  // 51: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:input_type -> google.cloud.aiplatform.v1.DirectRawPredictRequest
  2775  	9,  // 52: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectPredictRequest
  2776  	11, // 53: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictRequest
  2777  	13, // 54: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest
  2778  	13, // 55: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest
  2779  	15, // 56: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:input_type -> google.cloud.aiplatform.v1.StreamingRawPredictRequest
  2780  	17, // 57: google.cloud.aiplatform.v1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1.ExplainRequest
  2781  	21, // 58: google.cloud.aiplatform.v1.PredictionService.GenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest
  2782  	21, // 59: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest
  2783  	2,  // 60: google.cloud.aiplatform.v1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1.PredictResponse
  2784  	28, // 61: google.cloud.aiplatform.v1.PredictionService.RawPredict:output_type -> google.api.HttpBody
  2785  	28, // 62: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:output_type -> google.api.HttpBody
  2786  	6,  // 63: google.cloud.aiplatform.v1.PredictionService.DirectPredict:output_type -> google.cloud.aiplatform.v1.DirectPredictResponse
  2787  	8,  // 64: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:output_type -> google.cloud.aiplatform.v1.DirectRawPredictResponse
  2788  	10, // 65: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectPredictResponse
  2789  	12, // 66: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictResponse
  2790  	14, // 67: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse
  2791  	14, // 68: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse
  2792  	16, // 69: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:output_type -> google.cloud.aiplatform.v1.StreamingRawPredictResponse
  2793  	18, // 70: google.cloud.aiplatform.v1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1.ExplainResponse
  2794  	22, // 71: google.cloud.aiplatform.v1.PredictionService.GenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse
  2795  	22, // 72: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse
  2796  	60, // [60:73] is the sub-list for method output_type
  2797  	47, // [47:60] is the sub-list for method input_type
  2798  	47, // [47:47] is the sub-list for extension type_name
  2799  	47, // [47:47] is the sub-list for extension extendee
  2800  	0,  // [0:47] is the sub-list for field type_name
  2801  }
  2802  
  2803  func init() { file_google_cloud_aiplatform_v1_prediction_service_proto_init() }
  2804  func file_google_cloud_aiplatform_v1_prediction_service_proto_init() {
  2805  	if File_google_cloud_aiplatform_v1_prediction_service_proto != nil {
  2806  		return
  2807  	}
  2808  	file_google_cloud_aiplatform_v1_content_proto_init()
  2809  	file_google_cloud_aiplatform_v1_explanation_proto_init()
  2810  	file_google_cloud_aiplatform_v1_tool_proto_init()
  2811  	file_google_cloud_aiplatform_v1_types_proto_init()
  2812  	file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[18].OneofWrappers = []any{}
  2813  	file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20].OneofWrappers = []any{}
  2814  	type x struct{}
  2815  	out := protoimpl.TypeBuilder{
  2816  		File: protoimpl.DescBuilder{
  2817  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2818  			RawDescriptor: file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc,
  2819  			NumEnums:      1,
  2820  			NumMessages:   26,
  2821  			NumExtensions: 0,
  2822  			NumServices:   1,
  2823  		},
  2824  		GoTypes:           file_google_cloud_aiplatform_v1_prediction_service_proto_goTypes,
  2825  		DependencyIndexes: file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs,
  2826  		EnumInfos:         file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes,
  2827  		MessageInfos:      file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes,
  2828  	}.Build()
  2829  	File_google_cloud_aiplatform_v1_prediction_service_proto = out.File
  2830  	file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = nil
  2831  	file_google_cloud_aiplatform_v1_prediction_service_proto_goTypes = nil
  2832  	file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs = nil
  2833  }