// Code generated by protoc-gen-go. DO NOT EDIT.

package protocol

import (
	reflect "reflect"
	sync "sync"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GenerativeSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Deprecated: Marked as deprecated in v1/generative.proto.
	SingleResponsePrompt string `protobuf:"bytes,1,opt,name=single_response_prompt,json=singleResponsePrompt,proto3" json:"single_response_prompt,omitempty"`
	// Deprecated: Marked as deprecated in v1/generative.proto.
	GroupedResponseTask string `protobuf:"bytes,2,opt,name=grouped_response_task,json=groupedResponseTask,proto3" json:"grouped_response_task,omitempty"`
	// Deprecated: Marked as deprecated in v1/generative.proto.
	GroupedProperties []string                  `protobuf:"bytes,3,rep,name=grouped_properties,json=groupedProperties,proto3" json:"grouped_properties,omitempty"`
	Single            *GenerativeSearch_Single  `protobuf:"bytes,4,opt,name=single,proto3" json:"single,omitempty"`
	Grouped           *GenerativeSearch_Grouped `protobuf:"bytes,5,opt,name=grouped,proto3" json:"grouped,omitempty"`
}

func (x *GenerativeSearch) Reset() {
	*x = GenerativeSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeSearch) ProtoMessage() {}

func (x *GenerativeSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeSearch.ProtoReflect.Descriptor instead.
func (*GenerativeSearch) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{0}
}

// Deprecated: Marked as deprecated in v1/generative.proto.
func (x *GenerativeSearch) GetSingleResponsePrompt() string {
	if x != nil {
		return x.SingleResponsePrompt
	}
	return ""
}

// Deprecated: Marked as deprecated in v1/generative.proto.
func (x *GenerativeSearch) GetGroupedResponseTask() string {
	if x != nil {
		return x.GroupedResponseTask
	}
	return ""
}

// Deprecated: Marked as deprecated in v1/generative.proto.
func (x *GenerativeSearch) GetGroupedProperties() []string {
	if x != nil {
		return x.GroupedProperties
	}
	return nil
}

func (x *GenerativeSearch) GetSingle() *GenerativeSearch_Single {
	if x != nil {
		return x.Single
	}
	return nil
}

func (x *GenerativeSearch) GetGrouped() *GenerativeSearch_Grouped {
	if x != nil {
		return x.Grouped
	}
	return nil
}

type GenerativeProvider struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReturnMetadata bool `protobuf:"varint,1,opt,name=return_metadata,json=returnMetadata,proto3" json:"return_metadata,omitempty"`
	// Types that are assignable to Kind:
	//
	//	*GenerativeProvider_Anthropic
	//	*GenerativeProvider_Anyscale
	//	*GenerativeProvider_Aws
	//	*GenerativeProvider_Cohere
	//	*GenerativeProvider_Dummy
	//	*GenerativeProvider_Mistral
	//	*GenerativeProvider_Ollama
	//	*GenerativeProvider_Openai
	//	*GenerativeProvider_Google
	//	*GenerativeProvider_Databricks
	//	*GenerativeProvider_Friendliai
	Kind isGenerativeProvider_Kind `protobuf_oneof:"kind"`
}

func (x *GenerativeProvider) Reset() {
	*x = GenerativeProvider{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeProvider) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeProvider) ProtoMessage() {}

func (x *GenerativeProvider) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeProvider.ProtoReflect.Descriptor instead.
func (*GenerativeProvider) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{1}
}

func (x *GenerativeProvider) GetReturnMetadata() bool {
	if x != nil {
		return x.ReturnMetadata
	}
	return false
}

func (m *GenerativeProvider) GetKind() isGenerativeProvider_Kind {
	if m != nil {
		return m.Kind
	}
	return nil
}

func (x *GenerativeProvider) GetAnthropic() *GenerativeAnthropic {
	if x, ok := x.GetKind().(*GenerativeProvider_Anthropic); ok {
		return x.Anthropic
	}
	return nil
}

func (x *GenerativeProvider) GetAnyscale() *GenerativeAnyscale {
	if x, ok := x.GetKind().(*GenerativeProvider_Anyscale); ok {
		return x.Anyscale
	}
	return nil
}

func (x *GenerativeProvider) GetAws() *GenerativeAWS {
	if x, ok := x.GetKind().(*GenerativeProvider_Aws); ok {
		return x.Aws
	}
	return nil
}

func (x *GenerativeProvider) GetCohere() *GenerativeCohere {
	if x, ok := x.GetKind().(*GenerativeProvider_Cohere); ok {
		return x.Cohere
	}
	return nil
}

func (x *GenerativeProvider) GetDummy() *GenerativeDummy {
	if x, ok := x.GetKind().(*GenerativeProvider_Dummy); ok {
		return x.Dummy
	}
	return nil
}

func (x *GenerativeProvider) GetMistral() *GenerativeMistral {
	if x, ok := x.GetKind().(*GenerativeProvider_Mistral); ok {
		return x.Mistral
	}
	return nil
}

func (x *GenerativeProvider) GetOllama() *GenerativeOllama {
	if x, ok := x.GetKind().(*GenerativeProvider_Ollama); ok {
		return x.Ollama
	}
	return nil
}

func (x *GenerativeProvider) GetOpenai() *GenerativeOpenAI {
	if x, ok := x.GetKind().(*GenerativeProvider_Openai); ok {
		return x.Openai
	}
	return nil
}

func (x *GenerativeProvider) GetGoogle() *GenerativeGoogle {
	if x, ok := x.GetKind().(*GenerativeProvider_Google); ok {
		return x.Google
	}
	return nil
}

func (x *GenerativeProvider) GetDatabricks() *GenerativeDatabricks {
	if x, ok := x.GetKind().(*GenerativeProvider_Databricks); ok {
		return x.Databricks
	}
	return nil
}

func (x *GenerativeProvider) GetFriendliai() *GenerativeFriendliAI {
	if x, ok := x.GetKind().(*GenerativeProvider_Friendliai); ok {
		return x.Friendliai
	}
	return nil
}

type isGenerativeProvider_Kind interface {
	isGenerativeProvider_Kind()
}

type GenerativeProvider_Anthropic struct {
	Anthropic *GenerativeAnthropic `protobuf:"bytes,2,opt,name=anthropic,proto3,oneof"`
}

type GenerativeProvider_Anyscale struct {
	Anyscale *GenerativeAnyscale `protobuf:"bytes,3,opt,name=anyscale,proto3,oneof"`
}

type GenerativeProvider_Aws struct {
	Aws *GenerativeAWS `protobuf:"bytes,4,opt,name=aws,proto3,oneof"`
}

type GenerativeProvider_Cohere struct {
	Cohere *GenerativeCohere `protobuf:"bytes,5,opt,name=cohere,proto3,oneof"`
}

type GenerativeProvider_Dummy struct {
	Dummy *GenerativeDummy `protobuf:"bytes,6,opt,name=dummy,proto3,oneof"`
}

type GenerativeProvider_Mistral struct {
	Mistral *GenerativeMistral `protobuf:"bytes,7,opt,name=mistral,proto3,oneof"`
}

type GenerativeProvider_Ollama struct {
	Ollama *GenerativeOllama `protobuf:"bytes,8,opt,name=ollama,proto3,oneof"`
}

type GenerativeProvider_Openai struct {
	Openai *GenerativeOpenAI `protobuf:"bytes,9,opt,name=openai,proto3,oneof"`
}

type GenerativeProvider_Google struct {
	Google *GenerativeGoogle `protobuf:"bytes,10,opt,name=google,proto3,oneof"`
}

type GenerativeProvider_Databricks struct {
	Databricks *GenerativeDatabricks `protobuf:"bytes,11,opt,name=databricks,proto3,oneof"`
}

type GenerativeProvider_Friendliai struct {
	Friendliai *GenerativeFriendliAI `protobuf:"bytes,12,opt,name=friendliai,proto3,oneof"`
}

func (*GenerativeProvider_Anthropic) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Anyscale) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Aws) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Cohere) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Dummy) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Mistral) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Ollama) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Openai) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Google) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Databricks) isGenerativeProvider_Kind() {}

func (*GenerativeProvider_Friendliai) isGenerativeProvider_Kind() {}

type GenerativeAnthropic struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BaseUrl       *string    `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3,oneof" json:"base_url,omitempty"`
	MaxTokens     *int64     `protobuf:"varint,2,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Model         *string    `protobuf:"bytes,3,opt,name=model,proto3,oneof" json:"model,omitempty"`
	Temperature   *float64   `protobuf:"fixed64,4,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	TopK          *int64     `protobuf:"varint,5,opt,name=top_k,json=topK,proto3,oneof" json:"top_k,omitempty"`
	TopP          *float64   `protobuf:"fixed64,6,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
	StopSequences *TextArray `protobuf:"bytes,7,opt,name=stop_sequences,json=stopSequences,proto3,oneof" json:"stop_sequences,omitempty"`
}

func (x *GenerativeAnthropic) Reset() {
	*x = GenerativeAnthropic{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAnthropic) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAnthropic) ProtoMessage() {}

func (x *GenerativeAnthropic) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAnthropic.ProtoReflect.Descriptor instead.
func (*GenerativeAnthropic) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{2}
}

func (x *GenerativeAnthropic) GetBaseUrl() string {
	if x != nil && x.BaseUrl != nil {
		return *x.BaseUrl
	}
	return ""
}

func (x *GenerativeAnthropic) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeAnthropic) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeAnthropic) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeAnthropic) GetTopK() int64 {
	if x != nil && x.TopK != nil {
		return *x.TopK
	}
	return 0
}

func (x *GenerativeAnthropic) GetTopP() float64 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

func (x *GenerativeAnthropic) GetStopSequences() *TextArray {
	if x != nil {
		return x.StopSequences
	}
	return nil
}

type GenerativeAnyscale struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BaseUrl     *string  `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3,oneof" json:"base_url,omitempty"`
	Model       *string  `protobuf:"bytes,2,opt,name=model,proto3,oneof" json:"model,omitempty"`
	Temperature *float64 `protobuf:"fixed64,3,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
}

func (x *GenerativeAnyscale) Reset() {
	*x = GenerativeAnyscale{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAnyscale) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAnyscale) ProtoMessage() {}

func (x *GenerativeAnyscale) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAnyscale.ProtoReflect.Descriptor instead.
func (*GenerativeAnyscale) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{3}
}

func (x *GenerativeAnyscale) GetBaseUrl() string {
	if x != nil && x.BaseUrl != nil {
		return *x.BaseUrl
	}
	return ""
}

func (x *GenerativeAnyscale) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeAnyscale) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

type GenerativeAWS struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Model         *string  `protobuf:"bytes,3,opt,name=model,proto3,oneof" json:"model,omitempty"`
	Temperature   *float64 `protobuf:"fixed64,8,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	Service       *string  `protobuf:"bytes,9,opt,name=service,proto3,oneof" json:"service,omitempty"`
	Region        *string  `protobuf:"bytes,10,opt,name=region,proto3,oneof" json:"region,omitempty"`
	Endpoint      *string  `protobuf:"bytes,11,opt,name=endpoint,proto3,oneof" json:"endpoint,omitempty"`
	TargetModel   *string  `protobuf:"bytes,12,opt,name=target_model,json=targetModel,proto3,oneof" json:"target_model,omitempty"`
	TargetVariant *string  `protobuf:"bytes,13,opt,name=target_variant,json=targetVariant,proto3,oneof" json:"target_variant,omitempty"`
}

func (x *GenerativeAWS) Reset() {
	*x = GenerativeAWS{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAWS) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAWS) ProtoMessage() {}

func (x *GenerativeAWS) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAWS.ProtoReflect.Descriptor instead.
func (*GenerativeAWS) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{4}
}

func (x *GenerativeAWS) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeAWS) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeAWS) GetService() string {
	if x != nil && x.Service != nil {
		return *x.Service
	}
	return ""
}

func (x *GenerativeAWS) GetRegion() string {
	if x != nil && x.Region != nil {
		return *x.Region
	}
	return ""
}

func (x *GenerativeAWS) GetEndpoint() string {
	if x != nil && x.Endpoint != nil {
		return *x.Endpoint
	}
	return ""
}

func (x *GenerativeAWS) GetTargetModel() string {
	if x != nil && x.TargetModel != nil {
		return *x.TargetModel
	}
	return ""
}

func (x *GenerativeAWS) GetTargetVariant() string {
	if x != nil && x.TargetVariant != nil {
		return *x.TargetVariant
	}
	return ""
}

type GenerativeCohere struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BaseUrl          *string    `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3,oneof" json:"base_url,omitempty"`
	FrequencyPenalty *float64   `protobuf:"fixed64,2,opt,name=frequency_penalty,json=frequencyPenalty,proto3,oneof" json:"frequency_penalty,omitempty"`
	MaxTokens        *int64     `protobuf:"varint,3,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Model            *string    `protobuf:"bytes,4,opt,name=model,proto3,oneof" json:"model,omitempty"`
	K                *int64     `protobuf:"varint,5,opt,name=k,proto3,oneof" json:"k,omitempty"`
	P                *float64   `protobuf:"fixed64,6,opt,name=p,proto3,oneof" json:"p,omitempty"`
	PresencePenalty  *float64   `protobuf:"fixed64,7,opt,name=presence_penalty,json=presencePenalty,proto3,oneof" json:"presence_penalty,omitempty"`
	StopSequences    *TextArray `protobuf:"bytes,8,opt,name=stop_sequences,json=stopSequences,proto3,oneof" json:"stop_sequences,omitempty"`
	Temperature      *float64   `protobuf:"fixed64,9,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
}

func (x *GenerativeCohere) Reset() {
	*x = GenerativeCohere{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeCohere) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeCohere) ProtoMessage() {}

func (x *GenerativeCohere) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeCohere.ProtoReflect.Descriptor instead.
func (*GenerativeCohere) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{5}
}

func (x *GenerativeCohere) GetBaseUrl() string {
	if x != nil && x.BaseUrl != nil {
		return *x.BaseUrl
	}
	return ""
}

func (x *GenerativeCohere) GetFrequencyPenalty() float64 {
	if x != nil && x.FrequencyPenalty != nil {
		return *x.FrequencyPenalty
	}
	return 0
}

func (x *GenerativeCohere) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeCohere) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeCohere) GetK() int64 {
	if x != nil && x.K != nil {
		return *x.K
	}
	return 0
}

func (x *GenerativeCohere) GetP() float64 {
	if x != nil && x.P != nil {
		return *x.P
	}
	return 0
}

func (x *GenerativeCohere) GetPresencePenalty() float64 {
	if x != nil && x.PresencePenalty != nil {
		return *x.PresencePenalty
	}
	return 0
}

func (x *GenerativeCohere) GetStopSequences() *TextArray {
	if x != nil {
		return x.StopSequences
	}
	return nil
}

func (x *GenerativeCohere) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

type GenerativeDummy struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GenerativeDummy) Reset() {
	*x = GenerativeDummy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeDummy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeDummy) ProtoMessage() {}

func (x *GenerativeDummy) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeDummy.ProtoReflect.Descriptor instead.
func (*GenerativeDummy) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{6}
}

type GenerativeMistral struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BaseUrl     *string  `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3,oneof" json:"base_url,omitempty"`
	MaxTokens   *int64   `protobuf:"varint,2,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Model       *string  `protobuf:"bytes,3,opt,name=model,proto3,oneof" json:"model,omitempty"`
	Temperature *float64 `protobuf:"fixed64,4,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	TopP        *float64 `protobuf:"fixed64,5,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
}

func (x *GenerativeMistral) Reset() {
	*x = GenerativeMistral{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeMistral) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeMistral) ProtoMessage() {}

func (x *GenerativeMistral) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeMistral.ProtoReflect.Descriptor instead.
func (*GenerativeMistral) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{7}
}

func (x *GenerativeMistral) GetBaseUrl() string {
	if x != nil && x.BaseUrl != nil {
		return *x.BaseUrl
	}
	return ""
}

func (x *GenerativeMistral) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeMistral) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeMistral) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeMistral) GetTopP() float64 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

type GenerativeOllama struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ApiEndpoint *string  `protobuf:"bytes,1,opt,name=api_endpoint,json=apiEndpoint,proto3,oneof" json:"api_endpoint,omitempty"`
	Model       *string  `protobuf:"bytes,2,opt,name=model,proto3,oneof" json:"model,omitempty"`
	Temperature *float64 `protobuf:"fixed64,3,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
}

func (x *GenerativeOllama) Reset() {
	*x = GenerativeOllama{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeOllama) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeOllama) ProtoMessage() {}

func (x *GenerativeOllama) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeOllama.ProtoReflect.Descriptor instead.
func (*GenerativeOllama) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{8}
}

func (x *GenerativeOllama) GetApiEndpoint() string {
	if x != nil && x.ApiEndpoint != nil {
		return *x.ApiEndpoint
	}
	return ""
}

func (x *GenerativeOllama) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeOllama) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

type GenerativeOpenAI struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FrequencyPenalty *float64   `protobuf:"fixed64,1,opt,name=frequency_penalty,json=frequencyPenalty,proto3,oneof" json:"frequency_penalty,omitempty"`
	MaxTokens        *int64     `protobuf:"varint,2,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Model            string     `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
	N                *int64     `protobuf:"varint,4,opt,name=n,proto3,oneof" json:"n,omitempty"`
	PresencePenalty  *float64   `protobuf:"fixed64,5,opt,name=presence_penalty,json=presencePenalty,proto3,oneof" json:"presence_penalty,omitempty"`
	Stop             *TextArray `protobuf:"bytes,6,opt,name=stop,proto3,oneof" json:"stop,omitempty"`
	Temperature      *float64   `protobuf:"fixed64,7,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	TopP             *float64   `protobuf:"fixed64,8,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
	BaseUrl          *string    `protobuf:"bytes,9,opt,name=base_url,json=baseUrl,proto3,oneof" json:"base_url,omitempty"`
	ApiVersion       *string    `protobuf:"bytes,10,opt,name=api_version,json=apiVersion,proto3,oneof" json:"api_version,omitempty"`
	ResourceName     *string    `protobuf:"bytes,11,opt,name=resource_name,json=resourceName,proto3,oneof" json:"resource_name,omitempty"`
	DeploymentId     *string    `protobuf:"bytes,12,opt,name=deployment_id,json=deploymentId,proto3,oneof" json:"deployment_id,omitempty"`
	IsAzure          *bool      `protobuf:"varint,13,opt,name=is_azure,json=isAzure,proto3,oneof" json:"is_azure,omitempty"`
}

func (x *GenerativeOpenAI) Reset() {
	*x = GenerativeOpenAI{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeOpenAI) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeOpenAI) ProtoMessage() {}

func (x *GenerativeOpenAI) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeOpenAI.ProtoReflect.Descriptor instead.
func (*GenerativeOpenAI) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{9}
}

func (x *GenerativeOpenAI) GetFrequencyPenalty() float64 {
	if x != nil && x.FrequencyPenalty != nil {
		return *x.FrequencyPenalty
	}
	return 0
}

func (x *GenerativeOpenAI) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeOpenAI) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *GenerativeOpenAI) GetN() int64 {
	if x != nil && x.N != nil {
		return *x.N
	}
	return 0
}

func (x *GenerativeOpenAI) GetPresencePenalty() float64 {
	if x != nil && x.PresencePenalty != nil {
		return *x.PresencePenalty
	}
	return 0
}

func (x *GenerativeOpenAI) GetStop() *TextArray {
	if x != nil {
		return x.Stop
	}
	return nil
}

func (x *GenerativeOpenAI) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeOpenAI) GetTopP() float64 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

func (x *GenerativeOpenAI) GetBaseUrl() string {
	if x != nil && x.BaseUrl != nil {
		return *x.BaseUrl
	}
	return ""
}

func (x *GenerativeOpenAI) GetApiVersion() string {
	if x != nil && x.ApiVersion != nil {
		return *x.ApiVersion
	}
	return ""
}

func (x *GenerativeOpenAI) GetResourceName() string {
	if x != nil && x.ResourceName != nil {
		return *x.ResourceName
	}
	return ""
}

func (x *GenerativeOpenAI) GetDeploymentId() string {
	if x != nil && x.DeploymentId != nil {
		return *x.DeploymentId
	}
	return ""
}

func (x *GenerativeOpenAI) GetIsAzure() bool {
	if x != nil && x.IsAzure != nil {
		return *x.IsAzure
	}
	return false
}

type GenerativeGoogle struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FrequencyPenalty *float64   `protobuf:"fixed64,1,opt,name=frequency_penalty,json=frequencyPenalty,proto3,oneof" json:"frequency_penalty,omitempty"`
	MaxTokens        *int64     `protobuf:"varint,2,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Model            *string    `protobuf:"bytes,3,opt,name=model,proto3,oneof" json:"model,omitempty"`
	PresencePenalty  *float64   `protobuf:"fixed64,4,opt,name=presence_penalty,json=presencePenalty,proto3,oneof" json:"presence_penalty,omitempty"`
	Temperature      *float64   `protobuf:"fixed64,5,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	TopK             *int64     `protobuf:"varint,6,opt,name=top_k,json=topK,proto3,oneof" json:"top_k,omitempty"`
	TopP             *float64   `protobuf:"fixed64,7,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
	StopSequences    *TextArray `protobuf:"bytes,8,opt,name=stop_sequences,json=stopSequences,proto3,oneof" json:"stop_sequences,omitempty"`
	ApiEndpoint      *string    `protobuf:"bytes,9,opt,name=api_endpoint,json=apiEndpoint,proto3,oneof" json:"api_endpoint,omitempty"`
	ProjectId        *string    `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	EndpointId       *string    `protobuf:"bytes,11,opt,name=endpoint_id,json=endpointId,proto3,oneof" json:"endpoint_id,omitempty"`
	Region           *string    `protobuf:"bytes,12,opt,name=region,proto3,oneof" json:"region,omitempty"`
}

func (x *GenerativeGoogle) Reset() {
	*x = GenerativeGoogle{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeGoogle) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeGoogle) ProtoMessage() {}

func (x *GenerativeGoogle) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeGoogle.ProtoReflect.Descriptor instead.
func (*GenerativeGoogle) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{10}
}

func (x *GenerativeGoogle) GetFrequencyPenalty() float64 {
	if x != nil && x.FrequencyPenalty != nil {
		return *x.FrequencyPenalty
	}
	return 0
}

func (x *GenerativeGoogle) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeGoogle) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeGoogle) GetPresencePenalty() float64 {
	if x != nil && x.PresencePenalty != nil {
		return *x.PresencePenalty
	}
	return 0
}

func (x *GenerativeGoogle) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeGoogle) GetTopK() int64 {
	if x != nil && x.TopK != nil {
		return *x.TopK
	}
	return 0
}

func (x *GenerativeGoogle) GetTopP() float64 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

func (x *GenerativeGoogle) GetStopSequences() *TextArray {
	if x != nil {
		return x.StopSequences
	}
	return nil
}

func (x *GenerativeGoogle) GetApiEndpoint() string {
	if x != nil && x.ApiEndpoint != nil {
		return *x.ApiEndpoint
	}
	return ""
}

func (x *GenerativeGoogle) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *GenerativeGoogle) GetEndpointId() string {
	if x != nil && x.EndpointId != nil {
		return *x.EndpointId
	}
	return ""
}

func (x *GenerativeGoogle) GetRegion() string {
	if x != nil && x.Region != nil {
		return *x.Region
	}
	return ""
}

type GenerativeDatabricks struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Endpoint         *string    `protobuf:"bytes,1,opt,name=endpoint,proto3,oneof" json:"endpoint,omitempty"`
	Model            *string    `protobuf:"bytes,2,opt,name=model,proto3,oneof" json:"model,omitempty"`
	FrequencyPenalty *float64   `protobuf:"fixed64,3,opt,name=frequency_penalty,json=frequencyPenalty,proto3,oneof" json:"frequency_penalty,omitempty"`
	LogProbs         *bool      `protobuf:"varint,4,opt,name=log_probs,json=logProbs,proto3,oneof" json:"log_probs,omitempty"`
	TopLogProbs      *int64     `protobuf:"varint,5,opt,name=top_log_probs,json=topLogProbs,proto3,oneof" json:"top_log_probs,omitempty"`
	MaxTokens        *int64     `protobuf:"varint,6,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	N                *int64     `protobuf:"varint,7,opt,name=n,proto3,oneof" json:"n,omitempty"`
	PresencePenalty  *float64   `protobuf:"fixed64,8,opt,name=presence_penalty,json=presencePenalty,proto3,oneof" json:"presence_penalty,omitempty"`
	Stop             *TextArray `protobuf:"bytes,9,opt,name=stop,proto3,oneof" json:"stop,omitempty"`
	Temperature      *float64   `protobuf:"fixed64,10,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	TopP             *float64   `protobuf:"fixed64,11,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
}

func (x *GenerativeDatabricks) Reset() {
	*x = GenerativeDatabricks{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeDatabricks) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeDatabricks) ProtoMessage() {}

func (x *GenerativeDatabricks) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeDatabricks.ProtoReflect.Descriptor instead.
func (*GenerativeDatabricks) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{11}
}

func (x *GenerativeDatabricks) GetEndpoint() string {
	if x != nil && x.Endpoint != nil {
		return *x.Endpoint
	}
	return ""
}

func (x *GenerativeDatabricks) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeDatabricks) GetFrequencyPenalty() float64 {
	if x != nil && x.FrequencyPenalty != nil {
		return *x.FrequencyPenalty
	}
	return 0
}

func (x *GenerativeDatabricks) GetLogProbs() bool {
	if x != nil && x.LogProbs != nil {
		return *x.LogProbs
	}
	return false
}

func (x *GenerativeDatabricks) GetTopLogProbs() int64 {
	if x != nil && x.TopLogProbs != nil {
		return *x.TopLogProbs
	}
	return 0
}

func (x *GenerativeDatabricks) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeDatabricks) GetN() int64 {
	if x != nil && x.N != nil {
		return *x.N
	}
	return 0
}

func (x *GenerativeDatabricks) GetPresencePenalty() float64 {
	if x != nil && x.PresencePenalty != nil {
		return *x.PresencePenalty
	}
	return 0
}

func (x *GenerativeDatabricks) GetStop() *TextArray {
	if x != nil {
		return x.Stop
	}
	return nil
}

func (x *GenerativeDatabricks) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeDatabricks) GetTopP() float64 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

type GenerativeFriendliAI struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BaseUrl     *string  `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3,oneof" json:"base_url,omitempty"`
	Model       *string  `protobuf:"bytes,2,opt,name=model,proto3,oneof" json:"model,omitempty"`
	MaxTokens   *int64   `protobuf:"varint,3,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Temperature *float64 `protobuf:"fixed64,4,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	N           *int64   `protobuf:"varint,5,opt,name=n,proto3,oneof" json:"n,omitempty"`
	TopP        *float64 `protobuf:"fixed64,6,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
}

func (x *GenerativeFriendliAI) Reset() {
	*x = GenerativeFriendliAI{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeFriendliAI) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeFriendliAI) ProtoMessage() {}

func (x *GenerativeFriendliAI) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeFriendliAI.ProtoReflect.Descriptor instead.
func (*GenerativeFriendliAI) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{12}
}

func (x *GenerativeFriendliAI) GetBaseUrl() string {
	if x != nil && x.BaseUrl != nil {
		return *x.BaseUrl
	}
	return ""
}

func (x *GenerativeFriendliAI) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *GenerativeFriendliAI) GetMaxTokens() int64 {
	if x != nil && x.MaxTokens != nil {
		return *x.MaxTokens
	}
	return 0
}

func (x *GenerativeFriendliAI) GetTemperature() float64 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *GenerativeFriendliAI) GetN() int64 {
	if x != nil && x.N != nil {
		return *x.N
	}
	return 0
}

func (x *GenerativeFriendliAI) GetTopP() float64 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

type GenerativeAnthropicMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Usage *GenerativeAnthropicMetadata_Usage `protobuf:"bytes,1,opt,name=usage,proto3" json:"usage,omitempty"`
}

func (x *GenerativeAnthropicMetadata) Reset() {
	*x = GenerativeAnthropicMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAnthropicMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAnthropicMetadata) ProtoMessage() {}

func (x *GenerativeAnthropicMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAnthropicMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeAnthropicMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{13}
}

func (x *GenerativeAnthropicMetadata) GetUsage() *GenerativeAnthropicMetadata_Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type GenerativeAnyscaleMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GenerativeAnyscaleMetadata) Reset() {
	*x = GenerativeAnyscaleMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAnyscaleMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAnyscaleMetadata) ProtoMessage() {}

func (x *GenerativeAnyscaleMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAnyscaleMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeAnyscaleMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{14}
}

type GenerativeAWSMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GenerativeAWSMetadata) Reset() {
	*x = GenerativeAWSMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAWSMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAWSMetadata) ProtoMessage() {}

func (x *GenerativeAWSMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAWSMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeAWSMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{15}
}

type GenerativeCohereMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ApiVersion  *GenerativeCohereMetadata_ApiVersion  `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3,oneof" json:"api_version,omitempty"`
	BilledUnits *GenerativeCohereMetadata_BilledUnits `protobuf:"bytes,2,opt,name=billed_units,json=billedUnits,proto3,oneof" json:"billed_units,omitempty"`
	Tokens      *GenerativeCohereMetadata_Tokens      `protobuf:"bytes,3,opt,name=tokens,proto3,oneof" json:"tokens,omitempty"`
	Warnings    *TextArray                            `protobuf:"bytes,4,opt,name=warnings,proto3,oneof" json:"warnings,omitempty"`
}

func (x *GenerativeCohereMetadata) Reset() {
	*x = GenerativeCohereMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeCohereMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeCohereMetadata) ProtoMessage() {}

func (x *GenerativeCohereMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeCohereMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeCohereMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{16}
}

func (x *GenerativeCohereMetadata) GetApiVersion() *GenerativeCohereMetadata_ApiVersion {
	if x != nil {
		return x.ApiVersion
	}
	return nil
}

func (x *GenerativeCohereMetadata) GetBilledUnits() *GenerativeCohereMetadata_BilledUnits {
	if x != nil {
		return x.BilledUnits
	}
	return nil
}

func (x *GenerativeCohereMetadata) GetTokens() *GenerativeCohereMetadata_Tokens {
	if x != nil {
		return x.Tokens
	}
	return nil
}

func (x *GenerativeCohereMetadata) GetWarnings() *TextArray {
	if x != nil {
		return x.Warnings
	}
	return nil
}

type GenerativeDummyMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GenerativeDummyMetadata) Reset() {
	*x = GenerativeDummyMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeDummyMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeDummyMetadata) ProtoMessage() {}

func (x *GenerativeDummyMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeDummyMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeDummyMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{17}
}

type GenerativeMistralMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Usage *GenerativeMistralMetadata_Usage `protobuf:"bytes,1,opt,name=usage,proto3,oneof" json:"usage,omitempty"`
}

func (x *GenerativeMistralMetadata) Reset() {
	*x = GenerativeMistralMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeMistralMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeMistralMetadata) ProtoMessage() {}

func (x *GenerativeMistralMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeMistralMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeMistralMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{18}
}

func (x *GenerativeMistralMetadata) GetUsage() *GenerativeMistralMetadata_Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type GenerativeOllamaMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GenerativeOllamaMetadata) Reset() {
	*x = GenerativeOllamaMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeOllamaMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeOllamaMetadata) ProtoMessage() {}

func (x *GenerativeOllamaMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeOllamaMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeOllamaMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{19}
}

type GenerativeOpenAIMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Usage *GenerativeOpenAIMetadata_Usage `protobuf:"bytes,1,opt,name=usage,proto3,oneof" json:"usage,omitempty"`
}

func (x *GenerativeOpenAIMetadata) Reset() {
	*x = GenerativeOpenAIMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeOpenAIMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeOpenAIMetadata) ProtoMessage() {}

func (x *GenerativeOpenAIMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeOpenAIMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeOpenAIMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{20}
}

func (x *GenerativeOpenAIMetadata) GetUsage() *GenerativeOpenAIMetadata_Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type GenerativeGoogleMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Metadata      *GenerativeGoogleMetadata_Metadata      `protobuf:"bytes,1,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"`
	UsageMetadata *GenerativeGoogleMetadata_UsageMetadata `protobuf:"bytes,2,opt,name=usage_metadata,json=usageMetadata,proto3,oneof" json:"usage_metadata,omitempty"`
}

func (x *GenerativeGoogleMetadata) Reset() {
	*x = GenerativeGoogleMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeGoogleMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeGoogleMetadata) ProtoMessage() {}

func (x *GenerativeGoogleMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeGoogleMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeGoogleMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{21}
}

func (x *GenerativeGoogleMetadata) GetMetadata() *GenerativeGoogleMetadata_Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *GenerativeGoogleMetadata) GetUsageMetadata() *GenerativeGoogleMetadata_UsageMetadata {
	if x != nil {
		return x.UsageMetadata
	}
	return nil
}

type GenerativeDatabricksMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Usage *GenerativeDatabricksMetadata_Usage `protobuf:"bytes,1,opt,name=usage,proto3,oneof" json:"usage,omitempty"`
}

func (x *GenerativeDatabricksMetadata) Reset() {
	*x = GenerativeDatabricksMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeDatabricksMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeDatabricksMetadata) ProtoMessage() {}

func (x *GenerativeDatabricksMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeDatabricksMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeDatabricksMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{22}
}

func (x *GenerativeDatabricksMetadata) GetUsage() *GenerativeDatabricksMetadata_Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type GenerativeFriendliAIMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Usage *GenerativeFriendliAIMetadata_Usage `protobuf:"bytes,1,opt,name=usage,proto3,oneof" json:"usage,omitempty"`
}

func (x *GenerativeFriendliAIMetadata) Reset() {
	*x = GenerativeFriendliAIMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeFriendliAIMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeFriendliAIMetadata) ProtoMessage() {}

func (x *GenerativeFriendliAIMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeFriendliAIMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeFriendliAIMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{23}
}

func (x *GenerativeFriendliAIMetadata) GetUsage() *GenerativeFriendliAIMetadata_Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type GenerativeMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Kind:
	//
	//	*GenerativeMetadata_Anthropic
	//	*GenerativeMetadata_Anyscale
	//	*GenerativeMetadata_Aws
	//	*GenerativeMetadata_Cohere
	//	*GenerativeMetadata_Dummy
	//	*GenerativeMetadata_Mistral
	//	*GenerativeMetadata_Ollama
	//	*GenerativeMetadata_Openai
	//	*GenerativeMetadata_Google
	//	*GenerativeMetadata_Databricks
	//	*GenerativeMetadata_Friendliai
	Kind isGenerativeMetadata_Kind `protobuf_oneof:"kind"`
}

func (x *GenerativeMetadata) Reset() {
	*x = GenerativeMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeMetadata) ProtoMessage() {}

func (x *GenerativeMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{24}
}

func (m *GenerativeMetadata) GetKind() isGenerativeMetadata_Kind {
	if m != nil {
		return m.Kind
	}
	return nil
}

func (x *GenerativeMetadata) GetAnthropic() *GenerativeAnthropicMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Anthropic); ok {
		return x.Anthropic
	}
	return nil
}

func (x *GenerativeMetadata) GetAnyscale() *GenerativeAnyscaleMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Anyscale); ok {
		return x.Anyscale
	}
	return nil
}

func (x *GenerativeMetadata) GetAws() *GenerativeAWSMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Aws); ok {
		return x.Aws
	}
	return nil
}

func (x *GenerativeMetadata) GetCohere() *GenerativeCohereMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Cohere); ok {
		return x.Cohere
	}
	return nil
}

func (x *GenerativeMetadata) GetDummy() *GenerativeDummyMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Dummy); ok {
		return x.Dummy
	}
	return nil
}

func (x *GenerativeMetadata) GetMistral() *GenerativeMistralMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Mistral); ok {
		return x.Mistral
	}
	return nil
}

func (x *GenerativeMetadata) GetOllama() *GenerativeOllamaMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Ollama); ok {
		return x.Ollama
	}
	return nil
}

func (x *GenerativeMetadata) GetOpenai() *GenerativeOpenAIMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Openai); ok {
		return x.Openai
	}
	return nil
}

func (x *GenerativeMetadata) GetGoogle() *GenerativeGoogleMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Google); ok {
		return x.Google
	}
	return nil
}

func (x *GenerativeMetadata) GetDatabricks() *GenerativeDatabricksMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Databricks); ok {
		return x.Databricks
	}
	return nil
}

func (x *GenerativeMetadata) GetFriendliai() *GenerativeFriendliAIMetadata {
	if x, ok := x.GetKind().(*GenerativeMetadata_Friendliai); ok {
		return x.Friendliai
	}
	return nil
}

type isGenerativeMetadata_Kind interface {
	isGenerativeMetadata_Kind()
}

type GenerativeMetadata_Anthropic struct {
	Anthropic *GenerativeAnthropicMetadata `protobuf:"bytes,1,opt,name=anthropic,proto3,oneof"`
}

type GenerativeMetadata_Anyscale struct {
	Anyscale *GenerativeAnyscaleMetadata `protobuf:"bytes,2,opt,name=anyscale,proto3,oneof"`
}

type GenerativeMetadata_Aws struct {
	Aws *GenerativeAWSMetadata `protobuf:"bytes,3,opt,name=aws,proto3,oneof"`
}

type GenerativeMetadata_Cohere struct {
	Cohere *GenerativeCohereMetadata `protobuf:"bytes,4,opt,name=cohere,proto3,oneof"`
}

type GenerativeMetadata_Dummy struct {
	Dummy *GenerativeDummyMetadata `protobuf:"bytes,5,opt,name=dummy,proto3,oneof"`
}

type GenerativeMetadata_Mistral struct {
	Mistral *GenerativeMistralMetadata `protobuf:"bytes,6,opt,name=mistral,proto3,oneof"`
}

type GenerativeMetadata_Ollama struct {
	Ollama *GenerativeOllamaMetadata `protobuf:"bytes,7,opt,name=ollama,proto3,oneof"`
}

type GenerativeMetadata_Openai struct {
	Openai *GenerativeOpenAIMetadata `protobuf:"bytes,8,opt,name=openai,proto3,oneof"`
}

type GenerativeMetadata_Google struct {
	Google *GenerativeGoogleMetadata `protobuf:"bytes,9,opt,name=google,proto3,oneof"`
}

type GenerativeMetadata_Databricks struct {
	Databricks *GenerativeDatabricksMetadata `protobuf:"bytes,10,opt,name=databricks,proto3,oneof"`
}

type GenerativeMetadata_Friendliai struct {
	Friendliai *GenerativeFriendliAIMetadata `protobuf:"bytes,11,opt,name=friendliai,proto3,oneof"`
}

func (*GenerativeMetadata_Anthropic) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Anyscale) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Aws) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Cohere) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Dummy) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Mistral) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Ollama) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Openai) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Google) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Databricks) isGenerativeMetadata_Kind() {}

func (*GenerativeMetadata_Friendliai) isGenerativeMetadata_Kind() {}

type GenerativeReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result   string              `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
	Debug    *GenerativeDebug    `protobuf:"bytes,2,opt,name=debug,proto3,oneof" json:"debug,omitempty"`
	Metadata *GenerativeMetadata `protobuf:"bytes,3,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"`
}

func (x *GenerativeReply) Reset() {
	*x = GenerativeReply{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeReply) ProtoMessage() {}

func (x *GenerativeReply) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeReply.ProtoReflect.Descriptor instead.
func (*GenerativeReply) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{25}
}

func (x *GenerativeReply) GetResult() string {
	if x != nil {
		return x.Result
	}
	return ""
}

func (x *GenerativeReply) GetDebug() *GenerativeDebug {
	if x != nil {
		return x.Debug
	}
	return nil
}

func (x *GenerativeReply) GetMetadata() *GenerativeMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

type GenerativeResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Values []*GenerativeReply `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
}

func (x *GenerativeResult) Reset() {
	*x = GenerativeResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeResult) ProtoMessage() {}

func (x *GenerativeResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeResult.ProtoReflect.Descriptor instead.
func (*GenerativeResult) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{26}
}

func (x *GenerativeResult) GetValues() []*GenerativeReply {
	if x != nil {
		return x.Values
	}
	return nil
}

type GenerativeDebug struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FullPrompt *string `protobuf:"bytes,1,opt,name=full_prompt,json=fullPrompt,proto3,oneof" json:"full_prompt,omitempty"`
}

func (x *GenerativeDebug) Reset() {
	*x = GenerativeDebug{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeDebug) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeDebug) ProtoMessage() {}

func (x *GenerativeDebug) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeDebug.ProtoReflect.Descriptor instead.
func (*GenerativeDebug) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{27}
}

func (x *GenerativeDebug) GetFullPrompt() string {
	if x != nil && x.FullPrompt != nil {
		return *x.FullPrompt
	}
	return ""
}

type GenerativeSearch_Single struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Prompt string `protobuf:"bytes,1,opt,name=prompt,proto3" json:"prompt,omitempty"`
	Debug  bool   `protobuf:"varint,2,opt,name=debug,proto3" json:"debug,omitempty"`
	// only allow one at the beginning, but multiple in the future
	Queries []*GenerativeProvider `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"`
}

func (x *GenerativeSearch_Single) Reset() {
	*x = GenerativeSearch_Single{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeSearch_Single) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeSearch_Single) ProtoMessage() {}

func (x *GenerativeSearch_Single) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeSearch_Single.ProtoReflect.Descriptor instead.
func (*GenerativeSearch_Single) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{0, 0}
}

func (x *GenerativeSearch_Single) GetPrompt() string {
	if x != nil {
		return x.Prompt
	}
	return ""
}

func (x *GenerativeSearch_Single) GetDebug() bool {
	if x != nil {
		return x.Debug
	}
	return false
}

func (x *GenerativeSearch_Single) GetQueries() []*GenerativeProvider {
	if x != nil {
		return x.Queries
	}
	return nil
}

type GenerativeSearch_Grouped struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Task       string     `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
	Properties *TextArray `protobuf:"bytes,2,opt,name=properties,proto3,oneof" json:"properties,omitempty"`
	// only allow one at the beginning, but multiple in the future
	Queries []*GenerativeProvider `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"`
}

func (x *GenerativeSearch_Grouped) Reset() {
	*x = GenerativeSearch_Grouped{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeSearch_Grouped) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeSearch_Grouped) ProtoMessage() {}

func (x *GenerativeSearch_Grouped) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeSearch_Grouped.ProtoReflect.Descriptor instead.
func (*GenerativeSearch_Grouped) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{0, 1}
}

func (x *GenerativeSearch_Grouped) GetTask() string {
	if x != nil {
		return x.Task
	}
	return ""
}

func (x *GenerativeSearch_Grouped) GetProperties() *TextArray {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *GenerativeSearch_Grouped) GetQueries() []*GenerativeProvider {
	if x != nil {
		return x.Queries
	}
	return nil
}

type GenerativeAnthropicMetadata_Usage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	InputTokens  int64 `protobuf:"varint,1,opt,name=input_tokens,json=inputTokens,proto3" json:"input_tokens,omitempty"`
	OutputTokens int64 `protobuf:"varint,2,opt,name=output_tokens,json=outputTokens,proto3" json:"output_tokens,omitempty"`
}

func (x *GenerativeAnthropicMetadata_Usage) Reset() {
	*x = GenerativeAnthropicMetadata_Usage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeAnthropicMetadata_Usage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeAnthropicMetadata_Usage) ProtoMessage() {}

func (x *GenerativeAnthropicMetadata_Usage) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeAnthropicMetadata_Usage.ProtoReflect.Descriptor instead.
func (*GenerativeAnthropicMetadata_Usage) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{13, 0}
}

func (x *GenerativeAnthropicMetadata_Usage) GetInputTokens() int64 {
	if x != nil {
		return x.InputTokens
	}
	return 0
}

func (x *GenerativeAnthropicMetadata_Usage) GetOutputTokens() int64 {
	if x != nil {
		return x.OutputTokens
	}
	return 0
}

type GenerativeCohereMetadata_ApiVersion struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Version        *string `protobuf:"bytes,1,opt,name=version,proto3,oneof" json:"version,omitempty"`
	IsDeprecated   *bool   `protobuf:"varint,2,opt,name=is_deprecated,json=isDeprecated,proto3,oneof" json:"is_deprecated,omitempty"`
	IsExperimental *bool   `protobuf:"varint,3,opt,name=is_experimental,json=isExperimental,proto3,oneof" json:"is_experimental,omitempty"`
}

func (x *GenerativeCohereMetadata_ApiVersion) Reset() {
	*x = GenerativeCohereMetadata_ApiVersion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeCohereMetadata_ApiVersion) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeCohereMetadata_ApiVersion) ProtoMessage() {}

func (x *GenerativeCohereMetadata_ApiVersion) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeCohereMetadata_ApiVersion.ProtoReflect.Descriptor instead.
func (*GenerativeCohereMetadata_ApiVersion) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{16, 0}
}

func (x *GenerativeCohereMetadata_ApiVersion) GetVersion() string {
	if x != nil && x.Version != nil {
		return *x.Version
	}
	return ""
}

func (x *GenerativeCohereMetadata_ApiVersion) GetIsDeprecated() bool {
	if x != nil && x.IsDeprecated != nil {
		return *x.IsDeprecated
	}
	return false
}

func (x *GenerativeCohereMetadata_ApiVersion) GetIsExperimental() bool {
	if x != nil && x.IsExperimental != nil {
		return *x.IsExperimental
	}
	return false
}

type GenerativeCohereMetadata_BilledUnits struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	InputTokens     *float64 `protobuf:"fixed64,1,opt,name=input_tokens,json=inputTokens,proto3,oneof" json:"input_tokens,omitempty"`
	OutputTokens    *float64 `protobuf:"fixed64,2,opt,name=output_tokens,json=outputTokens,proto3,oneof" json:"output_tokens,omitempty"`
	SearchUnits     *float64 `protobuf:"fixed64,3,opt,name=search_units,json=searchUnits,proto3,oneof" json:"search_units,omitempty"`
	Classifications *float64 `protobuf:"fixed64,4,opt,name=classifications,proto3,oneof" json:"classifications,omitempty"`
}

func (x *GenerativeCohereMetadata_BilledUnits) Reset() {
	*x = GenerativeCohereMetadata_BilledUnits{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeCohereMetadata_BilledUnits) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeCohereMetadata_BilledUnits) ProtoMessage() {}

func (x *GenerativeCohereMetadata_BilledUnits) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeCohereMetadata_BilledUnits.ProtoReflect.Descriptor instead.
func (*GenerativeCohereMetadata_BilledUnits) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{16, 1}
}

func (x *GenerativeCohereMetadata_BilledUnits) GetInputTokens() float64 {
	if x != nil && x.InputTokens != nil {
		return *x.InputTokens
	}
	return 0
}

func (x *GenerativeCohereMetadata_BilledUnits) GetOutputTokens() float64 {
	if x != nil && x.OutputTokens != nil {
		return *x.OutputTokens
	}
	return 0
}

func (x *GenerativeCohereMetadata_BilledUnits) GetSearchUnits() float64 {
	if x != nil && x.SearchUnits != nil {
		return *x.SearchUnits
	}
	return 0
}

func (x *GenerativeCohereMetadata_BilledUnits) GetClassifications() float64 {
	if x != nil && x.Classifications != nil {
		return *x.Classifications
	}
	return 0
}

type GenerativeCohereMetadata_Tokens struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	InputTokens  *float64 `protobuf:"fixed64,1,opt,name=input_tokens,json=inputTokens,proto3,oneof" json:"input_tokens,omitempty"`
	OutputTokens *float64 `protobuf:"fixed64,2,opt,name=output_tokens,json=outputTokens,proto3,oneof" json:"output_tokens,omitempty"`
}

func (x *GenerativeCohereMetadata_Tokens) Reset() {
	*x = GenerativeCohereMetadata_Tokens{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeCohereMetadata_Tokens) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeCohereMetadata_Tokens) ProtoMessage() {}

func (x *GenerativeCohereMetadata_Tokens) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeCohereMetadata_Tokens.ProtoReflect.Descriptor instead.
func (*GenerativeCohereMetadata_Tokens) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{16, 2}
}

func (x *GenerativeCohereMetadata_Tokens) GetInputTokens() float64 {
	if x != nil && x.InputTokens != nil {
		return *x.InputTokens
	}
	return 0
}

func (x *GenerativeCohereMetadata_Tokens) GetOutputTokens() float64 {
	if x != nil && x.OutputTokens != nil {
		return *x.OutputTokens
	}
	return 0
}

type GenerativeMistralMetadata_Usage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PromptTokens     *int64 `protobuf:"varint,1,opt,name=prompt_tokens,json=promptTokens,proto3,oneof" json:"prompt_tokens,omitempty"`
	CompletionTokens *int64 `protobuf:"varint,2,opt,name=completion_tokens,json=completionTokens,proto3,oneof" json:"completion_tokens,omitempty"`
	TotalTokens      *int64 `protobuf:"varint,3,opt,name=total_tokens,json=totalTokens,proto3,oneof" json:"total_tokens,omitempty"`
}

func (x *GenerativeMistralMetadata_Usage) Reset() {
	*x = GenerativeMistralMetadata_Usage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeMistralMetadata_Usage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeMistralMetadata_Usage) ProtoMessage() {}

func (x *GenerativeMistralMetadata_Usage) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeMistralMetadata_Usage.ProtoReflect.Descriptor instead.
func (*GenerativeMistralMetadata_Usage) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{18, 0}
}

func (x *GenerativeMistralMetadata_Usage) GetPromptTokens() int64 {
	if x != nil && x.PromptTokens != nil {
		return *x.PromptTokens
	}
	return 0
}

func (x *GenerativeMistralMetadata_Usage) GetCompletionTokens() int64 {
	if x != nil && x.CompletionTokens != nil {
		return *x.CompletionTokens
	}
	return 0
}

func (x *GenerativeMistralMetadata_Usage) GetTotalTokens() int64 {
	if x != nil && x.TotalTokens != nil {
		return *x.TotalTokens
	}
	return 0
}

type GenerativeOpenAIMetadata_Usage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PromptTokens     *int64 `protobuf:"varint,1,opt,name=prompt_tokens,json=promptTokens,proto3,oneof" json:"prompt_tokens,omitempty"`
	CompletionTokens *int64 `protobuf:"varint,2,opt,name=completion_tokens,json=completionTokens,proto3,oneof" json:"completion_tokens,omitempty"`
	TotalTokens      *int64 `protobuf:"varint,3,opt,name=total_tokens,json=totalTokens,proto3,oneof" json:"total_tokens,omitempty"`
}

func (x *GenerativeOpenAIMetadata_Usage) Reset() {
	*x = GenerativeOpenAIMetadata_Usage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeOpenAIMetadata_Usage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeOpenAIMetadata_Usage) ProtoMessage() {}

func (x *GenerativeOpenAIMetadata_Usage) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeOpenAIMetadata_Usage.ProtoReflect.Descriptor instead.
func (*GenerativeOpenAIMetadata_Usage) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{20, 0}
}

func (x *GenerativeOpenAIMetadata_Usage) GetPromptTokens() int64 {
	if x != nil && x.PromptTokens != nil {
		return *x.PromptTokens
	}
	return 0
}

func (x *GenerativeOpenAIMetadata_Usage) GetCompletionTokens() int64 {
	if x != nil && x.CompletionTokens != nil {
		return *x.CompletionTokens
	}
	return 0
}

func (x *GenerativeOpenAIMetadata_Usage) GetTotalTokens() int64 {
	if x != nil && x.TotalTokens != nil {
		return *x.TotalTokens
	}
	return 0
}

type GenerativeGoogleMetadata_TokenCount struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TotalBillableCharacters *int64 `protobuf:"varint,1,opt,name=total_billable_characters,json=totalBillableCharacters,proto3,oneof" json:"total_billable_characters,omitempty"`
	TotalTokens             *int64 `protobuf:"varint,2,opt,name=total_tokens,json=totalTokens,proto3,oneof" json:"total_tokens,omitempty"`
}

func (x *GenerativeGoogleMetadata_TokenCount) Reset() {
	*x = GenerativeGoogleMetadata_TokenCount{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeGoogleMetadata_TokenCount) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeGoogleMetadata_TokenCount) ProtoMessage() {}

func (x *GenerativeGoogleMetadata_TokenCount) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeGoogleMetadata_TokenCount.ProtoReflect.Descriptor instead.
func (*GenerativeGoogleMetadata_TokenCount) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{21, 0}
}

func (x *GenerativeGoogleMetadata_TokenCount) GetTotalBillableCharacters() int64 {
	if x != nil && x.TotalBillableCharacters != nil {
		return *x.TotalBillableCharacters
	}
	return 0
}

func (x *GenerativeGoogleMetadata_TokenCount) GetTotalTokens() int64 {
	if x != nil && x.TotalTokens != nil {
		return *x.TotalTokens
	}
	return 0
}

type GenerativeGoogleMetadata_TokenMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	InputTokenCount  *GenerativeGoogleMetadata_TokenCount `protobuf:"bytes,1,opt,name=input_token_count,json=inputTokenCount,proto3,oneof" json:"input_token_count,omitempty"`
	OutputTokenCount *GenerativeGoogleMetadata_TokenCount `protobuf:"bytes,2,opt,name=output_token_count,json=outputTokenCount,proto3,oneof" json:"output_token_count,omitempty"`
}

func (x *GenerativeGoogleMetadata_TokenMetadata) Reset() {
	*x = GenerativeGoogleMetadata_TokenMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeGoogleMetadata_TokenMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeGoogleMetadata_TokenMetadata) ProtoMessage() {}

func (x *GenerativeGoogleMetadata_TokenMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeGoogleMetadata_TokenMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeGoogleMetadata_TokenMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{21, 1}
}

func (x *GenerativeGoogleMetadata_TokenMetadata) GetInputTokenCount() *GenerativeGoogleMetadata_TokenCount {
	if x != nil {
		return x.InputTokenCount
	}
	return nil
}

func (x *GenerativeGoogleMetadata_TokenMetadata) GetOutputTokenCount() *GenerativeGoogleMetadata_TokenCount {
	if x != nil {
		return x.OutputTokenCount
	}
	return nil
}

type GenerativeGoogleMetadata_Metadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TokenMetadata *GenerativeGoogleMetadata_TokenMetadata `protobuf:"bytes,1,opt,name=token_metadata,json=tokenMetadata,proto3,oneof" json:"token_metadata,omitempty"`
}

func (x *GenerativeGoogleMetadata_Metadata) Reset() {
	*x = GenerativeGoogleMetadata_Metadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeGoogleMetadata_Metadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeGoogleMetadata_Metadata) ProtoMessage() {}

func (x *GenerativeGoogleMetadata_Metadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeGoogleMetadata_Metadata.ProtoReflect.Descriptor instead.
func (*GenerativeGoogleMetadata_Metadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{21, 2}
}

func (x *GenerativeGoogleMetadata_Metadata) GetTokenMetadata() *GenerativeGoogleMetadata_TokenMetadata {
	if x != nil {
		return x.TokenMetadata
	}
	return nil
}

type GenerativeGoogleMetadata_UsageMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PromptTokenCount     *int64 `protobuf:"varint,1,opt,name=prompt_token_count,json=promptTokenCount,proto3,oneof" json:"prompt_token_count,omitempty"`
	CandidatesTokenCount *int64 `protobuf:"varint,2,opt,name=candidates_token_count,json=candidatesTokenCount,proto3,oneof" json:"candidates_token_count,omitempty"`
	TotalTokenCount      *int64 `protobuf:"varint,3,opt,name=total_token_count,json=totalTokenCount,proto3,oneof" json:"total_token_count,omitempty"`
}

func (x *GenerativeGoogleMetadata_UsageMetadata) Reset() {
	*x = GenerativeGoogleMetadata_UsageMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeGoogleMetadata_UsageMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeGoogleMetadata_UsageMetadata) ProtoMessage() {}

func (x *GenerativeGoogleMetadata_UsageMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeGoogleMetadata_UsageMetadata.ProtoReflect.Descriptor instead.
func (*GenerativeGoogleMetadata_UsageMetadata) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{21, 3}
}

func (x *GenerativeGoogleMetadata_UsageMetadata) GetPromptTokenCount() int64 {
	if x != nil && x.PromptTokenCount != nil {
		return *x.PromptTokenCount
	}
	return 0
}

func (x *GenerativeGoogleMetadata_UsageMetadata) GetCandidatesTokenCount() int64 {
	if x != nil && x.CandidatesTokenCount != nil {
		return *x.CandidatesTokenCount
	}
	return 0
}

func (x *GenerativeGoogleMetadata_UsageMetadata) GetTotalTokenCount() int64 {
	if x != nil && x.TotalTokenCount != nil {
		return *x.TotalTokenCount
	}
	return 0
}

type GenerativeDatabricksMetadata_Usage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PromptTokens     *int64 `protobuf:"varint,1,opt,name=prompt_tokens,json=promptTokens,proto3,oneof" json:"prompt_tokens,omitempty"`
	CompletionTokens *int64 `protobuf:"varint,2,opt,name=completion_tokens,json=completionTokens,proto3,oneof" json:"completion_tokens,omitempty"`
	TotalTokens      *int64 `protobuf:"varint,3,opt,name=total_tokens,json=totalTokens,proto3,oneof" json:"total_tokens,omitempty"`
}

func (x *GenerativeDatabricksMetadata_Usage) Reset() {
	*x = GenerativeDatabricksMetadata_Usage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeDatabricksMetadata_Usage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeDatabricksMetadata_Usage) ProtoMessage() {}

func (x *GenerativeDatabricksMetadata_Usage) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeDatabricksMetadata_Usage.ProtoReflect.Descriptor instead.
func (*GenerativeDatabricksMetadata_Usage) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{22, 0}
}

func (x *GenerativeDatabricksMetadata_Usage) GetPromptTokens() int64 {
	if x != nil && x.PromptTokens != nil {
		return *x.PromptTokens
	}
	return 0
}

func (x *GenerativeDatabricksMetadata_Usage) GetCompletionTokens() int64 {
	if x != nil && x.CompletionTokens != nil {
		return *x.CompletionTokens
	}
	return 0
}

func (x *GenerativeDatabricksMetadata_Usage) GetTotalTokens() int64 {
	if x != nil && x.TotalTokens != nil {
		return *x.TotalTokens
	}
	return 0
}

type GenerativeFriendliAIMetadata_Usage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PromptTokens     *int64 `protobuf:"varint,1,opt,name=prompt_tokens,json=promptTokens,proto3,oneof" json:"prompt_tokens,omitempty"`
	CompletionTokens *int64 `protobuf:"varint,2,opt,name=completion_tokens,json=completionTokens,proto3,oneof" json:"completion_tokens,omitempty"`
	TotalTokens      *int64 `protobuf:"varint,3,opt,name=total_tokens,json=totalTokens,proto3,oneof" json:"total_tokens,omitempty"`
}

func (x *GenerativeFriendliAIMetadata_Usage) Reset() {
	*x = GenerativeFriendliAIMetadata_Usage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_generative_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeFriendliAIMetadata_Usage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeFriendliAIMetadata_Usage) ProtoMessage() {}

func (x *GenerativeFriendliAIMetadata_Usage) ProtoReflect() protoreflect.Message {
	mi := &file_v1_generative_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeFriendliAIMetadata_Usage.ProtoReflect.Descriptor instead.
func (*GenerativeFriendliAIMetadata_Usage) Descriptor() ([]byte, []int) {
	return file_v1_generative_proto_rawDescGZIP(), []int{23, 0}
}

func (x *GenerativeFriendliAIMetadata_Usage) GetPromptTokens() int64 {
	if x != nil && x.PromptTokens != nil {
		return *x.PromptTokens
	}
	return 0
}

func (x *GenerativeFriendliAIMetadata_Usage) GetCompletionTokens() int64 {
	if x != nil && x.CompletionTokens != nil {
		return *x.CompletionTokens
	}
	return 0
}

func (x *GenerativeFriendliAIMetadata_Usage) GetTotalTokens() int64 {
	if x != nil && x.TotalTokens != nil {
		return *x.TotalTokens
	}
	return 0
}

var File_v1_generative_proto protoreflect.FileDescriptor

var file_v1_generative_proto_rawDesc = []byte{
	0x0a, 0x13, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x1a, 0x0d, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x22, 0xd0, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x38, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
	0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x14, 0x73, 0x69, 0x6e, 0x67,
	0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74,
	0x12, 0x36, 0x0a, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x02, 0x18, 0x01, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x31, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65,
	0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x73,
	0x69, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c,
	0x65, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, 0x6f,
	0x75, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65,
	0x64, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x1a, 0x71, 0x0a, 0x06, 0x53, 0x69,
	0x6e, 0x67, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x14, 0x0a, 0x05,
	0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62,
	0x75, 0x67, 0x12, 0x39, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xa4, 0x01,
	0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x73,
	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x07, 0x71, 0x75,
	0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x07, 0x71, 0x75,
	0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x22, 0xd6, 0x05, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x72,
	0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x09, 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69,
	0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x41, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x74,
	0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x3d, 0x0a, 0x08, 0x61, 0x6e, 0x79, 0x73, 0x63, 0x61,
	0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x41, 0x6e, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79,
	0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x57, 0x53, 0x48, 0x00,
	0x52, 0x03, 0x61, 0x77, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f,
	0x68, 0x65, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x12, 0x34,
	0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x48, 0x00, 0x52, 0x05, 0x64,
	0x75, 0x6d, 0x6d, 0x79, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69,
	0x73, 0x74, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c,
	0x12, 0x37, 0x0a, 0x06, 0x6f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x48,
	0x00, 0x52, 0x06, 0x6f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x12, 0x37, 0x0a, 0x06, 0x6f, 0x70, 0x65,
	0x6e, 0x61, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76,
	0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x76, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e,
	0x61, 0x69, 0x12, 0x37, 0x0a, 0x06, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x48, 0x00, 0x52, 0x06, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x64,
	0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x21, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63,
	0x6b, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x73,
	0x12, 0x43, 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x61, 0x69, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69,
	0x65, 0x6e, 0x64, 0x6c, 0x69, 0x41, 0x49, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e,
	0x64, 0x6c, 0x69, 0x61, 0x69, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xf0, 0x02,
	0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x74, 0x68,
	0x72, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72,
	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x55,
	0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x78,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65,
	0x6c, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x0b, 0x74, 0x65, 0x6d,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x74,
	0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x04, 0x74, 0x6f,
	0x70, 0x4b, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x12,
	0x42, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
	0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48,
	0x06, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73,
	0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c,
	0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42,
	0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65,
	0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f,
	0x70, 0x5f, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x11, 0x0a,
	0x0f, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73,
	0x22, 0x9d, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41,
	0x6e, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f,
	0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61, 0x73,
	0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88,
	0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61,
	0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x22, 0xe4, 0x02, 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41,
	0x57, 0x53, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
	0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01,
	0x12, 0x1f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01,
	0x01, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x06, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61,
	0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42,
	0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42,
	0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
	0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xe4, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x08,
	0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11,
	0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74,
	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x10, 0x66, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x6e, 0x63, 0x79, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22,
	0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x03, 0x48, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88,
	0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x03, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a,
	0x01, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x01, 0x6b, 0x88, 0x01, 0x01,
	0x12, 0x11, 0x0a, 0x01, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x01, 0x70,
	0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f,
	0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52,
	0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79,
	0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75,
	0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72,
	0x72, 0x61, 0x79, 0x48, 0x07, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, 0x65,
	0x6e, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x48, 0x08, 0x52, 0x0b,
	0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b,
	0x0a, 0x09, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x14, 0x0a, 0x12, 0x5f,
	0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74,
	0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
	0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6b,
	0x42, 0x04, 0x0a, 0x02, 0x5f, 0x70, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65,
	0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f,
	0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x0e,
	0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x11,
	0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x75, 0x6d, 0x6d,
	0x79, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x4d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f,
	0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61, 0x73,
	0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, 0x6d,
	0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6d, 0x6f,
	0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x0b, 0x74,
	0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a,
	0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, 0x04,
	0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x73, 0x65,
	0x5f, 0x75, 0x72, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x0e, 0x0a,
	0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a,
	0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x22, 0xa7, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x12, 0x26, 0x0a, 0x0c,
	0x61, 0x70, 0x69, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12,
	0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x22, 0x9e, 0x05, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49, 0x12, 0x30, 0x0a, 0x11, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x01, 0x48, 0x00, 0x52, 0x10, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x65,
	0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09,
	0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x12, 0x11, 0x0a, 0x01, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52,
	0x01, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63,
	0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48,
	0x03, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c,
	0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x04, 0x52, 0x04, 0x73,
	0x74, 0x6f, 0x70, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x0b, 0x74,
	0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a,
	0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52, 0x04,
	0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f,
	0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x62, 0x61, 0x73,
	0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0a,
	0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a,
	0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a,
	0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01,
	0x01, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x08, 0x48, 0x0b, 0x52, 0x07, 0x69, 0x73, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x88, 0x01,
	0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f,
	0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6e, 0x42, 0x13, 0x0a, 0x11,
	0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74,
	0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74,
	0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74,
	0x6f, 0x70, 0x5f, 0x70, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72,
	0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65,
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x7a, 0x75,
	0x72, 0x65, 0x22, 0x97, 0x05, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x66, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x00, 0x52, 0x10, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x50,
	0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
	0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a,
	0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x73,
	0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65,
	0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52,
	0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05,
	0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70,
	0x5f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x50,
	0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75,
	0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72,
	0x72, 0x61, 0x79, 0x48, 0x07, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, 0x65,
	0x6e, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52,
	0x0b, 0x61, 0x70, 0x69, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12,
	0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
	0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b,
	0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e,
	0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74,
	0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74,
	0x6f, 0x70, 0x5f, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x11,
	0x0a, 0x0f, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
	0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69,
	0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x04, 0x0a,
	0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62,
	0x72, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01,
	0x01, 0x12, 0x30, 0x0a, 0x11, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70,
	0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x10,
	0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79,
	0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x73,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f,
	0x62, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x67,
	0x5f, 0x70, 0x72, 0x6f, 0x62, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0b,
	0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x62, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22,
	0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x03, 0x48, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88,
	0x01, 0x01, 0x12, 0x11, 0x0a, 0x01, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52,
	0x01, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63,
	0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x48,
	0x07, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c,
	0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x08, 0x52, 0x04, 0x73,
	0x74, 0x6f, 0x70, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x48, 0x09, 0x52, 0x0b, 0x74,
	0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a,
	0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x48, 0x0a, 0x52, 0x04,
	0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x14,
	0x0a, 0x12, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e,
	0x61, 0x6c, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x72, 0x6f,
	0x62, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70,
	0x72, 0x6f, 0x62, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72,
	0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x07,
	0x0a, 0x05, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f,
	0x70, 0x22, 0x8f, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x41, 0x49, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x61,
	0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07,
	0x62, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f,
	0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x78,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03,
	0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01,
	0x12, 0x11, 0x0a, 0x01, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x01, 0x6e,
	0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a,
	0x09, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f,
	0x70, 0x5f, 0x70, 0x22, 0xb4, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x76, 0x65, 0x41, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x74, 0x68, 0x72,
	0x6f, 0x70, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x4f, 0x0a, 0x05, 0x55, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6f, 0x75,
	0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x57, 0x53, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x22, 0xc2, 0x07, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x56,
	0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x68, 0x65,
	0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64,
	0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x48,
	0x01, 0x52, 0x0b, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01,
	0x01, 0x12, 0x49, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x48,
	0x02, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x08,
	0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78,
	0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x03, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e,
	0x67, 0x73, 0x88, 0x01, 0x01, 0x1a, 0xb5, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x69, 0x73,
	0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a,
	0x0f, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0e, 0x69, 0x73, 0x45, 0x78, 0x70, 0x65,
	0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x73, 0x5f, 0x64,
	0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x73,
	0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x1a, 0xfe, 0x01,
	0x0a, 0x0b, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x26, 0x0a,
	0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0c,
	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12,
	0x26, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55,
	0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01,
	0x48, 0x03, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x75, 0x74, 0x70,
	0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63,
	0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x7d,
	0x0a, 0x06, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75,
	0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00,
	0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01,
	0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75,
	0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69,
	0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f,
	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0e, 0x0a,
	0x0c, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a,
	0x0d, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x42, 0x09,
	0x0a, 0x07, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x77, 0x61,
	0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x22, 0xb5, 0x02, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x4d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
	0x47, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05,
	0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xc4, 0x01, 0x0a, 0x05, 0x55, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x6f,
	0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11,
	0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
	0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26,
	0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70,
	0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6d,
	0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0f,
	0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42,
	0x08, 0x0a, 0x06, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x46, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
	0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xc4, 0x01, 0x0a, 0x05, 0x55,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x70,
	0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x30,
	0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6d,
	0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01,
	0x12, 0x26, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x6f,
	0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63,
	0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
	0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x93, 0x08, 0x0a, 0x18,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x0e, 0x75, 0x73, 0x61,
	0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x33, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x1a, 0xa4, 0x01, 0x0a, 0x0a, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x19, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72,
	0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x17,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61,
	0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x48, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88,
	0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c,
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73,
	0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x73, 0x1a, 0x84, 0x02, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x30, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f,
	0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x7e, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xf6, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x61,
	0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x12, 0x70, 0x72,
	0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a,
	0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
	0x14, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x72,
	0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x42, 0x19, 0x0a, 0x17, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x11,
	0x0a, 0x0f, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x22, 0xbb, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x44, 0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x4a, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x72,
	0x69, 0x63, 0x6b, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xc4,
	0x01, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d,
	0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48,
	0x00, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88,
	0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
	0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e,
	0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x14,
	0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22,
	0xbb, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x72,
	0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x41, 0x49, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x12, 0x4a, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69,
	0x41, 0x49, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x00, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xc4, 0x01, 0x0a,
	0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
	0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01,
	0x12, 0x30, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x10, 0x63,
	0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88,
	0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70,
	0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12,
	0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x85, 0x06,
	0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x09, 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69,
	0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x41, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x45,
	0x0a, 0x08, 0x61, 0x6e, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x27, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x79, 0x73, 0x63, 0x61, 0x6c,
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79,
	0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x57, 0x53, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x03, 0x61, 0x77, 0x73, 0x12, 0x3f, 0x0a,
	0x06, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x12, 0x3c,
	0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x12, 0x42, 0x0a, 0x07,
	0x6d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x74, 0x72, 0x61, 0x6c,
	0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x25, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x6c, 0x6c, 0x61, 0x6d,
	0x61, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e,
	0x61, 0x69, 0x12, 0x3f, 0x0a, 0x06, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63, 0x6b,
	0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x44, 0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x73,
	0x12, 0x4b, 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x61, 0x69, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69,
	0x65, 0x6e, 0x64, 0x6c, 0x69, 0x41, 0x49, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48,
	0x00, 0x52, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x61, 0x69, 0x42, 0x06, 0x0a,
	0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x12, 0x37, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x48, 0x00,
	0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52,
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06,
	0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x47, 0x0a,
	0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67,
	0x12, 0x24, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x50, 0x72, 0x6f,
	0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f,
	0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x74, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x57,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2f, 0x77, 0x65, 0x61, 0x76,
	0x69, 0x61, 0x74, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x06, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_v1_generative_proto_rawDescOnce sync.Once
	file_v1_generative_proto_rawDescData = file_v1_generative_proto_rawDesc
)

func file_v1_generative_proto_rawDescGZIP() []byte {
	file_v1_generative_proto_rawDescOnce.Do(func() {
		file_v1_generative_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_generative_proto_rawDescData)
	})
	return file_v1_generative_proto_rawDescData
}

var file_v1_generative_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
var file_v1_generative_proto_goTypes = []interface{}{
	(*GenerativeSearch)(nil),                       // 0: weaviate.v1.GenerativeSearch
	(*GenerativeProvider)(nil),                     // 1: weaviate.v1.GenerativeProvider
	(*GenerativeAnthropic)(nil),                    // 2: weaviate.v1.GenerativeAnthropic
	(*GenerativeAnyscale)(nil),                     // 3: weaviate.v1.GenerativeAnyscale
	(*GenerativeAWS)(nil),                          // 4: weaviate.v1.GenerativeAWS
	(*GenerativeCohere)(nil),                       // 5: weaviate.v1.GenerativeCohere
	(*GenerativeDummy)(nil),                        // 6: weaviate.v1.GenerativeDummy
	(*GenerativeMistral)(nil),                      // 7: weaviate.v1.GenerativeMistral
	(*GenerativeOllama)(nil),                       // 8: weaviate.v1.GenerativeOllama
	(*GenerativeOpenAI)(nil),                       // 9: weaviate.v1.GenerativeOpenAI
	(*GenerativeGoogle)(nil),                       // 10: weaviate.v1.GenerativeGoogle
	(*GenerativeDatabricks)(nil),                   // 11: weaviate.v1.GenerativeDatabricks
	(*GenerativeFriendliAI)(nil),                   // 12: weaviate.v1.GenerativeFriendliAI
	(*GenerativeAnthropicMetadata)(nil),            // 13: weaviate.v1.GenerativeAnthropicMetadata
	(*GenerativeAnyscaleMetadata)(nil),             // 14: weaviate.v1.GenerativeAnyscaleMetadata
	(*GenerativeAWSMetadata)(nil),                  // 15: weaviate.v1.GenerativeAWSMetadata
	(*GenerativeCohereMetadata)(nil),               // 16: weaviate.v1.GenerativeCohereMetadata
	(*GenerativeDummyMetadata)(nil),                // 17: weaviate.v1.GenerativeDummyMetadata
	(*GenerativeMistralMetadata)(nil),              // 18: weaviate.v1.GenerativeMistralMetadata
	(*GenerativeOllamaMetadata)(nil),               // 19: weaviate.v1.GenerativeOllamaMetadata
	(*GenerativeOpenAIMetadata)(nil),               // 20: weaviate.v1.GenerativeOpenAIMetadata
	(*GenerativeGoogleMetadata)(nil),               // 21: weaviate.v1.GenerativeGoogleMetadata
	(*GenerativeDatabricksMetadata)(nil),           // 22: weaviate.v1.GenerativeDatabricksMetadata
	(*GenerativeFriendliAIMetadata)(nil),           // 23: weaviate.v1.GenerativeFriendliAIMetadata
	(*GenerativeMetadata)(nil),                     // 24: weaviate.v1.GenerativeMetadata
	(*GenerativeReply)(nil),                        // 25: weaviate.v1.GenerativeReply
	(*GenerativeResult)(nil),                       // 26: weaviate.v1.GenerativeResult
	(*GenerativeDebug)(nil),                        // 27: weaviate.v1.GenerativeDebug
	(*GenerativeSearch_Single)(nil),                // 28: weaviate.v1.GenerativeSearch.Single
	(*GenerativeSearch_Grouped)(nil),               // 29: weaviate.v1.GenerativeSearch.Grouped
	(*GenerativeAnthropicMetadata_Usage)(nil),      // 30: weaviate.v1.GenerativeAnthropicMetadata.Usage
	(*GenerativeCohereMetadata_ApiVersion)(nil),    // 31: weaviate.v1.GenerativeCohereMetadata.ApiVersion
	(*GenerativeCohereMetadata_BilledUnits)(nil),   // 32: weaviate.v1.GenerativeCohereMetadata.BilledUnits
	(*GenerativeCohereMetadata_Tokens)(nil),        // 33: weaviate.v1.GenerativeCohereMetadata.Tokens
	(*GenerativeMistralMetadata_Usage)(nil),        // 34: weaviate.v1.GenerativeMistralMetadata.Usage
	(*GenerativeOpenAIMetadata_Usage)(nil),         // 35: weaviate.v1.GenerativeOpenAIMetadata.Usage
	(*GenerativeGoogleMetadata_TokenCount)(nil),    // 36: weaviate.v1.GenerativeGoogleMetadata.TokenCount
	(*GenerativeGoogleMetadata_TokenMetadata)(nil), // 37: weaviate.v1.GenerativeGoogleMetadata.TokenMetadata
	(*GenerativeGoogleMetadata_Metadata)(nil),      // 38: weaviate.v1.GenerativeGoogleMetadata.Metadata
	(*GenerativeGoogleMetadata_UsageMetadata)(nil), // 39: weaviate.v1.GenerativeGoogleMetadata.UsageMetadata
	(*GenerativeDatabricksMetadata_Usage)(nil),     // 40: weaviate.v1.GenerativeDatabricksMetadata.Usage
	(*GenerativeFriendliAIMetadata_Usage)(nil),     // 41: weaviate.v1.GenerativeFriendliAIMetadata.Usage
	(*TextArray)(nil),                              // 42: weaviate.v1.TextArray
}
var file_v1_generative_proto_depIdxs = []int32{
	28, // 0: weaviate.v1.GenerativeSearch.single:type_name -> weaviate.v1.GenerativeSearch.Single
	29, // 1: weaviate.v1.GenerativeSearch.grouped:type_name -> weaviate.v1.GenerativeSearch.Grouped
	2,  // 2: weaviate.v1.GenerativeProvider.anthropic:type_name -> weaviate.v1.GenerativeAnthropic
	3,  // 3: weaviate.v1.GenerativeProvider.anyscale:type_name -> weaviate.v1.GenerativeAnyscale
	4,  // 4: weaviate.v1.GenerativeProvider.aws:type_name -> weaviate.v1.GenerativeAWS
	5,  // 5: weaviate.v1.GenerativeProvider.cohere:type_name -> weaviate.v1.GenerativeCohere
	6,  // 6: weaviate.v1.GenerativeProvider.dummy:type_name -> weaviate.v1.GenerativeDummy
	7,  // 7: weaviate.v1.GenerativeProvider.mistral:type_name -> weaviate.v1.GenerativeMistral
	8,  // 8: weaviate.v1.GenerativeProvider.ollama:type_name -> weaviate.v1.GenerativeOllama
	9,  // 9: weaviate.v1.GenerativeProvider.openai:type_name -> weaviate.v1.GenerativeOpenAI
	10, // 10: weaviate.v1.GenerativeProvider.google:type_name -> weaviate.v1.GenerativeGoogle
	11, // 11: weaviate.v1.GenerativeProvider.databricks:type_name -> weaviate.v1.GenerativeDatabricks
	12, // 12: weaviate.v1.GenerativeProvider.friendliai:type_name -> weaviate.v1.GenerativeFriendliAI
	42, // 13: weaviate.v1.GenerativeAnthropic.stop_sequences:type_name -> weaviate.v1.TextArray
	42, // 14: weaviate.v1.GenerativeCohere.stop_sequences:type_name -> weaviate.v1.TextArray
	42, // 15: weaviate.v1.GenerativeOpenAI.stop:type_name -> weaviate.v1.TextArray
	42, // 16: weaviate.v1.GenerativeGoogle.stop_sequences:type_name -> weaviate.v1.TextArray
	42, // 17: weaviate.v1.GenerativeDatabricks.stop:type_name -> weaviate.v1.TextArray
	30, // 18: weaviate.v1.GenerativeAnthropicMetadata.usage:type_name -> weaviate.v1.GenerativeAnthropicMetadata.Usage
	31, // 19: weaviate.v1.GenerativeCohereMetadata.api_version:type_name -> weaviate.v1.GenerativeCohereMetadata.ApiVersion
	32, // 20: weaviate.v1.GenerativeCohereMetadata.billed_units:type_name -> weaviate.v1.GenerativeCohereMetadata.BilledUnits
	33, // 21: weaviate.v1.GenerativeCohereMetadata.tokens:type_name -> weaviate.v1.GenerativeCohereMetadata.Tokens
	42, // 22: weaviate.v1.GenerativeCohereMetadata.warnings:type_name -> weaviate.v1.TextArray
	34, // 23: weaviate.v1.GenerativeMistralMetadata.usage:type_name -> weaviate.v1.GenerativeMistralMetadata.Usage
	35, // 24: weaviate.v1.GenerativeOpenAIMetadata.usage:type_name -> weaviate.v1.GenerativeOpenAIMetadata.Usage
	38, // 25: weaviate.v1.GenerativeGoogleMetadata.metadata:type_name -> weaviate.v1.GenerativeGoogleMetadata.Metadata
	39, // 26: weaviate.v1.GenerativeGoogleMetadata.usage_metadata:type_name -> weaviate.v1.GenerativeGoogleMetadata.UsageMetadata
	40, // 27: weaviate.v1.GenerativeDatabricksMetadata.usage:type_name -> weaviate.v1.GenerativeDatabricksMetadata.Usage
	41, // 28: weaviate.v1.GenerativeFriendliAIMetadata.usage:type_name -> weaviate.v1.GenerativeFriendliAIMetadata.Usage
	13, // 29: weaviate.v1.GenerativeMetadata.anthropic:type_name -> weaviate.v1.GenerativeAnthropicMetadata
	14, // 30: weaviate.v1.GenerativeMetadata.anyscale:type_name -> weaviate.v1.GenerativeAnyscaleMetadata
	15, // 31: weaviate.v1.GenerativeMetadata.aws:type_name -> weaviate.v1.GenerativeAWSMetadata
	16, // 32: weaviate.v1.GenerativeMetadata.cohere:type_name -> weaviate.v1.GenerativeCohereMetadata
	17, // 33: weaviate.v1.GenerativeMetadata.dummy:type_name -> weaviate.v1.GenerativeDummyMetadata
	18, // 34: weaviate.v1.GenerativeMetadata.mistral:type_name -> weaviate.v1.GenerativeMistralMetadata
	19, // 35: weaviate.v1.GenerativeMetadata.ollama:type_name -> weaviate.v1.GenerativeOllamaMetadata
	20, // 36: weaviate.v1.GenerativeMetadata.openai:type_name -> weaviate.v1.GenerativeOpenAIMetadata
	21, // 37: weaviate.v1.GenerativeMetadata.google:type_name -> weaviate.v1.GenerativeGoogleMetadata
	22, // 38: weaviate.v1.GenerativeMetadata.databricks:type_name -> weaviate.v1.GenerativeDatabricksMetadata
	23, // 39: weaviate.v1.GenerativeMetadata.friendliai:type_name -> weaviate.v1.GenerativeFriendliAIMetadata
	27, // 40: weaviate.v1.GenerativeReply.debug:type_name -> weaviate.v1.GenerativeDebug
	24, // 41: weaviate.v1.GenerativeReply.metadata:type_name -> weaviate.v1.GenerativeMetadata
	25, // 42: weaviate.v1.GenerativeResult.values:type_name -> weaviate.v1.GenerativeReply
	1,  // 43: weaviate.v1.GenerativeSearch.Single.queries:type_name -> weaviate.v1.GenerativeProvider
	42, // 44: weaviate.v1.GenerativeSearch.Grouped.properties:type_name -> weaviate.v1.TextArray
	1,  // 45: weaviate.v1.GenerativeSearch.Grouped.queries:type_name -> weaviate.v1.GenerativeProvider
	36, // 46: weaviate.v1.GenerativeGoogleMetadata.TokenMetadata.input_token_count:type_name -> weaviate.v1.GenerativeGoogleMetadata.TokenCount
	36, // 47: weaviate.v1.GenerativeGoogleMetadata.TokenMetadata.output_token_count:type_name -> weaviate.v1.GenerativeGoogleMetadata.TokenCount
	37, // 48: weaviate.v1.GenerativeGoogleMetadata.Metadata.token_metadata:type_name -> weaviate.v1.GenerativeGoogleMetadata.TokenMetadata
	49, // [49:49] is the sub-list for method output_type
	49, // [49:49] is the sub-list for method input_type
	49, // [49:49] is the sub-list for extension type_name
	49, // [49:49] is the sub-list for extension extendee
	0,  // [0:49] is the sub-list for field type_name
}

func init() { file_v1_generative_proto_init() }
func file_v1_generative_proto_init() {
	if File_v1_generative_proto != nil {
		return
	}
	file_v1_base_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_v1_generative_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeProvider); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAnthropic); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAnyscale); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAWS); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeCohere); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeDummy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeMistral); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeOllama); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeOpenAI); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeGoogle); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeDatabricks); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeFriendliAI); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAnthropicMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAnyscaleMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAWSMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeCohereMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeDummyMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeMistralMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeOllamaMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeOpenAIMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeGoogleMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeDatabricksMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeFriendliAIMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeDebug); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeSearch_Single); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeSearch_Grouped); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeAnthropicMetadata_Usage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeCohereMetadata_ApiVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeCohereMetadata_BilledUnits); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeCohereMetadata_Tokens); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeMistralMetadata_Usage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeOpenAIMetadata_Usage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeGoogleMetadata_TokenCount); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeGoogleMetadata_TokenMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeGoogleMetadata_Metadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeGoogleMetadata_UsageMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeDatabricksMetadata_Usage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_generative_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeFriendliAIMetadata_Usage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_v1_generative_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*GenerativeProvider_Anthropic)(nil),
		(*GenerativeProvider_Anyscale)(nil),
		(*GenerativeProvider_Aws)(nil),
		(*GenerativeProvider_Cohere)(nil),
		(*GenerativeProvider_Dummy)(nil),
		(*GenerativeProvider_Mistral)(nil),
		(*GenerativeProvider_Ollama)(nil),
		(*GenerativeProvider_Openai)(nil),
		(*GenerativeProvider_Google)(nil),
		(*GenerativeProvider_Databricks)(nil),
		(*GenerativeProvider_Friendliai)(nil),
	}
	file_v1_generative_proto_msgTypes[2].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[3].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[4].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[5].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[7].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[8].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[9].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[10].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[11].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[12].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[16].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[18].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[20].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[21].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[22].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[23].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[24].OneofWrappers = []interface{}{
		(*GenerativeMetadata_Anthropic)(nil),
		(*GenerativeMetadata_Anyscale)(nil),
		(*GenerativeMetadata_Aws)(nil),
		(*GenerativeMetadata_Cohere)(nil),
		(*GenerativeMetadata_Dummy)(nil),
		(*GenerativeMetadata_Mistral)(nil),
		(*GenerativeMetadata_Ollama)(nil),
		(*GenerativeMetadata_Openai)(nil),
		(*GenerativeMetadata_Google)(nil),
		(*GenerativeMetadata_Databricks)(nil),
		(*GenerativeMetadata_Friendliai)(nil),
	}
	file_v1_generative_proto_msgTypes[25].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[27].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[29].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[31].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[32].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[33].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[34].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[35].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[36].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[37].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[38].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[39].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[40].OneofWrappers = []interface{}{}
	file_v1_generative_proto_msgTypes[41].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_v1_generative_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   42,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_v1_generative_proto_goTypes,
		DependencyIndexes: file_v1_generative_proto_depIdxs,
		MessageInfos:      file_v1_generative_proto_msgTypes,
	}.Build()
	File_v1_generative_proto = out.File
	file_v1_generative_proto_rawDesc = nil
	file_v1_generative_proto_goTypes = nil
	file_v1_generative_proto_depIdxs = nil
}
