Files
vector-go/qdrant/collections.pb.go
AnushandGitHub 012b9aa5ea v1.18.0 (#118)
* 1.18.x

* chore: v1.18.0 in image_test.go
2026-05-11 17:38:41 +05:30

10568 lines
398 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.2
// protoc v7.34.1
// source: collections.proto
package qdrant
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
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 Datatype int32
const (
Datatype_Default Datatype = 0
Datatype_Float32 Datatype = 1
Datatype_Uint8 Datatype = 2
Datatype_Float16 Datatype = 3
)
// Enum value maps for Datatype.
var (
Datatype_name = map[int32]string{
0: "Default",
1: "Float32",
2: "Uint8",
3: "Float16",
}
Datatype_value = map[string]int32{
"Default": 0,
"Float32": 1,
"Uint8": 2,
"Float16": 3,
}
)
func (x Datatype) Enum() *Datatype {
p := new(Datatype)
*p = x
return p
}
func (x Datatype) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Datatype) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[0].Descriptor()
}
func (Datatype) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[0]
}
func (x Datatype) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Datatype.Descriptor instead.
func (Datatype) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{0}
}
type Modifier int32
const (
Modifier_None Modifier = 0
// Apply Inverse Document Frequency
Modifier_Idf Modifier = 1
)
// Enum value maps for Modifier.
var (
Modifier_name = map[int32]string{
0: "None",
1: "Idf",
}
Modifier_value = map[string]int32{
"None": 0,
"Idf": 1,
}
)
func (x Modifier) Enum() *Modifier {
p := new(Modifier)
*p = x
return p
}
func (x Modifier) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Modifier) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[1].Descriptor()
}
func (Modifier) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[1]
}
func (x Modifier) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Modifier.Descriptor instead.
func (Modifier) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{1}
}
type MultiVectorComparator int32
const (
MultiVectorComparator_MaxSim MultiVectorComparator = 0
)
// Enum value maps for MultiVectorComparator.
var (
MultiVectorComparator_name = map[int32]string{
0: "MaxSim",
}
MultiVectorComparator_value = map[string]int32{
"MaxSim": 0,
}
)
func (x MultiVectorComparator) Enum() *MultiVectorComparator {
p := new(MultiVectorComparator)
*p = x
return p
}
func (x MultiVectorComparator) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MultiVectorComparator) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[2].Descriptor()
}
func (MultiVectorComparator) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[2]
}
func (x MultiVectorComparator) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MultiVectorComparator.Descriptor instead.
func (MultiVectorComparator) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{2}
}
type Distance int32
const (
Distance_UnknownDistance Distance = 0
Distance_Cosine Distance = 1
Distance_Euclid Distance = 2
Distance_Dot Distance = 3
Distance_Manhattan Distance = 4
)
// Enum value maps for Distance.
var (
Distance_name = map[int32]string{
0: "UnknownDistance",
1: "Cosine",
2: "Euclid",
3: "Dot",
4: "Manhattan",
}
Distance_value = map[string]int32{
"UnknownDistance": 0,
"Cosine": 1,
"Euclid": 2,
"Dot": 3,
"Manhattan": 4,
}
)
func (x Distance) Enum() *Distance {
p := new(Distance)
*p = x
return p
}
func (x Distance) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Distance) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[3].Descriptor()
}
func (Distance) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[3]
}
func (x Distance) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Distance.Descriptor instead.
func (Distance) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{3}
}
type CollectionStatus int32
const (
CollectionStatus_UnknownCollectionStatus CollectionStatus = 0
// All segments are ready
CollectionStatus_Green CollectionStatus = 1
// Optimization in process
CollectionStatus_Yellow CollectionStatus = 2
// Something went wrong
CollectionStatus_Red CollectionStatus = 3
// Optimization is pending
CollectionStatus_Grey CollectionStatus = 4
)
// Enum value maps for CollectionStatus.
var (
CollectionStatus_name = map[int32]string{
0: "UnknownCollectionStatus",
1: "Green",
2: "Yellow",
3: "Red",
4: "Grey",
}
CollectionStatus_value = map[string]int32{
"UnknownCollectionStatus": 0,
"Green": 1,
"Yellow": 2,
"Red": 3,
"Grey": 4,
}
)
func (x CollectionStatus) Enum() *CollectionStatus {
p := new(CollectionStatus)
*p = x
return p
}
func (x CollectionStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CollectionStatus) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[4].Descriptor()
}
func (CollectionStatus) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[4]
}
func (x CollectionStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CollectionStatus.Descriptor instead.
func (CollectionStatus) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{4}
}
type PayloadSchemaType int32
const (
PayloadSchemaType_UnknownType PayloadSchemaType = 0
PayloadSchemaType_Keyword PayloadSchemaType = 1
PayloadSchemaType_Integer PayloadSchemaType = 2
PayloadSchemaType_Float PayloadSchemaType = 3
PayloadSchemaType_Geo PayloadSchemaType = 4
PayloadSchemaType_Text PayloadSchemaType = 5
PayloadSchemaType_Bool PayloadSchemaType = 6
PayloadSchemaType_Datetime PayloadSchemaType = 7
PayloadSchemaType_Uuid PayloadSchemaType = 8
)
// Enum value maps for PayloadSchemaType.
var (
PayloadSchemaType_name = map[int32]string{
0: "UnknownType",
1: "Keyword",
2: "Integer",
3: "Float",
4: "Geo",
5: "Text",
6: "Bool",
7: "Datetime",
8: "Uuid",
}
PayloadSchemaType_value = map[string]int32{
"UnknownType": 0,
"Keyword": 1,
"Integer": 2,
"Float": 3,
"Geo": 4,
"Text": 5,
"Bool": 6,
"Datetime": 7,
"Uuid": 8,
}
)
func (x PayloadSchemaType) Enum() *PayloadSchemaType {
p := new(PayloadSchemaType)
*p = x
return p
}
func (x PayloadSchemaType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PayloadSchemaType) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[5].Descriptor()
}
func (PayloadSchemaType) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[5]
}
func (x PayloadSchemaType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PayloadSchemaType.Descriptor instead.
func (PayloadSchemaType) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{5}
}
type QuantizationType int32
const (
QuantizationType_UnknownQuantization QuantizationType = 0
QuantizationType_Int8 QuantizationType = 1
)
// Enum value maps for QuantizationType.
var (
QuantizationType_name = map[int32]string{
0: "UnknownQuantization",
1: "Int8",
}
QuantizationType_value = map[string]int32{
"UnknownQuantization": 0,
"Int8": 1,
}
)
func (x QuantizationType) Enum() *QuantizationType {
p := new(QuantizationType)
*p = x
return p
}
func (x QuantizationType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (QuantizationType) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[6].Descriptor()
}
func (QuantizationType) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[6]
}
func (x QuantizationType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use QuantizationType.Descriptor instead.
func (QuantizationType) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{6}
}
type CompressionRatio int32
const (
CompressionRatio_x4 CompressionRatio = 0
CompressionRatio_x8 CompressionRatio = 1
CompressionRatio_x16 CompressionRatio = 2
CompressionRatio_x32 CompressionRatio = 3
CompressionRatio_x64 CompressionRatio = 4
)
// Enum value maps for CompressionRatio.
var (
CompressionRatio_name = map[int32]string{
0: "x4",
1: "x8",
2: "x16",
3: "x32",
4: "x64",
}
CompressionRatio_value = map[string]int32{
"x4": 0,
"x8": 1,
"x16": 2,
"x32": 3,
"x64": 4,
}
)
func (x CompressionRatio) Enum() *CompressionRatio {
p := new(CompressionRatio)
*p = x
return p
}
func (x CompressionRatio) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CompressionRatio) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[7].Descriptor()
}
func (CompressionRatio) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[7]
}
func (x CompressionRatio) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CompressionRatio.Descriptor instead.
func (CompressionRatio) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{7}
}
type BinaryQuantizationEncoding int32
const (
BinaryQuantizationEncoding_OneBit BinaryQuantizationEncoding = 0
BinaryQuantizationEncoding_TwoBits BinaryQuantizationEncoding = 1
BinaryQuantizationEncoding_OneAndHalfBits BinaryQuantizationEncoding = 2
)
// Enum value maps for BinaryQuantizationEncoding.
var (
BinaryQuantizationEncoding_name = map[int32]string{
0: "OneBit",
1: "TwoBits",
2: "OneAndHalfBits",
}
BinaryQuantizationEncoding_value = map[string]int32{
"OneBit": 0,
"TwoBits": 1,
"OneAndHalfBits": 2,
}
)
func (x BinaryQuantizationEncoding) Enum() *BinaryQuantizationEncoding {
p := new(BinaryQuantizationEncoding)
*p = x
return p
}
func (x BinaryQuantizationEncoding) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (BinaryQuantizationEncoding) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[8].Descriptor()
}
func (BinaryQuantizationEncoding) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[8]
}
func (x BinaryQuantizationEncoding) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use BinaryQuantizationEncoding.Descriptor instead.
func (BinaryQuantizationEncoding) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{8}
}
type TurboQuantBitSize int32
const (
TurboQuantBitSize_Bits1 TurboQuantBitSize = 0
TurboQuantBitSize_Bits1_5 TurboQuantBitSize = 1
TurboQuantBitSize_Bits2 TurboQuantBitSize = 2
TurboQuantBitSize_Bits4 TurboQuantBitSize = 3
)
// Enum value maps for TurboQuantBitSize.
var (
TurboQuantBitSize_name = map[int32]string{
0: "Bits1",
1: "Bits1_5",
2: "Bits2",
3: "Bits4",
}
TurboQuantBitSize_value = map[string]int32{
"Bits1": 0,
"Bits1_5": 1,
"Bits2": 2,
"Bits4": 3,
}
)
func (x TurboQuantBitSize) Enum() *TurboQuantBitSize {
p := new(TurboQuantBitSize)
*p = x
return p
}
func (x TurboQuantBitSize) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TurboQuantBitSize) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[9].Descriptor()
}
func (TurboQuantBitSize) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[9]
}
func (x TurboQuantBitSize) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TurboQuantBitSize.Descriptor instead.
func (TurboQuantBitSize) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{9}
}
type ShardingMethod int32
const (
// Auto-sharding based on record ids
ShardingMethod_Auto ShardingMethod = 0
// Shard by user-defined key
ShardingMethod_Custom ShardingMethod = 1
)
// Enum value maps for ShardingMethod.
var (
ShardingMethod_name = map[int32]string{
0: "Auto",
1: "Custom",
}
ShardingMethod_value = map[string]int32{
"Auto": 0,
"Custom": 1,
}
)
func (x ShardingMethod) Enum() *ShardingMethod {
p := new(ShardingMethod)
*p = x
return p
}
func (x ShardingMethod) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ShardingMethod) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[10].Descriptor()
}
func (ShardingMethod) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[10]
}
func (x ShardingMethod) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ShardingMethod.Descriptor instead.
func (ShardingMethod) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{10}
}
type TokenizerType int32
const (
TokenizerType_Unknown TokenizerType = 0
TokenizerType_Prefix TokenizerType = 1
TokenizerType_Whitespace TokenizerType = 2
TokenizerType_Word TokenizerType = 3
TokenizerType_Multilingual TokenizerType = 4
)
// Enum value maps for TokenizerType.
var (
TokenizerType_name = map[int32]string{
0: "Unknown",
1: "Prefix",
2: "Whitespace",
3: "Word",
4: "Multilingual",
}
TokenizerType_value = map[string]int32{
"Unknown": 0,
"Prefix": 1,
"Whitespace": 2,
"Word": 3,
"Multilingual": 4,
}
)
func (x TokenizerType) Enum() *TokenizerType {
p := new(TokenizerType)
*p = x
return p
}
func (x TokenizerType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TokenizerType) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[11].Descriptor()
}
func (TokenizerType) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[11]
}
func (x TokenizerType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TokenizerType.Descriptor instead.
func (TokenizerType) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{11}
}
type ReplicaState int32
const (
// Active and sound
ReplicaState_Active ReplicaState = 0
// Failed for some reason
ReplicaState_Dead ReplicaState = 1
// The shard is partially loaded and is currently receiving data from other shards
ReplicaState_Partial ReplicaState = 2
// Collection is being created
ReplicaState_Initializing ReplicaState = 3
// A shard which receives data, but is not used for search.
// Useful for backup shards.
ReplicaState_Listener ReplicaState = 4
// Deprecated: snapshot shard transfer is in progress.
// Updates should not be sent to (and are ignored by) the shard.
ReplicaState_PartialSnapshot ReplicaState = 5
// Shard is undergoing recovery by an external node.
// Normally rejects updates, accepts updates if force is true.
ReplicaState_Recovery ReplicaState = 6
// Points are being migrated to this shard as part of scale-up resharding
ReplicaState_Resharding ReplicaState = 7
// Points are being migrated to this shard as part of scale-down resharding
ReplicaState_ReshardingScaleDown ReplicaState = 8
// Active for readers, Partial for writers
ReplicaState_ActiveRead ReplicaState = 9
// State for manually creation/recovery of a shard.
// Usually when snapshot is uploaded.
// This state is equivalent to `Partial`, except:
// - it can't receive updates
// - it is not treated as broken on startup
ReplicaState_ManualRecovery ReplicaState = 10
)
// Enum value maps for ReplicaState.
var (
ReplicaState_name = map[int32]string{
0: "Active",
1: "Dead",
2: "Partial",
3: "Initializing",
4: "Listener",
5: "PartialSnapshot",
6: "Recovery",
7: "Resharding",
8: "ReshardingScaleDown",
9: "ActiveRead",
10: "ManualRecovery",
}
ReplicaState_value = map[string]int32{
"Active": 0,
"Dead": 1,
"Partial": 2,
"Initializing": 3,
"Listener": 4,
"PartialSnapshot": 5,
"Recovery": 6,
"Resharding": 7,
"ReshardingScaleDown": 8,
"ActiveRead": 9,
"ManualRecovery": 10,
}
)
func (x ReplicaState) Enum() *ReplicaState {
p := new(ReplicaState)
*p = x
return p
}
func (x ReplicaState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ReplicaState) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[12].Descriptor()
}
func (ReplicaState) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[12]
}
func (x ReplicaState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ReplicaState.Descriptor instead.
func (ReplicaState) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{12}
}
// Resharding direction, scale up or down in number of shards
type ReshardingDirection int32
const (
// Scale up, add a new shard
ReshardingDirection_Up ReshardingDirection = 0
// Scale down, remove a shard
ReshardingDirection_Down ReshardingDirection = 1
)
// Enum value maps for ReshardingDirection.
var (
ReshardingDirection_name = map[int32]string{
0: "Up",
1: "Down",
}
ReshardingDirection_value = map[string]int32{
"Up": 0,
"Down": 1,
}
)
func (x ReshardingDirection) Enum() *ReshardingDirection {
p := new(ReshardingDirection)
*p = x
return p
}
func (x ReshardingDirection) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ReshardingDirection) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[13].Descriptor()
}
func (ReshardingDirection) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[13]
}
func (x ReshardingDirection) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ReshardingDirection.Descriptor instead.
func (ReshardingDirection) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{13}
}
type ShardTransferMethod int32
const (
// Stream shard records in batches
ShardTransferMethod_StreamRecords ShardTransferMethod = 0
// Snapshot the shard and recover it on the target peer
ShardTransferMethod_Snapshot ShardTransferMethod = 1
// Resolve WAL delta between peers and transfer the difference
ShardTransferMethod_WalDelta ShardTransferMethod = 2
// Stream shard records in batches for resharding
ShardTransferMethod_ReshardingStreamRecords ShardTransferMethod = 3
)
// Enum value maps for ShardTransferMethod.
var (
ShardTransferMethod_name = map[int32]string{
0: "StreamRecords",
1: "Snapshot",
2: "WalDelta",
3: "ReshardingStreamRecords",
}
ShardTransferMethod_value = map[string]int32{
"StreamRecords": 0,
"Snapshot": 1,
"WalDelta": 2,
"ReshardingStreamRecords": 3,
}
)
func (x ShardTransferMethod) Enum() *ShardTransferMethod {
p := new(ShardTransferMethod)
*p = x
return p
}
func (x ShardTransferMethod) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ShardTransferMethod) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[14].Descriptor()
}
func (ShardTransferMethod) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[14]
}
func (x ShardTransferMethod) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ShardTransferMethod.Descriptor instead.
func (ShardTransferMethod) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{14}
}
type MaxOptimizationThreads_Setting int32
const (
MaxOptimizationThreads_Auto MaxOptimizationThreads_Setting = 0
)
// Enum value maps for MaxOptimizationThreads_Setting.
var (
MaxOptimizationThreads_Setting_name = map[int32]string{
0: "Auto",
}
MaxOptimizationThreads_Setting_value = map[string]int32{
"Auto": 0,
}
)
func (x MaxOptimizationThreads_Setting) Enum() *MaxOptimizationThreads_Setting {
p := new(MaxOptimizationThreads_Setting)
*p = x
return p
}
func (x MaxOptimizationThreads_Setting) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MaxOptimizationThreads_Setting) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[15].Descriptor()
}
func (MaxOptimizationThreads_Setting) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[15]
}
func (x MaxOptimizationThreads_Setting) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MaxOptimizationThreads_Setting.Descriptor instead.
func (MaxOptimizationThreads_Setting) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{17, 0}
}
type BinaryQuantizationQueryEncoding_Setting int32
const (
BinaryQuantizationQueryEncoding_Default BinaryQuantizationQueryEncoding_Setting = 0
BinaryQuantizationQueryEncoding_Binary BinaryQuantizationQueryEncoding_Setting = 1
BinaryQuantizationQueryEncoding_Scalar4Bits BinaryQuantizationQueryEncoding_Setting = 2
BinaryQuantizationQueryEncoding_Scalar8Bits BinaryQuantizationQueryEncoding_Setting = 3
)
// Enum value maps for BinaryQuantizationQueryEncoding_Setting.
var (
BinaryQuantizationQueryEncoding_Setting_name = map[int32]string{
0: "Default",
1: "Binary",
2: "Scalar4Bits",
3: "Scalar8Bits",
}
BinaryQuantizationQueryEncoding_Setting_value = map[string]int32{
"Default": 0,
"Binary": 1,
"Scalar4Bits": 2,
"Scalar8Bits": 3,
}
)
func (x BinaryQuantizationQueryEncoding_Setting) Enum() *BinaryQuantizationQueryEncoding_Setting {
p := new(BinaryQuantizationQueryEncoding_Setting)
*p = x
return p
}
func (x BinaryQuantizationQueryEncoding_Setting) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (BinaryQuantizationQueryEncoding_Setting) Descriptor() protoreflect.EnumDescriptor {
return file_collections_proto_enumTypes[16].Descriptor()
}
func (BinaryQuantizationQueryEncoding_Setting) Type() protoreflect.EnumType {
return &file_collections_proto_enumTypes[16]
}
func (x BinaryQuantizationQueryEncoding_Setting) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use BinaryQuantizationQueryEncoding_Setting.Descriptor instead.
func (BinaryQuantizationQueryEncoding_Setting) EnumDescriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{26, 0}
}
type VectorParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Size of the vectors
Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
// Distance function used for comparing vectors
Distance Distance `protobuf:"varint,2,opt,name=distance,proto3,enum=qdrant.Distance" json:"distance,omitempty"`
// Configuration of vector HNSW graph.
// If omitted - the collection configuration will be used
HnswConfig *HnswConfigDiff `protobuf:"bytes,3,opt,name=hnsw_config,json=hnswConfig,proto3,oneof" json:"hnsw_config,omitempty"`
// Configuration of vector quantization config.
// If omitted - the collection configuration will be used
QuantizationConfig *QuantizationConfig `protobuf:"bytes,4,opt,name=quantization_config,json=quantizationConfig,proto3,oneof" json:"quantization_config,omitempty"`
// If true - serve vectors from disk.
// If set to false, the vectors will be loaded in RAM.
OnDisk *bool `protobuf:"varint,5,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Data type of the vectors
Datatype *Datatype `protobuf:"varint,6,opt,name=datatype,proto3,enum=qdrant.Datatype,oneof" json:"datatype,omitempty"`
// Configuration for multi-vector search
MultivectorConfig *MultiVectorConfig `protobuf:"bytes,7,opt,name=multivector_config,json=multivectorConfig,proto3,oneof" json:"multivector_config,omitempty"`
}
func (x *VectorParams) Reset() {
*x = VectorParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VectorParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VectorParams) ProtoMessage() {}
func (x *VectorParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 VectorParams.ProtoReflect.Descriptor instead.
func (*VectorParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{0}
}
func (x *VectorParams) GetSize() uint64 {
if x != nil {
return x.Size
}
return 0
}
func (x *VectorParams) GetDistance() Distance {
if x != nil {
return x.Distance
}
return Distance_UnknownDistance
}
func (x *VectorParams) GetHnswConfig() *HnswConfigDiff {
if x != nil {
return x.HnswConfig
}
return nil
}
func (x *VectorParams) GetQuantizationConfig() *QuantizationConfig {
if x != nil {
return x.QuantizationConfig
}
return nil
}
func (x *VectorParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *VectorParams) GetDatatype() Datatype {
if x != nil && x.Datatype != nil {
return *x.Datatype
}
return Datatype_Default
}
func (x *VectorParams) GetMultivectorConfig() *MultiVectorConfig {
if x != nil {
return x.MultivectorConfig
}
return nil
}
type VectorParamsDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Update params for HNSW index.
// If empty object - it will be unset
HnswConfig *HnswConfigDiff `protobuf:"bytes,1,opt,name=hnsw_config,json=hnswConfig,proto3,oneof" json:"hnsw_config,omitempty"`
// Update quantization params. If none - it is left unchanged.
QuantizationConfig *QuantizationConfigDiff `protobuf:"bytes,2,opt,name=quantization_config,json=quantizationConfig,proto3,oneof" json:"quantization_config,omitempty"`
// If true - serve vectors from disk.
// If set to false, the vectors will be loaded in RAM.
OnDisk *bool `protobuf:"varint,3,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
}
func (x *VectorParamsDiff) Reset() {
*x = VectorParamsDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VectorParamsDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VectorParamsDiff) ProtoMessage() {}
func (x *VectorParamsDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 VectorParamsDiff.ProtoReflect.Descriptor instead.
func (*VectorParamsDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{1}
}
func (x *VectorParamsDiff) GetHnswConfig() *HnswConfigDiff {
if x != nil {
return x.HnswConfig
}
return nil
}
func (x *VectorParamsDiff) GetQuantizationConfig() *QuantizationConfigDiff {
if x != nil {
return x.QuantizationConfig
}
return nil
}
func (x *VectorParamsDiff) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
type VectorParamsMap struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Map map[string]*VectorParams `protobuf:"bytes,1,rep,name=map,proto3" json:"map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *VectorParamsMap) Reset() {
*x = VectorParamsMap{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VectorParamsMap) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VectorParamsMap) ProtoMessage() {}
func (x *VectorParamsMap) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 VectorParamsMap.ProtoReflect.Descriptor instead.
func (*VectorParamsMap) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{2}
}
func (x *VectorParamsMap) GetMap() map[string]*VectorParams {
if x != nil {
return x.Map
}
return nil
}
type VectorParamsDiffMap struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Map map[string]*VectorParamsDiff `protobuf:"bytes,1,rep,name=map,proto3" json:"map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *VectorParamsDiffMap) Reset() {
*x = VectorParamsDiffMap{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VectorParamsDiffMap) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VectorParamsDiffMap) ProtoMessage() {}
func (x *VectorParamsDiffMap) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 VectorParamsDiffMap.ProtoReflect.Descriptor instead.
func (*VectorParamsDiffMap) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{3}
}
func (x *VectorParamsDiffMap) GetMap() map[string]*VectorParamsDiff {
if x != nil {
return x.Map
}
return nil
}
type VectorsConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Config:
//
// *VectorsConfig_Params
// *VectorsConfig_ParamsMap
Config isVectorsConfig_Config `protobuf_oneof:"config"`
}
func (x *VectorsConfig) Reset() {
*x = VectorsConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VectorsConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VectorsConfig) ProtoMessage() {}
func (x *VectorsConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 VectorsConfig.ProtoReflect.Descriptor instead.
func (*VectorsConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{4}
}
func (m *VectorsConfig) GetConfig() isVectorsConfig_Config {
if m != nil {
return m.Config
}
return nil
}
func (x *VectorsConfig) GetParams() *VectorParams {
if x, ok := x.GetConfig().(*VectorsConfig_Params); ok {
return x.Params
}
return nil
}
func (x *VectorsConfig) GetParamsMap() *VectorParamsMap {
if x, ok := x.GetConfig().(*VectorsConfig_ParamsMap); ok {
return x.ParamsMap
}
return nil
}
type isVectorsConfig_Config interface {
isVectorsConfig_Config()
}
type VectorsConfig_Params struct {
Params *VectorParams `protobuf:"bytes,1,opt,name=params,proto3,oneof"`
}
type VectorsConfig_ParamsMap struct {
ParamsMap *VectorParamsMap `protobuf:"bytes,2,opt,name=params_map,json=paramsMap,proto3,oneof"`
}
func (*VectorsConfig_Params) isVectorsConfig_Config() {}
func (*VectorsConfig_ParamsMap) isVectorsConfig_Config() {}
type VectorsConfigDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Config:
//
// *VectorsConfigDiff_Params
// *VectorsConfigDiff_ParamsMap
Config isVectorsConfigDiff_Config `protobuf_oneof:"config"`
}
func (x *VectorsConfigDiff) Reset() {
*x = VectorsConfigDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VectorsConfigDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VectorsConfigDiff) ProtoMessage() {}
func (x *VectorsConfigDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 VectorsConfigDiff.ProtoReflect.Descriptor instead.
func (*VectorsConfigDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{5}
}
func (m *VectorsConfigDiff) GetConfig() isVectorsConfigDiff_Config {
if m != nil {
return m.Config
}
return nil
}
func (x *VectorsConfigDiff) GetParams() *VectorParamsDiff {
if x, ok := x.GetConfig().(*VectorsConfigDiff_Params); ok {
return x.Params
}
return nil
}
func (x *VectorsConfigDiff) GetParamsMap() *VectorParamsDiffMap {
if x, ok := x.GetConfig().(*VectorsConfigDiff_ParamsMap); ok {
return x.ParamsMap
}
return nil
}
type isVectorsConfigDiff_Config interface {
isVectorsConfigDiff_Config()
}
type VectorsConfigDiff_Params struct {
Params *VectorParamsDiff `protobuf:"bytes,1,opt,name=params,proto3,oneof"`
}
type VectorsConfigDiff_ParamsMap struct {
ParamsMap *VectorParamsDiffMap `protobuf:"bytes,2,opt,name=params_map,json=paramsMap,proto3,oneof"`
}
func (*VectorsConfigDiff_Params) isVectorsConfigDiff_Config() {}
func (*VectorsConfigDiff_ParamsMap) isVectorsConfigDiff_Config() {}
type SparseVectorParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Configuration of sparse index
Index *SparseIndexConfig `protobuf:"bytes,1,opt,name=index,proto3,oneof" json:"index,omitempty"`
// If set - apply modifier to the vector values
Modifier *Modifier `protobuf:"varint,2,opt,name=modifier,proto3,enum=qdrant.Modifier,oneof" json:"modifier,omitempty"`
}
func (x *SparseVectorParams) Reset() {
*x = SparseVectorParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SparseVectorParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SparseVectorParams) ProtoMessage() {}
func (x *SparseVectorParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 SparseVectorParams.ProtoReflect.Descriptor instead.
func (*SparseVectorParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{6}
}
func (x *SparseVectorParams) GetIndex() *SparseIndexConfig {
if x != nil {
return x.Index
}
return nil
}
func (x *SparseVectorParams) GetModifier() Modifier {
if x != nil && x.Modifier != nil {
return *x.Modifier
}
return Modifier_None
}
type SparseVectorConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Map map[string]*SparseVectorParams `protobuf:"bytes,1,rep,name=map,proto3" json:"map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *SparseVectorConfig) Reset() {
*x = SparseVectorConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SparseVectorConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SparseVectorConfig) ProtoMessage() {}
func (x *SparseVectorConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 SparseVectorConfig.ProtoReflect.Descriptor instead.
func (*SparseVectorConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{7}
}
func (x *SparseVectorConfig) GetMap() map[string]*SparseVectorParams {
if x != nil {
return x.Map
}
return nil
}
type MultiVectorConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Comparator for multi-vector search
Comparator MultiVectorComparator `protobuf:"varint,1,opt,name=comparator,proto3,enum=qdrant.MultiVectorComparator" json:"comparator,omitempty"`
}
func (x *MultiVectorConfig) Reset() {
*x = MultiVectorConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiVectorConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiVectorConfig) ProtoMessage() {}
func (x *MultiVectorConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 MultiVectorConfig.ProtoReflect.Descriptor instead.
func (*MultiVectorConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{8}
}
func (x *MultiVectorConfig) GetComparator() MultiVectorComparator {
if x != nil {
return x.Comparator
}
return MultiVectorComparator_MaxSim
}
type GetCollectionInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
}
func (x *GetCollectionInfoRequest) Reset() {
*x = GetCollectionInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCollectionInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCollectionInfoRequest) ProtoMessage() {}
func (x *GetCollectionInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 GetCollectionInfoRequest.ProtoReflect.Descriptor instead.
func (*GetCollectionInfoRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{9}
}
func (x *GetCollectionInfoRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
type CollectionExistsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
}
func (x *CollectionExistsRequest) Reset() {
*x = CollectionExistsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionExistsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionExistsRequest) ProtoMessage() {}
func (x *CollectionExistsRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionExistsRequest.ProtoReflect.Descriptor instead.
func (*CollectionExistsRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{10}
}
func (x *CollectionExistsRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
type CollectionExists struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"`
}
func (x *CollectionExists) Reset() {
*x = CollectionExists{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionExists) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionExists) ProtoMessage() {}
func (x *CollectionExists) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionExists.ProtoReflect.Descriptor instead.
func (*CollectionExists) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{11}
}
func (x *CollectionExists) GetExists() bool {
if x != nil {
return x.Exists
}
return false
}
type CollectionExistsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *CollectionExists `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
// Time spent to process
Time float64 `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *CollectionExistsResponse) Reset() {
*x = CollectionExistsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionExistsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionExistsResponse) ProtoMessage() {}
func (x *CollectionExistsResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionExistsResponse.ProtoReflect.Descriptor instead.
func (*CollectionExistsResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{12}
}
func (x *CollectionExistsResponse) GetResult() *CollectionExists {
if x != nil {
return x.Result
}
return nil
}
func (x *CollectionExistsResponse) GetTime() float64 {
if x != nil {
return x.Time
}
return 0
}
type ListCollectionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListCollectionsRequest) Reset() {
*x = ListCollectionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListCollectionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListCollectionsRequest) ProtoMessage() {}
func (x *ListCollectionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 ListCollectionsRequest.ProtoReflect.Descriptor instead.
func (*ListCollectionsRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{13}
}
type CollectionDescription struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *CollectionDescription) Reset() {
*x = CollectionDescription{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionDescription) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionDescription) ProtoMessage() {}
func (x *CollectionDescription) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionDescription.ProtoReflect.Descriptor instead.
func (*CollectionDescription) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{14}
}
func (x *CollectionDescription) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type GetCollectionInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *CollectionInfo `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
// Time spent to process
Time float64 `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *GetCollectionInfoResponse) Reset() {
*x = GetCollectionInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCollectionInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCollectionInfoResponse) ProtoMessage() {}
func (x *GetCollectionInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 GetCollectionInfoResponse.ProtoReflect.Descriptor instead.
func (*GetCollectionInfoResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{15}
}
func (x *GetCollectionInfoResponse) GetResult() *CollectionInfo {
if x != nil {
return x.Result
}
return nil
}
func (x *GetCollectionInfoResponse) GetTime() float64 {
if x != nil {
return x.Time
}
return 0
}
type ListCollectionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Collections []*CollectionDescription `protobuf:"bytes,1,rep,name=collections,proto3" json:"collections,omitempty"`
// Time spent to process
Time float64 `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *ListCollectionsResponse) Reset() {
*x = ListCollectionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListCollectionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListCollectionsResponse) ProtoMessage() {}
func (x *ListCollectionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 ListCollectionsResponse.ProtoReflect.Descriptor instead.
func (*ListCollectionsResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{16}
}
func (x *ListCollectionsResponse) GetCollections() []*CollectionDescription {
if x != nil {
return x.Collections
}
return nil
}
func (x *ListCollectionsResponse) GetTime() float64 {
if x != nil {
return x.Time
}
return 0
}
type MaxOptimizationThreads struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Variant:
//
// *MaxOptimizationThreads_Value
// *MaxOptimizationThreads_Setting_
Variant isMaxOptimizationThreads_Variant `protobuf_oneof:"variant"`
}
func (x *MaxOptimizationThreads) Reset() {
*x = MaxOptimizationThreads{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MaxOptimizationThreads) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MaxOptimizationThreads) ProtoMessage() {}
func (x *MaxOptimizationThreads) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 MaxOptimizationThreads.ProtoReflect.Descriptor instead.
func (*MaxOptimizationThreads) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{17}
}
func (m *MaxOptimizationThreads) GetVariant() isMaxOptimizationThreads_Variant {
if m != nil {
return m.Variant
}
return nil
}
func (x *MaxOptimizationThreads) GetValue() uint64 {
if x, ok := x.GetVariant().(*MaxOptimizationThreads_Value); ok {
return x.Value
}
return 0
}
func (x *MaxOptimizationThreads) GetSetting() MaxOptimizationThreads_Setting {
if x, ok := x.GetVariant().(*MaxOptimizationThreads_Setting_); ok {
return x.Setting
}
return MaxOptimizationThreads_Auto
}
type isMaxOptimizationThreads_Variant interface {
isMaxOptimizationThreads_Variant()
}
type MaxOptimizationThreads_Value struct {
Value uint64 `protobuf:"varint,1,opt,name=value,proto3,oneof"`
}
type MaxOptimizationThreads_Setting_ struct {
Setting MaxOptimizationThreads_Setting `protobuf:"varint,2,opt,name=setting,proto3,enum=qdrant.MaxOptimizationThreads_Setting,oneof"`
}
func (*MaxOptimizationThreads_Value) isMaxOptimizationThreads_Variant() {}
func (*MaxOptimizationThreads_Setting_) isMaxOptimizationThreads_Variant() {}
type OptimizerStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *OptimizerStatus) Reset() {
*x = OptimizerStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OptimizerStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OptimizerStatus) ProtoMessage() {}
func (x *OptimizerStatus) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 OptimizerStatus.ProtoReflect.Descriptor instead.
func (*OptimizerStatus) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{18}
}
func (x *OptimizerStatus) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *OptimizerStatus) GetError() string {
if x != nil {
return x.Error
}
return ""
}
type CollectionWarning struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
}
func (x *CollectionWarning) Reset() {
*x = CollectionWarning{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionWarning) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionWarning) ProtoMessage() {}
func (x *CollectionWarning) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionWarning.ProtoReflect.Descriptor instead.
func (*CollectionWarning) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{19}
}
func (x *CollectionWarning) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
type HnswConfigDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of edges per node in the index graph.
// Larger the value - more accurate the search, more space required.
M *uint64 `protobuf:"varint,1,opt,name=m,proto3,oneof" json:"m,omitempty"`
// Number of neighbours to consider during the index building.
// Larger the value - more accurate the search, more time required to build the index.
EfConstruct *uint64 `protobuf:"varint,2,opt,name=ef_construct,json=efConstruct,proto3,oneof" json:"ef_construct,omitempty"`
// Minimal size threshold (in KiloBytes) below which full-scan is preferred over HNSW search.
// This measures the total size of vectors being queried against.
// When the maximum estimated amount of points that a condition satisfies is smaller than
// `full_scan_threshold`, the query planner will use full-scan search instead of HNSW index
// traversal for better performance.
// Note: 1Kb = 1 vector of size 256
FullScanThreshold *uint64 `protobuf:"varint,3,opt,name=full_scan_threshold,json=fullScanThreshold,proto3,oneof" json:"full_scan_threshold,omitempty"`
// Number of parallel threads used for background index building.
// If 0 - automatically select from 8 to 16.
// Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW graphs.
// On small CPUs, less threads are used.
MaxIndexingThreads *uint64 `protobuf:"varint,4,opt,name=max_indexing_threads,json=maxIndexingThreads,proto3,oneof" json:"max_indexing_threads,omitempty"`
// Store HNSW index on disk. If set to false, the index will be stored in RAM.
OnDisk *bool `protobuf:"varint,5,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Number of additional payload-aware links per node in the index graph.
// If not set - regular M parameter will be used.
PayloadM *uint64 `protobuf:"varint,6,opt,name=payload_m,json=payloadM,proto3,oneof" json:"payload_m,omitempty"`
// Store copies of original and quantized vectors within the HNSW index file. Default: false.
// Enabling this option will trade the search speed for disk usage by reducing amount of
// random seeks during the search.
// Requires quantized vectors to be enabled. Multi-vectors are not supported.
InlineStorage *bool `protobuf:"varint,7,opt,name=inline_storage,json=inlineStorage,proto3,oneof" json:"inline_storage,omitempty"`
}
func (x *HnswConfigDiff) Reset() {
*x = HnswConfigDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HnswConfigDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HnswConfigDiff) ProtoMessage() {}
func (x *HnswConfigDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 HnswConfigDiff.ProtoReflect.Descriptor instead.
func (*HnswConfigDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{20}
}
func (x *HnswConfigDiff) GetM() uint64 {
if x != nil && x.M != nil {
return *x.M
}
return 0
}
func (x *HnswConfigDiff) GetEfConstruct() uint64 {
if x != nil && x.EfConstruct != nil {
return *x.EfConstruct
}
return 0
}
func (x *HnswConfigDiff) GetFullScanThreshold() uint64 {
if x != nil && x.FullScanThreshold != nil {
return *x.FullScanThreshold
}
return 0
}
func (x *HnswConfigDiff) GetMaxIndexingThreads() uint64 {
if x != nil && x.MaxIndexingThreads != nil {
return *x.MaxIndexingThreads
}
return 0
}
func (x *HnswConfigDiff) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *HnswConfigDiff) GetPayloadM() uint64 {
if x != nil && x.PayloadM != nil {
return *x.PayloadM
}
return 0
}
func (x *HnswConfigDiff) GetInlineStorage() bool {
if x != nil && x.InlineStorage != nil {
return *x.InlineStorage
}
return false
}
type SparseIndexConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Prefer a full scan search upto (excluding) this number of vectors.
// Note: this is number of vectors, not KiloBytes.
FullScanThreshold *uint64 `protobuf:"varint,1,opt,name=full_scan_threshold,json=fullScanThreshold,proto3,oneof" json:"full_scan_threshold,omitempty"`
// Store inverted index on disk. If set to false, the index will be stored in RAM.
OnDisk *bool `protobuf:"varint,2,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Datatype used to store weights in the index.
Datatype *Datatype `protobuf:"varint,3,opt,name=datatype,proto3,enum=qdrant.Datatype,oneof" json:"datatype,omitempty"`
}
func (x *SparseIndexConfig) Reset() {
*x = SparseIndexConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SparseIndexConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SparseIndexConfig) ProtoMessage() {}
func (x *SparseIndexConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 SparseIndexConfig.ProtoReflect.Descriptor instead.
func (*SparseIndexConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{21}
}
func (x *SparseIndexConfig) GetFullScanThreshold() uint64 {
if x != nil && x.FullScanThreshold != nil {
return *x.FullScanThreshold
}
return 0
}
func (x *SparseIndexConfig) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *SparseIndexConfig) GetDatatype() Datatype {
if x != nil && x.Datatype != nil {
return *x.Datatype
}
return Datatype_Default
}
type WalConfigDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Size of a single WAL block file
WalCapacityMb *uint64 `protobuf:"varint,1,opt,name=wal_capacity_mb,json=walCapacityMb,proto3,oneof" json:"wal_capacity_mb,omitempty"`
// Number of segments to create in advance
WalSegmentsAhead *uint64 `protobuf:"varint,2,opt,name=wal_segments_ahead,json=walSegmentsAhead,proto3,oneof" json:"wal_segments_ahead,omitempty"`
// Number of closed segments to retain
WalRetainClosed *uint64 `protobuf:"varint,3,opt,name=wal_retain_closed,json=walRetainClosed,proto3,oneof" json:"wal_retain_closed,omitempty"`
}
func (x *WalConfigDiff) Reset() {
*x = WalConfigDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WalConfigDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WalConfigDiff) ProtoMessage() {}
func (x *WalConfigDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 WalConfigDiff.ProtoReflect.Descriptor instead.
func (*WalConfigDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{22}
}
func (x *WalConfigDiff) GetWalCapacityMb() uint64 {
if x != nil && x.WalCapacityMb != nil {
return *x.WalCapacityMb
}
return 0
}
func (x *WalConfigDiff) GetWalSegmentsAhead() uint64 {
if x != nil && x.WalSegmentsAhead != nil {
return *x.WalSegmentsAhead
}
return 0
}
func (x *WalConfigDiff) GetWalRetainClosed() uint64 {
if x != nil && x.WalRetainClosed != nil {
return *x.WalRetainClosed
}
return 0
}
type OptimizersConfigDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The minimal fraction of deleted vectors in a segment, required to perform
// segment optimization
DeletedThreshold *float64 `protobuf:"fixed64,1,opt,name=deleted_threshold,json=deletedThreshold,proto3,oneof" json:"deleted_threshold,omitempty"`
// The minimal number of vectors in a segment, required to perform segment
// optimization
VacuumMinVectorNumber *uint64 `protobuf:"varint,2,opt,name=vacuum_min_vector_number,json=vacuumMinVectorNumber,proto3,oneof" json:"vacuum_min_vector_number,omitempty"`
// Target amount of segments the optimizer will try to keep.
// Real amount of segments may vary depending on multiple parameters:
//
// - Amount of stored points.
// - Current write RPS.
//
// It is recommended to select the default number of segments as a factor of the number of search threads,
// so that each segment would be handled evenly by one of the threads.
DefaultSegmentNumber *uint64 `protobuf:"varint,3,opt,name=default_segment_number,json=defaultSegmentNumber,proto3,oneof" json:"default_segment_number,omitempty"`
// Deprecated:
//
// Do not create segments larger this size (in kilobytes).
// Large segments might require disproportionately long indexation times,
// therefore it makes sense to limit the size of segments.
//
// If indexing speed is more important - make this parameter lower.
// If search speed is more important - make this parameter higher.
// Note: 1Kb = 1 vector of size 256
// If not set, will be automatically selected considering the number of available CPUs.
MaxSegmentSize *uint64 `protobuf:"varint,4,opt,name=max_segment_size,json=maxSegmentSize,proto3,oneof" json:"max_segment_size,omitempty"`
// Maximum size (in kilobytes) of vectors to store in-memory per segment.
// Segments larger than this threshold will be stored as read-only memmapped file.
//
// Memmap storage is disabled by default, to enable it, set this threshold to a reasonable value.
//
// To disable memmap storage, set this to `0`.
//
// Note: 1Kb = 1 vector of size 256
MemmapThreshold *uint64 `protobuf:"varint,5,opt,name=memmap_threshold,json=memmapThreshold,proto3,oneof" json:"memmap_threshold,omitempty"`
// Maximum size (in kilobytes) of vectors allowed for plain index, exceeding
// this threshold will enable vector indexing
//
// Default value is 20,000, based on
// <https://github.com/google-research/google-research/blob/master/scann/docs/algorithms.md>.
//
// To disable vector indexing, set to `0`.
//
// Note: 1kB = 1 vector of size 256.
IndexingThreshold *uint64 `protobuf:"varint,6,opt,name=indexing_threshold,json=indexingThreshold,proto3,oneof" json:"indexing_threshold,omitempty"`
// Interval between forced flushes.
FlushIntervalSec *uint64 `protobuf:"varint,7,opt,name=flush_interval_sec,json=flushIntervalSec,proto3,oneof" json:"flush_interval_sec,omitempty"`
// Deprecated in favor of `max_optimization_threads`
DeprecatedMaxOptimizationThreads *uint64 `protobuf:"varint,8,opt,name=deprecated_max_optimization_threads,json=deprecatedMaxOptimizationThreads,proto3,oneof" json:"deprecated_max_optimization_threads,omitempty"`
// Max number of threads (jobs) for running optimizations per shard.
// Note: each optimization job will also use `max_indexing_threads` threads by itself for index building.
// If "auto" - have no limit and choose dynamically to saturate CPU.
// If 0 - no optimization threads, optimizations will be disabled.
MaxOptimizationThreads *MaxOptimizationThreads `protobuf:"bytes,9,opt,name=max_optimization_threads,json=maxOptimizationThreads,proto3,oneof" json:"max_optimization_threads,omitempty"`
// If this option is set, service will try to prevent creation of large unoptimized segments.
// When enabled, updates may be blocked at request level if there are unoptimized segments larger than indexing threshold.
// Updates will be resumed when optimization is completed and segments are optimized below the threshold.
// Using this option may lead to increased delay between submitting an update and its application.
// Default is disabled.
PreventUnoptimized *bool `protobuf:"varint,10,opt,name=prevent_unoptimized,json=preventUnoptimized,proto3,oneof" json:"prevent_unoptimized,omitempty"`
}
func (x *OptimizersConfigDiff) Reset() {
*x = OptimizersConfigDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OptimizersConfigDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OptimizersConfigDiff) ProtoMessage() {}
func (x *OptimizersConfigDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 OptimizersConfigDiff.ProtoReflect.Descriptor instead.
func (*OptimizersConfigDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{23}
}
func (x *OptimizersConfigDiff) GetDeletedThreshold() float64 {
if x != nil && x.DeletedThreshold != nil {
return *x.DeletedThreshold
}
return 0
}
func (x *OptimizersConfigDiff) GetVacuumMinVectorNumber() uint64 {
if x != nil && x.VacuumMinVectorNumber != nil {
return *x.VacuumMinVectorNumber
}
return 0
}
func (x *OptimizersConfigDiff) GetDefaultSegmentNumber() uint64 {
if x != nil && x.DefaultSegmentNumber != nil {
return *x.DefaultSegmentNumber
}
return 0
}
func (x *OptimizersConfigDiff) GetMaxSegmentSize() uint64 {
if x != nil && x.MaxSegmentSize != nil {
return *x.MaxSegmentSize
}
return 0
}
func (x *OptimizersConfigDiff) GetMemmapThreshold() uint64 {
if x != nil && x.MemmapThreshold != nil {
return *x.MemmapThreshold
}
return 0
}
func (x *OptimizersConfigDiff) GetIndexingThreshold() uint64 {
if x != nil && x.IndexingThreshold != nil {
return *x.IndexingThreshold
}
return 0
}
func (x *OptimizersConfigDiff) GetFlushIntervalSec() uint64 {
if x != nil && x.FlushIntervalSec != nil {
return *x.FlushIntervalSec
}
return 0
}
func (x *OptimizersConfigDiff) GetDeprecatedMaxOptimizationThreads() uint64 {
if x != nil && x.DeprecatedMaxOptimizationThreads != nil {
return *x.DeprecatedMaxOptimizationThreads
}
return 0
}
func (x *OptimizersConfigDiff) GetMaxOptimizationThreads() *MaxOptimizationThreads {
if x != nil {
return x.MaxOptimizationThreads
}
return nil
}
func (x *OptimizersConfigDiff) GetPreventUnoptimized() bool {
if x != nil && x.PreventUnoptimized != nil {
return *x.PreventUnoptimized
}
return false
}
type ScalarQuantization struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Type of quantization
Type QuantizationType `protobuf:"varint,1,opt,name=type,proto3,enum=qdrant.QuantizationType" json:"type,omitempty"`
// Number of bits to use for quantization
Quantile *float32 `protobuf:"fixed32,2,opt,name=quantile,proto3,oneof" json:"quantile,omitempty"`
// If true - quantized vectors always will be stored in RAM, ignoring the config of main storage
AlwaysRam *bool `protobuf:"varint,3,opt,name=always_ram,json=alwaysRam,proto3,oneof" json:"always_ram,omitempty"`
}
func (x *ScalarQuantization) Reset() {
*x = ScalarQuantization{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScalarQuantization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScalarQuantization) ProtoMessage() {}
func (x *ScalarQuantization) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 ScalarQuantization.ProtoReflect.Descriptor instead.
func (*ScalarQuantization) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{24}
}
func (x *ScalarQuantization) GetType() QuantizationType {
if x != nil {
return x.Type
}
return QuantizationType_UnknownQuantization
}
func (x *ScalarQuantization) GetQuantile() float32 {
if x != nil && x.Quantile != nil {
return *x.Quantile
}
return 0
}
func (x *ScalarQuantization) GetAlwaysRam() bool {
if x != nil && x.AlwaysRam != nil {
return *x.AlwaysRam
}
return false
}
type ProductQuantization struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Compression ratio
Compression CompressionRatio `protobuf:"varint,1,opt,name=compression,proto3,enum=qdrant.CompressionRatio" json:"compression,omitempty"`
// If true - quantized vectors always will be stored in RAM, ignoring the config of main storage
AlwaysRam *bool `protobuf:"varint,2,opt,name=always_ram,json=alwaysRam,proto3,oneof" json:"always_ram,omitempty"`
}
func (x *ProductQuantization) Reset() {
*x = ProductQuantization{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductQuantization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductQuantization) ProtoMessage() {}
func (x *ProductQuantization) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 ProductQuantization.ProtoReflect.Descriptor instead.
func (*ProductQuantization) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{25}
}
func (x *ProductQuantization) GetCompression() CompressionRatio {
if x != nil {
return x.Compression
}
return CompressionRatio_x4
}
func (x *ProductQuantization) GetAlwaysRam() bool {
if x != nil && x.AlwaysRam != nil {
return *x.AlwaysRam
}
return false
}
type BinaryQuantizationQueryEncoding struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Variant:
//
// *BinaryQuantizationQueryEncoding_Setting_
Variant isBinaryQuantizationQueryEncoding_Variant `protobuf_oneof:"variant"`
}
func (x *BinaryQuantizationQueryEncoding) Reset() {
*x = BinaryQuantizationQueryEncoding{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BinaryQuantizationQueryEncoding) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BinaryQuantizationQueryEncoding) ProtoMessage() {}
func (x *BinaryQuantizationQueryEncoding) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 BinaryQuantizationQueryEncoding.ProtoReflect.Descriptor instead.
func (*BinaryQuantizationQueryEncoding) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{26}
}
func (m *BinaryQuantizationQueryEncoding) GetVariant() isBinaryQuantizationQueryEncoding_Variant {
if m != nil {
return m.Variant
}
return nil
}
func (x *BinaryQuantizationQueryEncoding) GetSetting() BinaryQuantizationQueryEncoding_Setting {
if x, ok := x.GetVariant().(*BinaryQuantizationQueryEncoding_Setting_); ok {
return x.Setting
}
return BinaryQuantizationQueryEncoding_Default
}
type isBinaryQuantizationQueryEncoding_Variant interface {
isBinaryQuantizationQueryEncoding_Variant()
}
type BinaryQuantizationQueryEncoding_Setting_ struct {
Setting BinaryQuantizationQueryEncoding_Setting `protobuf:"varint,4,opt,name=setting,proto3,enum=qdrant.BinaryQuantizationQueryEncoding_Setting,oneof"`
}
func (*BinaryQuantizationQueryEncoding_Setting_) isBinaryQuantizationQueryEncoding_Variant() {}
type BinaryQuantization struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - quantized vectors always will be stored in RAM, ignoring the config of main storage
AlwaysRam *bool `protobuf:"varint,1,opt,name=always_ram,json=alwaysRam,proto3,oneof" json:"always_ram,omitempty"`
// Binary quantization encoding method
Encoding *BinaryQuantizationEncoding `protobuf:"varint,2,opt,name=encoding,proto3,enum=qdrant.BinaryQuantizationEncoding,oneof" json:"encoding,omitempty"`
// Asymmetric quantization configuration allows a query to have different
// quantization than stored vectors.
// It can increase the accuracy of search at the cost of performance.
QueryEncoding *BinaryQuantizationQueryEncoding `protobuf:"bytes,3,opt,name=query_encoding,json=queryEncoding,proto3,oneof" json:"query_encoding,omitempty"`
}
func (x *BinaryQuantization) Reset() {
*x = BinaryQuantization{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BinaryQuantization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BinaryQuantization) ProtoMessage() {}
func (x *BinaryQuantization) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 BinaryQuantization.ProtoReflect.Descriptor instead.
func (*BinaryQuantization) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{27}
}
func (x *BinaryQuantization) GetAlwaysRam() bool {
if x != nil && x.AlwaysRam != nil {
return *x.AlwaysRam
}
return false
}
func (x *BinaryQuantization) GetEncoding() BinaryQuantizationEncoding {
if x != nil && x.Encoding != nil {
return *x.Encoding
}
return BinaryQuantizationEncoding_OneBit
}
func (x *BinaryQuantization) GetQueryEncoding() *BinaryQuantizationQueryEncoding {
if x != nil {
return x.QueryEncoding
}
return nil
}
type TurboQuantization struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AlwaysRam *bool `protobuf:"varint,1,opt,name=always_ram,json=alwaysRam,proto3,oneof" json:"always_ram,omitempty"`
Bits *TurboQuantBitSize `protobuf:"varint,2,opt,name=bits,proto3,enum=qdrant.TurboQuantBitSize,oneof" json:"bits,omitempty"`
}
func (x *TurboQuantization) Reset() {
*x = TurboQuantization{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TurboQuantization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TurboQuantization) ProtoMessage() {}
func (x *TurboQuantization) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 TurboQuantization.ProtoReflect.Descriptor instead.
func (*TurboQuantization) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{28}
}
func (x *TurboQuantization) GetAlwaysRam() bool {
if x != nil && x.AlwaysRam != nil {
return *x.AlwaysRam
}
return false
}
func (x *TurboQuantization) GetBits() TurboQuantBitSize {
if x != nil && x.Bits != nil {
return *x.Bits
}
return TurboQuantBitSize_Bits1
}
type QuantizationConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Quantization:
//
// *QuantizationConfig_Scalar
// *QuantizationConfig_Product
// *QuantizationConfig_Binary
// *QuantizationConfig_Turboquant
Quantization isQuantizationConfig_Quantization `protobuf_oneof:"quantization"`
}
func (x *QuantizationConfig) Reset() {
*x = QuantizationConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuantizationConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuantizationConfig) ProtoMessage() {}
func (x *QuantizationConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 QuantizationConfig.ProtoReflect.Descriptor instead.
func (*QuantizationConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{29}
}
func (m *QuantizationConfig) GetQuantization() isQuantizationConfig_Quantization {
if m != nil {
return m.Quantization
}
return nil
}
func (x *QuantizationConfig) GetScalar() *ScalarQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfig_Scalar); ok {
return x.Scalar
}
return nil
}
func (x *QuantizationConfig) GetProduct() *ProductQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfig_Product); ok {
return x.Product
}
return nil
}
func (x *QuantizationConfig) GetBinary() *BinaryQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfig_Binary); ok {
return x.Binary
}
return nil
}
func (x *QuantizationConfig) GetTurboquant() *TurboQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfig_Turboquant); ok {
return x.Turboquant
}
return nil
}
type isQuantizationConfig_Quantization interface {
isQuantizationConfig_Quantization()
}
type QuantizationConfig_Scalar struct {
Scalar *ScalarQuantization `protobuf:"bytes,1,opt,name=scalar,proto3,oneof"`
}
type QuantizationConfig_Product struct {
Product *ProductQuantization `protobuf:"bytes,2,opt,name=product,proto3,oneof"`
}
type QuantizationConfig_Binary struct {
Binary *BinaryQuantization `protobuf:"bytes,3,opt,name=binary,proto3,oneof"`
}
type QuantizationConfig_Turboquant struct {
Turboquant *TurboQuantization `protobuf:"bytes,4,opt,name=turboquant,proto3,oneof"`
}
func (*QuantizationConfig_Scalar) isQuantizationConfig_Quantization() {}
func (*QuantizationConfig_Product) isQuantizationConfig_Quantization() {}
func (*QuantizationConfig_Binary) isQuantizationConfig_Quantization() {}
func (*QuantizationConfig_Turboquant) isQuantizationConfig_Quantization() {}
type Disabled struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Disabled) Reset() {
*x = Disabled{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Disabled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Disabled) ProtoMessage() {}
func (x *Disabled) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 Disabled.ProtoReflect.Descriptor instead.
func (*Disabled) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{30}
}
type QuantizationConfigDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Quantization:
//
// *QuantizationConfigDiff_Scalar
// *QuantizationConfigDiff_Product
// *QuantizationConfigDiff_Disabled
// *QuantizationConfigDiff_Binary
// *QuantizationConfigDiff_Turboquant
Quantization isQuantizationConfigDiff_Quantization `protobuf_oneof:"quantization"`
}
func (x *QuantizationConfigDiff) Reset() {
*x = QuantizationConfigDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuantizationConfigDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuantizationConfigDiff) ProtoMessage() {}
func (x *QuantizationConfigDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 QuantizationConfigDiff.ProtoReflect.Descriptor instead.
func (*QuantizationConfigDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{31}
}
func (m *QuantizationConfigDiff) GetQuantization() isQuantizationConfigDiff_Quantization {
if m != nil {
return m.Quantization
}
return nil
}
func (x *QuantizationConfigDiff) GetScalar() *ScalarQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfigDiff_Scalar); ok {
return x.Scalar
}
return nil
}
func (x *QuantizationConfigDiff) GetProduct() *ProductQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfigDiff_Product); ok {
return x.Product
}
return nil
}
func (x *QuantizationConfigDiff) GetDisabled() *Disabled {
if x, ok := x.GetQuantization().(*QuantizationConfigDiff_Disabled); ok {
return x.Disabled
}
return nil
}
func (x *QuantizationConfigDiff) GetBinary() *BinaryQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfigDiff_Binary); ok {
return x.Binary
}
return nil
}
func (x *QuantizationConfigDiff) GetTurboquant() *TurboQuantization {
if x, ok := x.GetQuantization().(*QuantizationConfigDiff_Turboquant); ok {
return x.Turboquant
}
return nil
}
type isQuantizationConfigDiff_Quantization interface {
isQuantizationConfigDiff_Quantization()
}
type QuantizationConfigDiff_Scalar struct {
Scalar *ScalarQuantization `protobuf:"bytes,1,opt,name=scalar,proto3,oneof"`
}
type QuantizationConfigDiff_Product struct {
Product *ProductQuantization `protobuf:"bytes,2,opt,name=product,proto3,oneof"`
}
type QuantizationConfigDiff_Disabled struct {
Disabled *Disabled `protobuf:"bytes,3,opt,name=disabled,proto3,oneof"`
}
type QuantizationConfigDiff_Binary struct {
Binary *BinaryQuantization `protobuf:"bytes,4,opt,name=binary,proto3,oneof"`
}
type QuantizationConfigDiff_Turboquant struct {
Turboquant *TurboQuantization `protobuf:"bytes,5,opt,name=turboquant,proto3,oneof"`
}
func (*QuantizationConfigDiff_Scalar) isQuantizationConfigDiff_Quantization() {}
func (*QuantizationConfigDiff_Product) isQuantizationConfigDiff_Quantization() {}
func (*QuantizationConfigDiff_Disabled) isQuantizationConfigDiff_Quantization() {}
func (*QuantizationConfigDiff_Binary) isQuantizationConfigDiff_Quantization() {}
func (*QuantizationConfigDiff_Turboquant) isQuantizationConfigDiff_Quantization() {}
type StrictModeConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Whether strict mode is enabled for a collection or not.
Enabled *bool `protobuf:"varint,1,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"`
// Max allowed `limit` parameter for all APIs that don't have their own max limit.
MaxQueryLimit *uint32 `protobuf:"varint,2,opt,name=max_query_limit,json=maxQueryLimit,proto3,oneof" json:"max_query_limit,omitempty"`
// Max allowed `timeout` parameter.
MaxTimeout *uint32 `protobuf:"varint,3,opt,name=max_timeout,json=maxTimeout,proto3,oneof" json:"max_timeout,omitempty"`
// Allow usage of unindexed fields in retrieval based (e.g. search) filters.
UnindexedFilteringRetrieve *bool `protobuf:"varint,4,opt,name=unindexed_filtering_retrieve,json=unindexedFilteringRetrieve,proto3,oneof" json:"unindexed_filtering_retrieve,omitempty"`
// Allow usage of unindexed fields in filtered updates (e.g. delete by payload).
UnindexedFilteringUpdate *bool `protobuf:"varint,5,opt,name=unindexed_filtering_update,json=unindexedFilteringUpdate,proto3,oneof" json:"unindexed_filtering_update,omitempty"`
// Max HNSW ef value allowed in search parameters.
SearchMaxHnswEf *uint32 `protobuf:"varint,6,opt,name=search_max_hnsw_ef,json=searchMaxHnswEf,proto3,oneof" json:"search_max_hnsw_ef,omitempty"`
// Whether exact search is allowed.
SearchAllowExact *bool `protobuf:"varint,7,opt,name=search_allow_exact,json=searchAllowExact,proto3,oneof" json:"search_allow_exact,omitempty"`
// Max oversampling value allowed in search
SearchMaxOversampling *float32 `protobuf:"fixed32,8,opt,name=search_max_oversampling,json=searchMaxOversampling,proto3,oneof" json:"search_max_oversampling,omitempty"`
// Max batchsize when upserting
UpsertMaxBatchsize *uint64 `protobuf:"varint,9,opt,name=upsert_max_batchsize,json=upsertMaxBatchsize,proto3,oneof" json:"upsert_max_batchsize,omitempty"`
// Max batchsize when searching
SearchMaxBatchsize *uint64 `protobuf:"varint,20,opt,name=search_max_batchsize,json=searchMaxBatchsize,proto3,oneof" json:"search_max_batchsize,omitempty"`
// Max size of a collections vector storage in bytes, ignoring replicas.
MaxCollectionVectorSizeBytes *uint64 `protobuf:"varint,10,opt,name=max_collection_vector_size_bytes,json=maxCollectionVectorSizeBytes,proto3,oneof" json:"max_collection_vector_size_bytes,omitempty"`
// Max number of read operations per minute per replica
ReadRateLimit *uint32 `protobuf:"varint,11,opt,name=read_rate_limit,json=readRateLimit,proto3,oneof" json:"read_rate_limit,omitempty"`
// Max number of write operations per minute per replica
WriteRateLimit *uint32 `protobuf:"varint,12,opt,name=write_rate_limit,json=writeRateLimit,proto3,oneof" json:"write_rate_limit,omitempty"`
// Max size of a collections payload storage in bytes, ignoring replicas.
MaxCollectionPayloadSizeBytes *uint64 `protobuf:"varint,13,opt,name=max_collection_payload_size_bytes,json=maxCollectionPayloadSizeBytes,proto3,oneof" json:"max_collection_payload_size_bytes,omitempty"`
// Max conditions a filter can have.
FilterMaxConditions *uint64 `protobuf:"varint,14,opt,name=filter_max_conditions,json=filterMaxConditions,proto3,oneof" json:"filter_max_conditions,omitempty"`
// Max size of a condition, eg. items in `MatchAny`.
ConditionMaxSize *uint64 `protobuf:"varint,15,opt,name=condition_max_size,json=conditionMaxSize,proto3,oneof" json:"condition_max_size,omitempty"`
// Multivector strict mode configuration
MultivectorConfig *StrictModeMultivectorConfig `protobuf:"bytes,16,opt,name=multivector_config,json=multivectorConfig,proto3,oneof" json:"multivector_config,omitempty"`
// Sparse vector strict mode configuration
SparseConfig *StrictModeSparseConfig `protobuf:"bytes,17,opt,name=sparse_config,json=sparseConfig,proto3,oneof" json:"sparse_config,omitempty"`
// Max number of points estimated in a collection
MaxPointsCount *uint64 `protobuf:"varint,18,opt,name=max_points_count,json=maxPointsCount,proto3,oneof" json:"max_points_count,omitempty"`
// Max number of payload indexes in a collection
MaxPayloadIndexCount *uint64 `protobuf:"varint,19,opt,name=max_payload_index_count,json=maxPayloadIndexCount,proto3,oneof" json:"max_payload_index_count,omitempty"`
// Reject memory-consuming update operations when process resident memory exceeds this percentage of total RAM (cgroup-aware, 1-100).
// Delete-style operations are still allowed so memory can be freed.
MaxResidentMemoryPercent *uint32 `protobuf:"varint,21,opt,name=max_resident_memory_percent,json=maxResidentMemoryPercent,proto3,oneof" json:"max_resident_memory_percent,omitempty"`
}
func (x *StrictModeConfig) Reset() {
*x = StrictModeConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StrictModeConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StrictModeConfig) ProtoMessage() {}
func (x *StrictModeConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 StrictModeConfig.ProtoReflect.Descriptor instead.
func (*StrictModeConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{32}
}
func (x *StrictModeConfig) GetEnabled() bool {
if x != nil && x.Enabled != nil {
return *x.Enabled
}
return false
}
func (x *StrictModeConfig) GetMaxQueryLimit() uint32 {
if x != nil && x.MaxQueryLimit != nil {
return *x.MaxQueryLimit
}
return 0
}
func (x *StrictModeConfig) GetMaxTimeout() uint32 {
if x != nil && x.MaxTimeout != nil {
return *x.MaxTimeout
}
return 0
}
func (x *StrictModeConfig) GetUnindexedFilteringRetrieve() bool {
if x != nil && x.UnindexedFilteringRetrieve != nil {
return *x.UnindexedFilteringRetrieve
}
return false
}
func (x *StrictModeConfig) GetUnindexedFilteringUpdate() bool {
if x != nil && x.UnindexedFilteringUpdate != nil {
return *x.UnindexedFilteringUpdate
}
return false
}
func (x *StrictModeConfig) GetSearchMaxHnswEf() uint32 {
if x != nil && x.SearchMaxHnswEf != nil {
return *x.SearchMaxHnswEf
}
return 0
}
func (x *StrictModeConfig) GetSearchAllowExact() bool {
if x != nil && x.SearchAllowExact != nil {
return *x.SearchAllowExact
}
return false
}
func (x *StrictModeConfig) GetSearchMaxOversampling() float32 {
if x != nil && x.SearchMaxOversampling != nil {
return *x.SearchMaxOversampling
}
return 0
}
func (x *StrictModeConfig) GetUpsertMaxBatchsize() uint64 {
if x != nil && x.UpsertMaxBatchsize != nil {
return *x.UpsertMaxBatchsize
}
return 0
}
func (x *StrictModeConfig) GetSearchMaxBatchsize() uint64 {
if x != nil && x.SearchMaxBatchsize != nil {
return *x.SearchMaxBatchsize
}
return 0
}
func (x *StrictModeConfig) GetMaxCollectionVectorSizeBytes() uint64 {
if x != nil && x.MaxCollectionVectorSizeBytes != nil {
return *x.MaxCollectionVectorSizeBytes
}
return 0
}
func (x *StrictModeConfig) GetReadRateLimit() uint32 {
if x != nil && x.ReadRateLimit != nil {
return *x.ReadRateLimit
}
return 0
}
func (x *StrictModeConfig) GetWriteRateLimit() uint32 {
if x != nil && x.WriteRateLimit != nil {
return *x.WriteRateLimit
}
return 0
}
func (x *StrictModeConfig) GetMaxCollectionPayloadSizeBytes() uint64 {
if x != nil && x.MaxCollectionPayloadSizeBytes != nil {
return *x.MaxCollectionPayloadSizeBytes
}
return 0
}
func (x *StrictModeConfig) GetFilterMaxConditions() uint64 {
if x != nil && x.FilterMaxConditions != nil {
return *x.FilterMaxConditions
}
return 0
}
func (x *StrictModeConfig) GetConditionMaxSize() uint64 {
if x != nil && x.ConditionMaxSize != nil {
return *x.ConditionMaxSize
}
return 0
}
func (x *StrictModeConfig) GetMultivectorConfig() *StrictModeMultivectorConfig {
if x != nil {
return x.MultivectorConfig
}
return nil
}
func (x *StrictModeConfig) GetSparseConfig() *StrictModeSparseConfig {
if x != nil {
return x.SparseConfig
}
return nil
}
func (x *StrictModeConfig) GetMaxPointsCount() uint64 {
if x != nil && x.MaxPointsCount != nil {
return *x.MaxPointsCount
}
return 0
}
func (x *StrictModeConfig) GetMaxPayloadIndexCount() uint64 {
if x != nil && x.MaxPayloadIndexCount != nil {
return *x.MaxPayloadIndexCount
}
return 0
}
func (x *StrictModeConfig) GetMaxResidentMemoryPercent() uint32 {
if x != nil && x.MaxResidentMemoryPercent != nil {
return *x.MaxResidentMemoryPercent
}
return 0
}
type StrictModeSparseConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SparseConfig map[string]*StrictModeSparse `protobuf:"bytes,1,rep,name=sparse_config,json=sparseConfig,proto3" json:"sparse_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *StrictModeSparseConfig) Reset() {
*x = StrictModeSparseConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StrictModeSparseConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StrictModeSparseConfig) ProtoMessage() {}
func (x *StrictModeSparseConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 StrictModeSparseConfig.ProtoReflect.Descriptor instead.
func (*StrictModeSparseConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{33}
}
func (x *StrictModeSparseConfig) GetSparseConfig() map[string]*StrictModeSparse {
if x != nil {
return x.SparseConfig
}
return nil
}
type StrictModeSparse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Max length of sparse vector
MaxLength *uint64 `protobuf:"varint,10,opt,name=max_length,json=maxLength,proto3,oneof" json:"max_length,omitempty"`
}
func (x *StrictModeSparse) Reset() {
*x = StrictModeSparse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StrictModeSparse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StrictModeSparse) ProtoMessage() {}
func (x *StrictModeSparse) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 StrictModeSparse.ProtoReflect.Descriptor instead.
func (*StrictModeSparse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{34}
}
func (x *StrictModeSparse) GetMaxLength() uint64 {
if x != nil && x.MaxLength != nil {
return *x.MaxLength
}
return 0
}
type StrictModeMultivectorConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MultivectorConfig map[string]*StrictModeMultivector `protobuf:"bytes,1,rep,name=multivector_config,json=multivectorConfig,proto3" json:"multivector_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *StrictModeMultivectorConfig) Reset() {
*x = StrictModeMultivectorConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StrictModeMultivectorConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StrictModeMultivectorConfig) ProtoMessage() {}
func (x *StrictModeMultivectorConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 StrictModeMultivectorConfig.ProtoReflect.Descriptor instead.
func (*StrictModeMultivectorConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{35}
}
func (x *StrictModeMultivectorConfig) GetMultivectorConfig() map[string]*StrictModeMultivector {
if x != nil {
return x.MultivectorConfig
}
return nil
}
type StrictModeMultivector struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Max number of vectors in a multivector
MaxVectors *uint64 `protobuf:"varint,1,opt,name=max_vectors,json=maxVectors,proto3,oneof" json:"max_vectors,omitempty"`
}
func (x *StrictModeMultivector) Reset() {
*x = StrictModeMultivector{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StrictModeMultivector) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StrictModeMultivector) ProtoMessage() {}
func (x *StrictModeMultivector) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 StrictModeMultivector.ProtoReflect.Descriptor instead.
func (*StrictModeMultivector) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{36}
}
func (x *StrictModeMultivector) GetMaxVectors() uint64 {
if x != nil && x.MaxVectors != nil {
return *x.MaxVectors
}
return 0
}
type CreateCollection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// Configuration of vector index
HnswConfig *HnswConfigDiff `protobuf:"bytes,4,opt,name=hnsw_config,json=hnswConfig,proto3,oneof" json:"hnsw_config,omitempty"`
// Configuration of the Write-Ahead-Log
WalConfig *WalConfigDiff `protobuf:"bytes,5,opt,name=wal_config,json=walConfig,proto3,oneof" json:"wal_config,omitempty"`
// Configuration of the optimizers
OptimizersConfig *OptimizersConfigDiff `protobuf:"bytes,6,opt,name=optimizers_config,json=optimizersConfig,proto3,oneof" json:"optimizers_config,omitempty"`
// Number of shards in the collection, default is 1 for standalone, otherwise
// equal to the number of nodes. Minimum is 1
ShardNumber *uint32 `protobuf:"varint,7,opt,name=shard_number,json=shardNumber,proto3,oneof" json:"shard_number,omitempty"`
// If true - point's payload will not be stored in memory
OnDiskPayload *bool `protobuf:"varint,8,opt,name=on_disk_payload,json=onDiskPayload,proto3,oneof" json:"on_disk_payload,omitempty"`
// Wait timeout for operation commit in seconds, if not specified - default
// value will be supplied
Timeout *uint64 `protobuf:"varint,9,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
// Configuration for vectors
VectorsConfig *VectorsConfig `protobuf:"bytes,10,opt,name=vectors_config,json=vectorsConfig,proto3,oneof" json:"vectors_config,omitempty"`
// Number of replicas of each shard that network tries to maintain, default = 1
ReplicationFactor *uint32 `protobuf:"varint,11,opt,name=replication_factor,json=replicationFactor,proto3,oneof" json:"replication_factor,omitempty"`
// How many replicas should apply the operation for us to consider it successful, default = 1
WriteConsistencyFactor *uint32 `protobuf:"varint,12,opt,name=write_consistency_factor,json=writeConsistencyFactor,proto3,oneof" json:"write_consistency_factor,omitempty"`
// Quantization configuration of vector
QuantizationConfig *QuantizationConfig `protobuf:"bytes,14,opt,name=quantization_config,json=quantizationConfig,proto3,oneof" json:"quantization_config,omitempty"`
// Sharding method
ShardingMethod *ShardingMethod `protobuf:"varint,15,opt,name=sharding_method,json=shardingMethod,proto3,enum=qdrant.ShardingMethod,oneof" json:"sharding_method,omitempty"`
// Configuration for sparse vectors
SparseVectorsConfig *SparseVectorConfig `protobuf:"bytes,16,opt,name=sparse_vectors_config,json=sparseVectorsConfig,proto3,oneof" json:"sparse_vectors_config,omitempty"`
// Configuration for strict mode
StrictModeConfig *StrictModeConfig `protobuf:"bytes,17,opt,name=strict_mode_config,json=strictModeConfig,proto3,oneof" json:"strict_mode_config,omitempty"`
// Arbitrary JSON metadata for the collection
Metadata map[string]*Value `protobuf:"bytes,18,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *CreateCollection) Reset() {
*x = CreateCollection{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateCollection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateCollection) ProtoMessage() {}
func (x *CreateCollection) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CreateCollection.ProtoReflect.Descriptor instead.
func (*CreateCollection) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{37}
}
func (x *CreateCollection) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (x *CreateCollection) GetHnswConfig() *HnswConfigDiff {
if x != nil {
return x.HnswConfig
}
return nil
}
func (x *CreateCollection) GetWalConfig() *WalConfigDiff {
if x != nil {
return x.WalConfig
}
return nil
}
func (x *CreateCollection) GetOptimizersConfig() *OptimizersConfigDiff {
if x != nil {
return x.OptimizersConfig
}
return nil
}
func (x *CreateCollection) GetShardNumber() uint32 {
if x != nil && x.ShardNumber != nil {
return *x.ShardNumber
}
return 0
}
func (x *CreateCollection) GetOnDiskPayload() bool {
if x != nil && x.OnDiskPayload != nil {
return *x.OnDiskPayload
}
return false
}
func (x *CreateCollection) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
func (x *CreateCollection) GetVectorsConfig() *VectorsConfig {
if x != nil {
return x.VectorsConfig
}
return nil
}
func (x *CreateCollection) GetReplicationFactor() uint32 {
if x != nil && x.ReplicationFactor != nil {
return *x.ReplicationFactor
}
return 0
}
func (x *CreateCollection) GetWriteConsistencyFactor() uint32 {
if x != nil && x.WriteConsistencyFactor != nil {
return *x.WriteConsistencyFactor
}
return 0
}
func (x *CreateCollection) GetQuantizationConfig() *QuantizationConfig {
if x != nil {
return x.QuantizationConfig
}
return nil
}
func (x *CreateCollection) GetShardingMethod() ShardingMethod {
if x != nil && x.ShardingMethod != nil {
return *x.ShardingMethod
}
return ShardingMethod_Auto
}
func (x *CreateCollection) GetSparseVectorsConfig() *SparseVectorConfig {
if x != nil {
return x.SparseVectorsConfig
}
return nil
}
func (x *CreateCollection) GetStrictModeConfig() *StrictModeConfig {
if x != nil {
return x.StrictModeConfig
}
return nil
}
func (x *CreateCollection) GetMetadata() map[string]*Value {
if x != nil {
return x.Metadata
}
return nil
}
type UpdateCollection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// New configuration parameters for the collection.
// This operation is blocking, it will only proceed once all current
// optimizations are complete
OptimizersConfig *OptimizersConfigDiff `protobuf:"bytes,2,opt,name=optimizers_config,json=optimizersConfig,proto3,oneof" json:"optimizers_config,omitempty"`
// Wait timeout for operation commit in seconds if blocking.
// If not specified - default value will be supplied.
Timeout *uint64 `protobuf:"varint,3,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
// New configuration parameters for the collection
Params *CollectionParamsDiff `protobuf:"bytes,4,opt,name=params,proto3,oneof" json:"params,omitempty"`
// New HNSW parameters for the collection index
HnswConfig *HnswConfigDiff `protobuf:"bytes,5,opt,name=hnsw_config,json=hnswConfig,proto3,oneof" json:"hnsw_config,omitempty"`
// New vector parameters
VectorsConfig *VectorsConfigDiff `protobuf:"bytes,6,opt,name=vectors_config,json=vectorsConfig,proto3,oneof" json:"vectors_config,omitempty"`
// Quantization configuration of vector
QuantizationConfig *QuantizationConfigDiff `protobuf:"bytes,7,opt,name=quantization_config,json=quantizationConfig,proto3,oneof" json:"quantization_config,omitempty"`
// New sparse vector parameters
SparseVectorsConfig *SparseVectorConfig `protobuf:"bytes,8,opt,name=sparse_vectors_config,json=sparseVectorsConfig,proto3,oneof" json:"sparse_vectors_config,omitempty"`
// New strict mode configuration
StrictModeConfig *StrictModeConfig `protobuf:"bytes,9,opt,name=strict_mode_config,json=strictModeConfig,proto3,oneof" json:"strict_mode_config,omitempty"`
// Arbitrary JSON-like metadata for the collection, will be merged with
// already stored metadata
Metadata map[string]*Value `protobuf:"bytes,10,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *UpdateCollection) Reset() {
*x = UpdateCollection{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCollection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCollection) ProtoMessage() {}
func (x *UpdateCollection) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 UpdateCollection.ProtoReflect.Descriptor instead.
func (*UpdateCollection) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{38}
}
func (x *UpdateCollection) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (x *UpdateCollection) GetOptimizersConfig() *OptimizersConfigDiff {
if x != nil {
return x.OptimizersConfig
}
return nil
}
func (x *UpdateCollection) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
func (x *UpdateCollection) GetParams() *CollectionParamsDiff {
if x != nil {
return x.Params
}
return nil
}
func (x *UpdateCollection) GetHnswConfig() *HnswConfigDiff {
if x != nil {
return x.HnswConfig
}
return nil
}
func (x *UpdateCollection) GetVectorsConfig() *VectorsConfigDiff {
if x != nil {
return x.VectorsConfig
}
return nil
}
func (x *UpdateCollection) GetQuantizationConfig() *QuantizationConfigDiff {
if x != nil {
return x.QuantizationConfig
}
return nil
}
func (x *UpdateCollection) GetSparseVectorsConfig() *SparseVectorConfig {
if x != nil {
return x.SparseVectorsConfig
}
return nil
}
func (x *UpdateCollection) GetStrictModeConfig() *StrictModeConfig {
if x != nil {
return x.StrictModeConfig
}
return nil
}
func (x *UpdateCollection) GetMetadata() map[string]*Value {
if x != nil {
return x.Metadata
}
return nil
}
type DeleteCollection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// Wait timeout for operation commit in seconds.
// If not specified - default value will be supplied.
Timeout *uint64 `protobuf:"varint,2,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}
func (x *DeleteCollection) Reset() {
*x = DeleteCollection{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteCollection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteCollection) ProtoMessage() {}
func (x *DeleteCollection) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 DeleteCollection.ProtoReflect.Descriptor instead.
func (*DeleteCollection) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{39}
}
func (x *DeleteCollection) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (x *DeleteCollection) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
type CollectionOperationResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// if operation made changes
Result bool `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
// Time spent to process
Time float64 `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *CollectionOperationResponse) Reset() {
*x = CollectionOperationResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionOperationResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionOperationResponse) ProtoMessage() {}
func (x *CollectionOperationResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionOperationResponse.ProtoReflect.Descriptor instead.
func (*CollectionOperationResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{40}
}
func (x *CollectionOperationResponse) GetResult() bool {
if x != nil {
return x.Result
}
return false
}
func (x *CollectionOperationResponse) GetTime() float64 {
if x != nil {
return x.Time
}
return 0
}
type CollectionParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of shards in collection
ShardNumber uint32 `protobuf:"varint,3,opt,name=shard_number,json=shardNumber,proto3" json:"shard_number,omitempty"`
// If true - point's payload will not be stored in memory
OnDiskPayload bool `protobuf:"varint,4,opt,name=on_disk_payload,json=onDiskPayload,proto3" json:"on_disk_payload,omitempty"`
// Configuration for vectors
VectorsConfig *VectorsConfig `protobuf:"bytes,5,opt,name=vectors_config,json=vectorsConfig,proto3,oneof" json:"vectors_config,omitempty"`
// Number of replicas of each shard that network tries to maintain
ReplicationFactor *uint32 `protobuf:"varint,6,opt,name=replication_factor,json=replicationFactor,proto3,oneof" json:"replication_factor,omitempty"`
// How many replicas should apply the operation for us to consider it successful
WriteConsistencyFactor *uint32 `protobuf:"varint,7,opt,name=write_consistency_factor,json=writeConsistencyFactor,proto3,oneof" json:"write_consistency_factor,omitempty"`
// Fan-out every read request to these many additional remote nodes (and return first available response)
ReadFanOutFactor *uint32 `protobuf:"varint,8,opt,name=read_fan_out_factor,json=readFanOutFactor,proto3,oneof" json:"read_fan_out_factor,omitempty"`
// Sharding method
ShardingMethod *ShardingMethod `protobuf:"varint,9,opt,name=sharding_method,json=shardingMethod,proto3,enum=qdrant.ShardingMethod,oneof" json:"sharding_method,omitempty"`
// Configuration for sparse vectors
SparseVectorsConfig *SparseVectorConfig `protobuf:"bytes,10,opt,name=sparse_vectors_config,json=sparseVectorsConfig,proto3,oneof" json:"sparse_vectors_config,omitempty"`
// Define number of milliseconds to wait before attempting to read from another replica.
ReadFanOutDelayMs *uint64 `protobuf:"varint,11,opt,name=read_fan_out_delay_ms,json=readFanOutDelayMs,proto3,oneof" json:"read_fan_out_delay_ms,omitempty"`
}
func (x *CollectionParams) Reset() {
*x = CollectionParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionParams) ProtoMessage() {}
func (x *CollectionParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_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 CollectionParams.ProtoReflect.Descriptor instead.
func (*CollectionParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{41}
}
func (x *CollectionParams) GetShardNumber() uint32 {
if x != nil {
return x.ShardNumber
}
return 0
}
func (x *CollectionParams) GetOnDiskPayload() bool {
if x != nil {
return x.OnDiskPayload
}
return false
}
func (x *CollectionParams) GetVectorsConfig() *VectorsConfig {
if x != nil {
return x.VectorsConfig
}
return nil
}
func (x *CollectionParams) GetReplicationFactor() uint32 {
if x != nil && x.ReplicationFactor != nil {
return *x.ReplicationFactor
}
return 0
}
func (x *CollectionParams) GetWriteConsistencyFactor() uint32 {
if x != nil && x.WriteConsistencyFactor != nil {
return *x.WriteConsistencyFactor
}
return 0
}
func (x *CollectionParams) GetReadFanOutFactor() uint32 {
if x != nil && x.ReadFanOutFactor != nil {
return *x.ReadFanOutFactor
}
return 0
}
func (x *CollectionParams) GetShardingMethod() ShardingMethod {
if x != nil && x.ShardingMethod != nil {
return *x.ShardingMethod
}
return ShardingMethod_Auto
}
func (x *CollectionParams) GetSparseVectorsConfig() *SparseVectorConfig {
if x != nil {
return x.SparseVectorsConfig
}
return nil
}
func (x *CollectionParams) GetReadFanOutDelayMs() uint64 {
if x != nil && x.ReadFanOutDelayMs != nil {
return *x.ReadFanOutDelayMs
}
return 0
}
type CollectionParamsDiff struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of replicas of each shard that network tries to maintain
ReplicationFactor *uint32 `protobuf:"varint,1,opt,name=replication_factor,json=replicationFactor,proto3,oneof" json:"replication_factor,omitempty"`
// How many replicas should apply the operation for us to consider it successful
WriteConsistencyFactor *uint32 `protobuf:"varint,2,opt,name=write_consistency_factor,json=writeConsistencyFactor,proto3,oneof" json:"write_consistency_factor,omitempty"`
// If true - point's payload will not be stored in memory
OnDiskPayload *bool `protobuf:"varint,3,opt,name=on_disk_payload,json=onDiskPayload,proto3,oneof" json:"on_disk_payload,omitempty"`
// Fan-out every read request to these many additional remote nodes (and return first available response)
ReadFanOutFactor *uint32 `protobuf:"varint,4,opt,name=read_fan_out_factor,json=readFanOutFactor,proto3,oneof" json:"read_fan_out_factor,omitempty"`
// Define number of milliseconds to wait before attempting to read from another replica.
ReadFanOutDelayMs *uint64 `protobuf:"varint,5,opt,name=read_fan_out_delay_ms,json=readFanOutDelayMs,proto3,oneof" json:"read_fan_out_delay_ms,omitempty"`
}
func (x *CollectionParamsDiff) Reset() {
*x = CollectionParamsDiff{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionParamsDiff) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionParamsDiff) ProtoMessage() {}
func (x *CollectionParamsDiff) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[42]
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 CollectionParamsDiff.ProtoReflect.Descriptor instead.
func (*CollectionParamsDiff) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{42}
}
func (x *CollectionParamsDiff) GetReplicationFactor() uint32 {
if x != nil && x.ReplicationFactor != nil {
return *x.ReplicationFactor
}
return 0
}
func (x *CollectionParamsDiff) GetWriteConsistencyFactor() uint32 {
if x != nil && x.WriteConsistencyFactor != nil {
return *x.WriteConsistencyFactor
}
return 0
}
func (x *CollectionParamsDiff) GetOnDiskPayload() bool {
if x != nil && x.OnDiskPayload != nil {
return *x.OnDiskPayload
}
return false
}
func (x *CollectionParamsDiff) GetReadFanOutFactor() uint32 {
if x != nil && x.ReadFanOutFactor != nil {
return *x.ReadFanOutFactor
}
return 0
}
func (x *CollectionParamsDiff) GetReadFanOutDelayMs() uint64 {
if x != nil && x.ReadFanOutDelayMs != nil {
return *x.ReadFanOutDelayMs
}
return 0
}
type CollectionConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Collection parameters
Params *CollectionParams `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
// Configuration of vector index
HnswConfig *HnswConfigDiff `protobuf:"bytes,2,opt,name=hnsw_config,json=hnswConfig,proto3" json:"hnsw_config,omitempty"`
// Configuration of the optimizers
OptimizerConfig *OptimizersConfigDiff `protobuf:"bytes,3,opt,name=optimizer_config,json=optimizerConfig,proto3" json:"optimizer_config,omitempty"`
// Configuration of the Write-Ahead-Log
WalConfig *WalConfigDiff `protobuf:"bytes,4,opt,name=wal_config,json=walConfig,proto3" json:"wal_config,omitempty"`
// Configuration of the vector quantization
QuantizationConfig *QuantizationConfig `protobuf:"bytes,5,opt,name=quantization_config,json=quantizationConfig,proto3,oneof" json:"quantization_config,omitempty"`
// Configuration of strict mode.
StrictModeConfig *StrictModeConfig `protobuf:"bytes,6,opt,name=strict_mode_config,json=strictModeConfig,proto3,oneof" json:"strict_mode_config,omitempty"`
// Arbitrary JSON metadata for the collection
Metadata map[string]*Value `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *CollectionConfig) Reset() {
*x = CollectionConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionConfig) ProtoMessage() {}
func (x *CollectionConfig) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[43]
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 CollectionConfig.ProtoReflect.Descriptor instead.
func (*CollectionConfig) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{43}
}
func (x *CollectionConfig) GetParams() *CollectionParams {
if x != nil {
return x.Params
}
return nil
}
func (x *CollectionConfig) GetHnswConfig() *HnswConfigDiff {
if x != nil {
return x.HnswConfig
}
return nil
}
func (x *CollectionConfig) GetOptimizerConfig() *OptimizersConfigDiff {
if x != nil {
return x.OptimizerConfig
}
return nil
}
func (x *CollectionConfig) GetWalConfig() *WalConfigDiff {
if x != nil {
return x.WalConfig
}
return nil
}
func (x *CollectionConfig) GetQuantizationConfig() *QuantizationConfig {
if x != nil {
return x.QuantizationConfig
}
return nil
}
func (x *CollectionConfig) GetStrictModeConfig() *StrictModeConfig {
if x != nil {
return x.StrictModeConfig
}
return nil
}
func (x *CollectionConfig) GetMetadata() map[string]*Value {
if x != nil {
return x.Metadata
}
return nil
}
type KeywordIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - used for tenant optimization.
IsTenant *bool `protobuf:"varint,1,opt,name=is_tenant,json=isTenant,proto3,oneof" json:"is_tenant,omitempty"`
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,2,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,3,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *KeywordIndexParams) Reset() {
*x = KeywordIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KeywordIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KeywordIndexParams) ProtoMessage() {}
func (x *KeywordIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[44]
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 KeywordIndexParams.ProtoReflect.Descriptor instead.
func (*KeywordIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{44}
}
func (x *KeywordIndexParams) GetIsTenant() bool {
if x != nil && x.IsTenant != nil {
return *x.IsTenant
}
return false
}
func (x *KeywordIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *KeywordIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type IntegerIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - support direct lookups. Default is true.
Lookup *bool `protobuf:"varint,1,opt,name=lookup,proto3,oneof" json:"lookup,omitempty"`
// If true - support ranges filters. Default is true.
Range *bool `protobuf:"varint,2,opt,name=range,proto3,oneof" json:"range,omitempty"`
// If true - use this key to organize storage of the collection data.
// This option assumes that this key will be used in majority of filtered requests.
// Default is false.
IsPrincipal *bool `protobuf:"varint,3,opt,name=is_principal,json=isPrincipal,proto3,oneof" json:"is_principal,omitempty"`
// If true - store index on disk. Default is false.
OnDisk *bool `protobuf:"varint,4,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,5,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *IntegerIndexParams) Reset() {
*x = IntegerIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IntegerIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IntegerIndexParams) ProtoMessage() {}
func (x *IntegerIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[45]
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 IntegerIndexParams.ProtoReflect.Descriptor instead.
func (*IntegerIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{45}
}
func (x *IntegerIndexParams) GetLookup() bool {
if x != nil && x.Lookup != nil {
return *x.Lookup
}
return false
}
func (x *IntegerIndexParams) GetRange() bool {
if x != nil && x.Range != nil {
return *x.Range
}
return false
}
func (x *IntegerIndexParams) GetIsPrincipal() bool {
if x != nil && x.IsPrincipal != nil {
return *x.IsPrincipal
}
return false
}
func (x *IntegerIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *IntegerIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type FloatIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,1,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// If true - use this key to organize storage of the collection data.
// This option assumes that this key will be used in majority of filtered requests.
IsPrincipal *bool `protobuf:"varint,2,opt,name=is_principal,json=isPrincipal,proto3,oneof" json:"is_principal,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,3,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *FloatIndexParams) Reset() {
*x = FloatIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FloatIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FloatIndexParams) ProtoMessage() {}
func (x *FloatIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[46]
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 FloatIndexParams.ProtoReflect.Descriptor instead.
func (*FloatIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{46}
}
func (x *FloatIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *FloatIndexParams) GetIsPrincipal() bool {
if x != nil && x.IsPrincipal != nil {
return *x.IsPrincipal
}
return false
}
func (x *FloatIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type GeoIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,1,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,2,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *GeoIndexParams) Reset() {
*x = GeoIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GeoIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GeoIndexParams) ProtoMessage() {}
func (x *GeoIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[47]
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 GeoIndexParams.ProtoReflect.Descriptor instead.
func (*GeoIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{47}
}
func (x *GeoIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *GeoIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type StopwordsSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of languages to use stopwords from
Languages []string `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"`
// List of custom stopwords
Custom []string `protobuf:"bytes,2,rep,name=custom,proto3" json:"custom,omitempty"`
}
func (x *StopwordsSet) Reset() {
*x = StopwordsSet{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopwordsSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopwordsSet) ProtoMessage() {}
func (x *StopwordsSet) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[48]
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 StopwordsSet.ProtoReflect.Descriptor instead.
func (*StopwordsSet) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{48}
}
func (x *StopwordsSet) GetLanguages() []string {
if x != nil {
return x.Languages
}
return nil
}
func (x *StopwordsSet) GetCustom() []string {
if x != nil {
return x.Custom
}
return nil
}
type TextIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Tokenizer type
Tokenizer TokenizerType `protobuf:"varint,1,opt,name=tokenizer,proto3,enum=qdrant.TokenizerType" json:"tokenizer,omitempty"`
// If true - all tokens will be lowercase
Lowercase *bool `protobuf:"varint,2,opt,name=lowercase,proto3,oneof" json:"lowercase,omitempty"`
// Minimal token length
MinTokenLen *uint64 `protobuf:"varint,3,opt,name=min_token_len,json=minTokenLen,proto3,oneof" json:"min_token_len,omitempty"`
// Maximal token length
MaxTokenLen *uint64 `protobuf:"varint,4,opt,name=max_token_len,json=maxTokenLen,proto3,oneof" json:"max_token_len,omitempty"`
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,5,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Stopwords for the text index
Stopwords *StopwordsSet `protobuf:"bytes,6,opt,name=stopwords,proto3,oneof" json:"stopwords,omitempty"`
// If true - support phrase matching.
PhraseMatching *bool `protobuf:"varint,7,opt,name=phrase_matching,json=phraseMatching,proto3,oneof" json:"phrase_matching,omitempty"`
// Set an algorithm for stemming.
Stemmer *StemmingAlgorithm `protobuf:"bytes,8,opt,name=stemmer,proto3,oneof" json:"stemmer,omitempty"`
// If true, normalize tokens by folding accented characters to ASCII (e.g., "ação" -> "acao").
// Default: false.
AsciiFolding *bool `protobuf:"varint,9,opt,name=ascii_folding,json=asciiFolding,proto3,oneof" json:"ascii_folding,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,10,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *TextIndexParams) Reset() {
*x = TextIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TextIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TextIndexParams) ProtoMessage() {}
func (x *TextIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[49]
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 TextIndexParams.ProtoReflect.Descriptor instead.
func (*TextIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{49}
}
func (x *TextIndexParams) GetTokenizer() TokenizerType {
if x != nil {
return x.Tokenizer
}
return TokenizerType_Unknown
}
func (x *TextIndexParams) GetLowercase() bool {
if x != nil && x.Lowercase != nil {
return *x.Lowercase
}
return false
}
func (x *TextIndexParams) GetMinTokenLen() uint64 {
if x != nil && x.MinTokenLen != nil {
return *x.MinTokenLen
}
return 0
}
func (x *TextIndexParams) GetMaxTokenLen() uint64 {
if x != nil && x.MaxTokenLen != nil {
return *x.MaxTokenLen
}
return 0
}
func (x *TextIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *TextIndexParams) GetStopwords() *StopwordsSet {
if x != nil {
return x.Stopwords
}
return nil
}
func (x *TextIndexParams) GetPhraseMatching() bool {
if x != nil && x.PhraseMatching != nil {
return *x.PhraseMatching
}
return false
}
func (x *TextIndexParams) GetStemmer() *StemmingAlgorithm {
if x != nil {
return x.Stemmer
}
return nil
}
func (x *TextIndexParams) GetAsciiFolding() bool {
if x != nil && x.AsciiFolding != nil {
return *x.AsciiFolding
}
return false
}
func (x *TextIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type StemmingAlgorithm struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to StemmingParams:
//
// *StemmingAlgorithm_Snowball
StemmingParams isStemmingAlgorithm_StemmingParams `protobuf_oneof:"stemming_params"`
}
func (x *StemmingAlgorithm) Reset() {
*x = StemmingAlgorithm{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StemmingAlgorithm) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StemmingAlgorithm) ProtoMessage() {}
func (x *StemmingAlgorithm) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[50]
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 StemmingAlgorithm.ProtoReflect.Descriptor instead.
func (*StemmingAlgorithm) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{50}
}
func (m *StemmingAlgorithm) GetStemmingParams() isStemmingAlgorithm_StemmingParams {
if m != nil {
return m.StemmingParams
}
return nil
}
func (x *StemmingAlgorithm) GetSnowball() *SnowballParams {
if x, ok := x.GetStemmingParams().(*StemmingAlgorithm_Snowball); ok {
return x.Snowball
}
return nil
}
type isStemmingAlgorithm_StemmingParams interface {
isStemmingAlgorithm_StemmingParams()
}
type StemmingAlgorithm_Snowball struct {
// Parameters for snowball stemming
Snowball *SnowballParams `protobuf:"bytes,1,opt,name=snowball,proto3,oneof"`
}
func (*StemmingAlgorithm_Snowball) isStemmingAlgorithm_StemmingParams() {}
type SnowballParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Which language the algorithm should stem.
Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"`
}
func (x *SnowballParams) Reset() {
*x = SnowballParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SnowballParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SnowballParams) ProtoMessage() {}
func (x *SnowballParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[51]
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 SnowballParams.ProtoReflect.Descriptor instead.
func (*SnowballParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{51}
}
func (x *SnowballParams) GetLanguage() string {
if x != nil {
return x.Language
}
return ""
}
type BoolIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,1,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,2,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *BoolIndexParams) Reset() {
*x = BoolIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BoolIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BoolIndexParams) ProtoMessage() {}
func (x *BoolIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[52]
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 BoolIndexParams.ProtoReflect.Descriptor instead.
func (*BoolIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{52}
}
func (x *BoolIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *BoolIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type DatetimeIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,1,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// If true - use this key to organize storage of the collection data.
// This option assumes that this key will be used in majority of filtered requests.
IsPrincipal *bool `protobuf:"varint,2,opt,name=is_principal,json=isPrincipal,proto3,oneof" json:"is_principal,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,3,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *DatetimeIndexParams) Reset() {
*x = DatetimeIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DatetimeIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DatetimeIndexParams) ProtoMessage() {}
func (x *DatetimeIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[53]
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 DatetimeIndexParams.ProtoReflect.Descriptor instead.
func (*DatetimeIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{53}
}
func (x *DatetimeIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *DatetimeIndexParams) GetIsPrincipal() bool {
if x != nil && x.IsPrincipal != nil {
return *x.IsPrincipal
}
return false
}
func (x *DatetimeIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type UuidIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true - used for tenant optimization.
IsTenant *bool `protobuf:"varint,1,opt,name=is_tenant,json=isTenant,proto3,oneof" json:"is_tenant,omitempty"`
// If true - store index on disk.
OnDisk *bool `protobuf:"varint,2,opt,name=on_disk,json=onDisk,proto3,oneof" json:"on_disk,omitempty"`
// Enable HNSW graph building for this payload field.
// If true, builds additional HNSW links (Need payload_m > 0).
// Default: true.
EnableHnsw *bool `protobuf:"varint,3,opt,name=enable_hnsw,json=enableHnsw,proto3,oneof" json:"enable_hnsw,omitempty"`
}
func (x *UuidIndexParams) Reset() {
*x = UuidIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UuidIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UuidIndexParams) ProtoMessage() {}
func (x *UuidIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[54]
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 UuidIndexParams.ProtoReflect.Descriptor instead.
func (*UuidIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{54}
}
func (x *UuidIndexParams) GetIsTenant() bool {
if x != nil && x.IsTenant != nil {
return *x.IsTenant
}
return false
}
func (x *UuidIndexParams) GetOnDisk() bool {
if x != nil && x.OnDisk != nil {
return *x.OnDisk
}
return false
}
func (x *UuidIndexParams) GetEnableHnsw() bool {
if x != nil && x.EnableHnsw != nil {
return *x.EnableHnsw
}
return false
}
type PayloadIndexParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to IndexParams:
//
// *PayloadIndexParams_KeywordIndexParams
// *PayloadIndexParams_IntegerIndexParams
// *PayloadIndexParams_FloatIndexParams
// *PayloadIndexParams_GeoIndexParams
// *PayloadIndexParams_TextIndexParams
// *PayloadIndexParams_BoolIndexParams
// *PayloadIndexParams_DatetimeIndexParams
// *PayloadIndexParams_UuidIndexParams
IndexParams isPayloadIndexParams_IndexParams `protobuf_oneof:"index_params"`
}
func (x *PayloadIndexParams) Reset() {
*x = PayloadIndexParams{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PayloadIndexParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PayloadIndexParams) ProtoMessage() {}
func (x *PayloadIndexParams) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[55]
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 PayloadIndexParams.ProtoReflect.Descriptor instead.
func (*PayloadIndexParams) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{55}
}
func (m *PayloadIndexParams) GetIndexParams() isPayloadIndexParams_IndexParams {
if m != nil {
return m.IndexParams
}
return nil
}
func (x *PayloadIndexParams) GetKeywordIndexParams() *KeywordIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_KeywordIndexParams); ok {
return x.KeywordIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetIntegerIndexParams() *IntegerIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_IntegerIndexParams); ok {
return x.IntegerIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetFloatIndexParams() *FloatIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_FloatIndexParams); ok {
return x.FloatIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetGeoIndexParams() *GeoIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_GeoIndexParams); ok {
return x.GeoIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetTextIndexParams() *TextIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_TextIndexParams); ok {
return x.TextIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetBoolIndexParams() *BoolIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_BoolIndexParams); ok {
return x.BoolIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetDatetimeIndexParams() *DatetimeIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_DatetimeIndexParams); ok {
return x.DatetimeIndexParams
}
return nil
}
func (x *PayloadIndexParams) GetUuidIndexParams() *UuidIndexParams {
if x, ok := x.GetIndexParams().(*PayloadIndexParams_UuidIndexParams); ok {
return x.UuidIndexParams
}
return nil
}
type isPayloadIndexParams_IndexParams interface {
isPayloadIndexParams_IndexParams()
}
type PayloadIndexParams_KeywordIndexParams struct {
// Parameters for keyword index
KeywordIndexParams *KeywordIndexParams `protobuf:"bytes,3,opt,name=keyword_index_params,json=keywordIndexParams,proto3,oneof"`
}
type PayloadIndexParams_IntegerIndexParams struct {
// Parameters for integer index
IntegerIndexParams *IntegerIndexParams `protobuf:"bytes,2,opt,name=integer_index_params,json=integerIndexParams,proto3,oneof"`
}
type PayloadIndexParams_FloatIndexParams struct {
// Parameters for float index
FloatIndexParams *FloatIndexParams `protobuf:"bytes,4,opt,name=float_index_params,json=floatIndexParams,proto3,oneof"`
}
type PayloadIndexParams_GeoIndexParams struct {
// Parameters for geo index
GeoIndexParams *GeoIndexParams `protobuf:"bytes,5,opt,name=geo_index_params,json=geoIndexParams,proto3,oneof"`
}
type PayloadIndexParams_TextIndexParams struct {
// Parameters for text index
TextIndexParams *TextIndexParams `protobuf:"bytes,1,opt,name=text_index_params,json=textIndexParams,proto3,oneof"`
}
type PayloadIndexParams_BoolIndexParams struct {
// Parameters for bool index
BoolIndexParams *BoolIndexParams `protobuf:"bytes,6,opt,name=bool_index_params,json=boolIndexParams,proto3,oneof"`
}
type PayloadIndexParams_DatetimeIndexParams struct {
// Parameters for datetime index
DatetimeIndexParams *DatetimeIndexParams `protobuf:"bytes,7,opt,name=datetime_index_params,json=datetimeIndexParams,proto3,oneof"`
}
type PayloadIndexParams_UuidIndexParams struct {
// Parameters for uuid index
UuidIndexParams *UuidIndexParams `protobuf:"bytes,8,opt,name=uuid_index_params,json=uuidIndexParams,proto3,oneof"`
}
func (*PayloadIndexParams_KeywordIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_IntegerIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_FloatIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_GeoIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_TextIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_BoolIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_DatetimeIndexParams) isPayloadIndexParams_IndexParams() {}
func (*PayloadIndexParams_UuidIndexParams) isPayloadIndexParams_IndexParams() {}
type PayloadSchemaInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Field data type
DataType PayloadSchemaType `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=qdrant.PayloadSchemaType" json:"data_type,omitempty"`
// Field index parameters
Params *PayloadIndexParams `protobuf:"bytes,2,opt,name=params,proto3,oneof" json:"params,omitempty"`
// Number of points indexed within this field
Points *uint64 `protobuf:"varint,3,opt,name=points,proto3,oneof" json:"points,omitempty"`
}
func (x *PayloadSchemaInfo) Reset() {
*x = PayloadSchemaInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PayloadSchemaInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PayloadSchemaInfo) ProtoMessage() {}
func (x *PayloadSchemaInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[56]
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 PayloadSchemaInfo.ProtoReflect.Descriptor instead.
func (*PayloadSchemaInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{56}
}
func (x *PayloadSchemaInfo) GetDataType() PayloadSchemaType {
if x != nil {
return x.DataType
}
return PayloadSchemaType_UnknownType
}
func (x *PayloadSchemaInfo) GetParams() *PayloadIndexParams {
if x != nil {
return x.Params
}
return nil
}
func (x *PayloadSchemaInfo) GetPoints() uint64 {
if x != nil && x.Points != nil {
return *x.Points
}
return 0
}
type UpdateQueueInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of elements in the queue
Length uint64 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
// Number of points that are deferred (i.e hidden from search as they're not yet optimized).
DeferredPoints *uint64 `protobuf:"varint,2,opt,name=deferred_points,json=deferredPoints,proto3,oneof" json:"deferred_points,omitempty"`
}
func (x *UpdateQueueInfo) Reset() {
*x = UpdateQueueInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateQueueInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateQueueInfo) ProtoMessage() {}
func (x *UpdateQueueInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[57]
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 UpdateQueueInfo.ProtoReflect.Descriptor instead.
func (*UpdateQueueInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{57}
}
func (x *UpdateQueueInfo) GetLength() uint64 {
if x != nil {
return x.Length
}
return 0
}
func (x *UpdateQueueInfo) GetDeferredPoints() uint64 {
if x != nil && x.DeferredPoints != nil {
return *x.DeferredPoints
}
return 0
}
type CollectionInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// operating condition of the collection
Status CollectionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=qdrant.CollectionStatus" json:"status,omitempty"`
// status of collection optimizers
OptimizerStatus *OptimizerStatus `protobuf:"bytes,2,opt,name=optimizer_status,json=optimizerStatus,proto3" json:"optimizer_status,omitempty"`
// Number of independent segments
SegmentsCount uint64 `protobuf:"varint,4,opt,name=segments_count,json=segmentsCount,proto3" json:"segments_count,omitempty"`
// Configuration
Config *CollectionConfig `protobuf:"bytes,7,opt,name=config,proto3" json:"config,omitempty"`
// Collection data types
PayloadSchema map[string]*PayloadSchemaInfo `protobuf:"bytes,8,rep,name=payload_schema,json=payloadSchema,proto3" json:"payload_schema,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Approximate number of points in the collection
PointsCount *uint64 `protobuf:"varint,9,opt,name=points_count,json=pointsCount,proto3,oneof" json:"points_count,omitempty"`
// Approximate number of indexed vectors in the collection.
IndexedVectorsCount *uint64 `protobuf:"varint,10,opt,name=indexed_vectors_count,json=indexedVectorsCount,proto3,oneof" json:"indexed_vectors_count,omitempty"`
// Warnings related to the collection
Warnings []*CollectionWarning `protobuf:"bytes,11,rep,name=warnings,proto3" json:"warnings,omitempty"`
// Update queue info
UpdateQueue *UpdateQueueInfo `protobuf:"bytes,12,opt,name=update_queue,json=updateQueue,proto3" json:"update_queue,omitempty"`
}
func (x *CollectionInfo) Reset() {
*x = CollectionInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionInfo) ProtoMessage() {}
func (x *CollectionInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[58]
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 CollectionInfo.ProtoReflect.Descriptor instead.
func (*CollectionInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{58}
}
func (x *CollectionInfo) GetStatus() CollectionStatus {
if x != nil {
return x.Status
}
return CollectionStatus_UnknownCollectionStatus
}
func (x *CollectionInfo) GetOptimizerStatus() *OptimizerStatus {
if x != nil {
return x.OptimizerStatus
}
return nil
}
func (x *CollectionInfo) GetSegmentsCount() uint64 {
if x != nil {
return x.SegmentsCount
}
return 0
}
func (x *CollectionInfo) GetConfig() *CollectionConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *CollectionInfo) GetPayloadSchema() map[string]*PayloadSchemaInfo {
if x != nil {
return x.PayloadSchema
}
return nil
}
func (x *CollectionInfo) GetPointsCount() uint64 {
if x != nil && x.PointsCount != nil {
return *x.PointsCount
}
return 0
}
func (x *CollectionInfo) GetIndexedVectorsCount() uint64 {
if x != nil && x.IndexedVectorsCount != nil {
return *x.IndexedVectorsCount
}
return 0
}
func (x *CollectionInfo) GetWarnings() []*CollectionWarning {
if x != nil {
return x.Warnings
}
return nil
}
func (x *CollectionInfo) GetUpdateQueue() *UpdateQueueInfo {
if x != nil {
return x.UpdateQueue
}
return nil
}
type ChangeAliases struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of actions
Actions []*AliasOperations `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
// Wait timeout for operation commit in seconds.
// If not specified - default value will be supplied.
Timeout *uint64 `protobuf:"varint,2,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}
func (x *ChangeAliases) Reset() {
*x = ChangeAliases{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChangeAliases) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChangeAliases) ProtoMessage() {}
func (x *ChangeAliases) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[59]
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 ChangeAliases.ProtoReflect.Descriptor instead.
func (*ChangeAliases) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{59}
}
func (x *ChangeAliases) GetActions() []*AliasOperations {
if x != nil {
return x.Actions
}
return nil
}
func (x *ChangeAliases) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
type AliasOperations struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Action:
//
// *AliasOperations_CreateAlias
// *AliasOperations_RenameAlias
// *AliasOperations_DeleteAlias
Action isAliasOperations_Action `protobuf_oneof:"action"`
}
func (x *AliasOperations) Reset() {
*x = AliasOperations{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AliasOperations) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AliasOperations) ProtoMessage() {}
func (x *AliasOperations) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[60]
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 AliasOperations.ProtoReflect.Descriptor instead.
func (*AliasOperations) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{60}
}
func (m *AliasOperations) GetAction() isAliasOperations_Action {
if m != nil {
return m.Action
}
return nil
}
func (x *AliasOperations) GetCreateAlias() *CreateAlias {
if x, ok := x.GetAction().(*AliasOperations_CreateAlias); ok {
return x.CreateAlias
}
return nil
}
func (x *AliasOperations) GetRenameAlias() *RenameAlias {
if x, ok := x.GetAction().(*AliasOperations_RenameAlias); ok {
return x.RenameAlias
}
return nil
}
func (x *AliasOperations) GetDeleteAlias() *DeleteAlias {
if x, ok := x.GetAction().(*AliasOperations_DeleteAlias); ok {
return x.DeleteAlias
}
return nil
}
type isAliasOperations_Action interface {
isAliasOperations_Action()
}
type AliasOperations_CreateAlias struct {
CreateAlias *CreateAlias `protobuf:"bytes,1,opt,name=create_alias,json=createAlias,proto3,oneof"`
}
type AliasOperations_RenameAlias struct {
RenameAlias *RenameAlias `protobuf:"bytes,2,opt,name=rename_alias,json=renameAlias,proto3,oneof"`
}
type AliasOperations_DeleteAlias struct {
DeleteAlias *DeleteAlias `protobuf:"bytes,3,opt,name=delete_alias,json=deleteAlias,proto3,oneof"`
}
func (*AliasOperations_CreateAlias) isAliasOperations_Action() {}
func (*AliasOperations_RenameAlias) isAliasOperations_Action() {}
func (*AliasOperations_DeleteAlias) isAliasOperations_Action() {}
type CreateAlias struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// New name of the alias
AliasName string `protobuf:"bytes,2,opt,name=alias_name,json=aliasName,proto3" json:"alias_name,omitempty"`
}
func (x *CreateAlias) Reset() {
*x = CreateAlias{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateAlias) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateAlias) ProtoMessage() {}
func (x *CreateAlias) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[61]
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 CreateAlias.ProtoReflect.Descriptor instead.
func (*CreateAlias) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{61}
}
func (x *CreateAlias) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (x *CreateAlias) GetAliasName() string {
if x != nil {
return x.AliasName
}
return ""
}
type RenameAlias struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the alias to rename
OldAliasName string `protobuf:"bytes,1,opt,name=old_alias_name,json=oldAliasName,proto3" json:"old_alias_name,omitempty"`
// Name of the alias
NewAliasName string `protobuf:"bytes,2,opt,name=new_alias_name,json=newAliasName,proto3" json:"new_alias_name,omitempty"`
}
func (x *RenameAlias) Reset() {
*x = RenameAlias{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenameAlias) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenameAlias) ProtoMessage() {}
func (x *RenameAlias) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[62]
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 RenameAlias.ProtoReflect.Descriptor instead.
func (*RenameAlias) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{62}
}
func (x *RenameAlias) GetOldAliasName() string {
if x != nil {
return x.OldAliasName
}
return ""
}
func (x *RenameAlias) GetNewAliasName() string {
if x != nil {
return x.NewAliasName
}
return ""
}
type DeleteAlias struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the alias
AliasName string `protobuf:"bytes,1,opt,name=alias_name,json=aliasName,proto3" json:"alias_name,omitempty"`
}
func (x *DeleteAlias) Reset() {
*x = DeleteAlias{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteAlias) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteAlias) ProtoMessage() {}
func (x *DeleteAlias) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[63]
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 DeleteAlias.ProtoReflect.Descriptor instead.
func (*DeleteAlias) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{63}
}
func (x *DeleteAlias) GetAliasName() string {
if x != nil {
return x.AliasName
}
return ""
}
type ListAliasesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListAliasesRequest) Reset() {
*x = ListAliasesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAliasesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAliasesRequest) ProtoMessage() {}
func (x *ListAliasesRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[64]
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 ListAliasesRequest.ProtoReflect.Descriptor instead.
func (*ListAliasesRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{64}
}
type ListCollectionAliasesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
}
func (x *ListCollectionAliasesRequest) Reset() {
*x = ListCollectionAliasesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListCollectionAliasesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListCollectionAliasesRequest) ProtoMessage() {}
func (x *ListCollectionAliasesRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[65]
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 ListCollectionAliasesRequest.ProtoReflect.Descriptor instead.
func (*ListCollectionAliasesRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{65}
}
func (x *ListCollectionAliasesRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
type AliasDescription struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the alias
AliasName string `protobuf:"bytes,1,opt,name=alias_name,json=aliasName,proto3" json:"alias_name,omitempty"`
// Name of the collection
CollectionName string `protobuf:"bytes,2,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
}
func (x *AliasDescription) Reset() {
*x = AliasDescription{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AliasDescription) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AliasDescription) ProtoMessage() {}
func (x *AliasDescription) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[66]
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 AliasDescription.ProtoReflect.Descriptor instead.
func (*AliasDescription) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{66}
}
func (x *AliasDescription) GetAliasName() string {
if x != nil {
return x.AliasName
}
return ""
}
func (x *AliasDescription) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
type ListAliasesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Aliases []*AliasDescription `protobuf:"bytes,1,rep,name=aliases,proto3" json:"aliases,omitempty"`
// Time spent to process
Time float64 `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *ListAliasesResponse) Reset() {
*x = ListAliasesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAliasesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAliasesResponse) ProtoMessage() {}
func (x *ListAliasesResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[67]
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 ListAliasesResponse.ProtoReflect.Descriptor instead.
func (*ListAliasesResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{67}
}
func (x *ListAliasesResponse) GetAliases() []*AliasDescription {
if x != nil {
return x.Aliases
}
return nil
}
func (x *ListAliasesResponse) GetTime() float64 {
if x != nil {
return x.Time
}
return 0
}
type CollectionClusterInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
}
func (x *CollectionClusterInfoRequest) Reset() {
*x = CollectionClusterInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionClusterInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionClusterInfoRequest) ProtoMessage() {}
func (x *CollectionClusterInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[68]
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 CollectionClusterInfoRequest.ProtoReflect.Descriptor instead.
func (*CollectionClusterInfoRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{68}
}
func (x *CollectionClusterInfoRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
type ShardKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Key:
//
// *ShardKey_Keyword
// *ShardKey_Number
Key isShardKey_Key `protobuf_oneof:"key"`
}
func (x *ShardKey) Reset() {
*x = ShardKey{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShardKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShardKey) ProtoMessage() {}
func (x *ShardKey) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[69]
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 ShardKey.ProtoReflect.Descriptor instead.
func (*ShardKey) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{69}
}
func (m *ShardKey) GetKey() isShardKey_Key {
if m != nil {
return m.Key
}
return nil
}
func (x *ShardKey) GetKeyword() string {
if x, ok := x.GetKey().(*ShardKey_Keyword); ok {
return x.Keyword
}
return ""
}
func (x *ShardKey) GetNumber() uint64 {
if x, ok := x.GetKey().(*ShardKey_Number); ok {
return x.Number
}
return 0
}
type isShardKey_Key interface {
isShardKey_Key()
}
type ShardKey_Keyword struct {
// String key
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3,oneof"`
}
type ShardKey_Number struct {
// Number key
Number uint64 `protobuf:"varint,2,opt,name=number,proto3,oneof"`
}
func (*ShardKey_Keyword) isShardKey_Key() {}
func (*ShardKey_Number) isShardKey_Key() {}
type LocalShardInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
// Number of points in the shard
PointsCount uint64 `protobuf:"varint,2,opt,name=points_count,json=pointsCount,proto3" json:"points_count,omitempty"`
// Is replica active
State ReplicaState `protobuf:"varint,3,opt,name=state,proto3,enum=qdrant.ReplicaState" json:"state,omitempty"`
// User-defined shard key
ShardKey *ShardKey `protobuf:"bytes,4,opt,name=shard_key,json=shardKey,proto3,oneof" json:"shard_key,omitempty"`
}
func (x *LocalShardInfo) Reset() {
*x = LocalShardInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LocalShardInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LocalShardInfo) ProtoMessage() {}
func (x *LocalShardInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[70]
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 LocalShardInfo.ProtoReflect.Descriptor instead.
func (*LocalShardInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{70}
}
func (x *LocalShardInfo) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *LocalShardInfo) GetPointsCount() uint64 {
if x != nil {
return x.PointsCount
}
return 0
}
func (x *LocalShardInfo) GetState() ReplicaState {
if x != nil {
return x.State
}
return ReplicaState_Active
}
func (x *LocalShardInfo) GetShardKey() *ShardKey {
if x != nil {
return x.ShardKey
}
return nil
}
type RemoteShardInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
// Remote peer id
PeerId uint64 `protobuf:"varint,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// Is replica active
State ReplicaState `protobuf:"varint,3,opt,name=state,proto3,enum=qdrant.ReplicaState" json:"state,omitempty"`
// User-defined shard key
ShardKey *ShardKey `protobuf:"bytes,4,opt,name=shard_key,json=shardKey,proto3,oneof" json:"shard_key,omitempty"`
}
func (x *RemoteShardInfo) Reset() {
*x = RemoteShardInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RemoteShardInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RemoteShardInfo) ProtoMessage() {}
func (x *RemoteShardInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[71]
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 RemoteShardInfo.ProtoReflect.Descriptor instead.
func (*RemoteShardInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{71}
}
func (x *RemoteShardInfo) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *RemoteShardInfo) GetPeerId() uint64 {
if x != nil {
return x.PeerId
}
return 0
}
func (x *RemoteShardInfo) GetState() ReplicaState {
if x != nil {
return x.State
}
return ReplicaState_Active
}
func (x *RemoteShardInfo) GetShardKey() *ShardKey {
if x != nil {
return x.ShardKey
}
return nil
}
type ShardTransferInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
ToShardId *uint32 `protobuf:"varint,5,opt,name=to_shard_id,json=toShardId,proto3,oneof" json:"to_shard_id,omitempty"`
From uint64 `protobuf:"varint,2,opt,name=from,proto3" json:"from,omitempty"`
To uint64 `protobuf:"varint,3,opt,name=to,proto3" json:"to,omitempty"`
// If `true` transfer is a synchronization of a replicas;
// If `false` transfer is a moving of a shard from one peer to another
Sync bool `protobuf:"varint,4,opt,name=sync,proto3" json:"sync,omitempty"`
}
func (x *ShardTransferInfo) Reset() {
*x = ShardTransferInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShardTransferInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShardTransferInfo) ProtoMessage() {}
func (x *ShardTransferInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[72]
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 ShardTransferInfo.ProtoReflect.Descriptor instead.
func (*ShardTransferInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{72}
}
func (x *ShardTransferInfo) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *ShardTransferInfo) GetToShardId() uint32 {
if x != nil && x.ToShardId != nil {
return *x.ToShardId
}
return 0
}
func (x *ShardTransferInfo) GetFrom() uint64 {
if x != nil {
return x.From
}
return 0
}
func (x *ShardTransferInfo) GetTo() uint64 {
if x != nil {
return x.To
}
return 0
}
func (x *ShardTransferInfo) GetSync() bool {
if x != nil {
return x.Sync
}
return false
}
type ReshardingInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
PeerId uint64 `protobuf:"varint,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
ShardKey *ShardKey `protobuf:"bytes,3,opt,name=shard_key,json=shardKey,proto3,oneof" json:"shard_key,omitempty"`
Direction ReshardingDirection `protobuf:"varint,4,opt,name=direction,proto3,enum=qdrant.ReshardingDirection" json:"direction,omitempty"`
}
func (x *ReshardingInfo) Reset() {
*x = ReshardingInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReshardingInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReshardingInfo) ProtoMessage() {}
func (x *ReshardingInfo) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[73]
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 ReshardingInfo.ProtoReflect.Descriptor instead.
func (*ReshardingInfo) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{73}
}
func (x *ReshardingInfo) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *ReshardingInfo) GetPeerId() uint64 {
if x != nil {
return x.PeerId
}
return 0
}
func (x *ReshardingInfo) GetShardKey() *ShardKey {
if x != nil {
return x.ShardKey
}
return nil
}
func (x *ReshardingInfo) GetDirection() ReshardingDirection {
if x != nil {
return x.Direction
}
return ReshardingDirection_Up
}
type CollectionClusterInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// ID of this peer
PeerId uint64 `protobuf:"varint,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// Total number of shards
ShardCount uint64 `protobuf:"varint,2,opt,name=shard_count,json=shardCount,proto3" json:"shard_count,omitempty"`
// Local shards
LocalShards []*LocalShardInfo `protobuf:"bytes,3,rep,name=local_shards,json=localShards,proto3" json:"local_shards,omitempty"`
// Remote shards
RemoteShards []*RemoteShardInfo `protobuf:"bytes,4,rep,name=remote_shards,json=remoteShards,proto3" json:"remote_shards,omitempty"`
// Shard transfers
ShardTransfers []*ShardTransferInfo `protobuf:"bytes,5,rep,name=shard_transfers,json=shardTransfers,proto3" json:"shard_transfers,omitempty"`
// Resharding operations
ReshardingOperations []*ReshardingInfo `protobuf:"bytes,6,rep,name=resharding_operations,json=reshardingOperations,proto3" json:"resharding_operations,omitempty"`
}
func (x *CollectionClusterInfoResponse) Reset() {
*x = CollectionClusterInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectionClusterInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionClusterInfoResponse) ProtoMessage() {}
func (x *CollectionClusterInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[74]
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 CollectionClusterInfoResponse.ProtoReflect.Descriptor instead.
func (*CollectionClusterInfoResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{74}
}
func (x *CollectionClusterInfoResponse) GetPeerId() uint64 {
if x != nil {
return x.PeerId
}
return 0
}
func (x *CollectionClusterInfoResponse) GetShardCount() uint64 {
if x != nil {
return x.ShardCount
}
return 0
}
func (x *CollectionClusterInfoResponse) GetLocalShards() []*LocalShardInfo {
if x != nil {
return x.LocalShards
}
return nil
}
func (x *CollectionClusterInfoResponse) GetRemoteShards() []*RemoteShardInfo {
if x != nil {
return x.RemoteShards
}
return nil
}
func (x *CollectionClusterInfoResponse) GetShardTransfers() []*ShardTransferInfo {
if x != nil {
return x.ShardTransfers
}
return nil
}
func (x *CollectionClusterInfoResponse) GetReshardingOperations() []*ReshardingInfo {
if x != nil {
return x.ReshardingOperations
}
return nil
}
type MoveShard struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
ToShardId *uint32 `protobuf:"varint,5,opt,name=to_shard_id,json=toShardId,proto3,oneof" json:"to_shard_id,omitempty"`
FromPeerId uint64 `protobuf:"varint,2,opt,name=from_peer_id,json=fromPeerId,proto3" json:"from_peer_id,omitempty"`
ToPeerId uint64 `protobuf:"varint,3,opt,name=to_peer_id,json=toPeerId,proto3" json:"to_peer_id,omitempty"`
Method *ShardTransferMethod `protobuf:"varint,4,opt,name=method,proto3,enum=qdrant.ShardTransferMethod,oneof" json:"method,omitempty"`
}
func (x *MoveShard) Reset() {
*x = MoveShard{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MoveShard) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MoveShard) ProtoMessage() {}
func (x *MoveShard) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[75]
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 MoveShard.ProtoReflect.Descriptor instead.
func (*MoveShard) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{75}
}
func (x *MoveShard) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *MoveShard) GetToShardId() uint32 {
if x != nil && x.ToShardId != nil {
return *x.ToShardId
}
return 0
}
func (x *MoveShard) GetFromPeerId() uint64 {
if x != nil {
return x.FromPeerId
}
return 0
}
func (x *MoveShard) GetToPeerId() uint64 {
if x != nil {
return x.ToPeerId
}
return 0
}
func (x *MoveShard) GetMethod() ShardTransferMethod {
if x != nil && x.Method != nil {
return *x.Method
}
return ShardTransferMethod_StreamRecords
}
type ReplicateShard struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
ToShardId *uint32 `protobuf:"varint,5,opt,name=to_shard_id,json=toShardId,proto3,oneof" json:"to_shard_id,omitempty"`
FromPeerId uint64 `protobuf:"varint,2,opt,name=from_peer_id,json=fromPeerId,proto3" json:"from_peer_id,omitempty"`
ToPeerId uint64 `protobuf:"varint,3,opt,name=to_peer_id,json=toPeerId,proto3" json:"to_peer_id,omitempty"`
Method *ShardTransferMethod `protobuf:"varint,4,opt,name=method,proto3,enum=qdrant.ShardTransferMethod,oneof" json:"method,omitempty"`
}
func (x *ReplicateShard) Reset() {
*x = ReplicateShard{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReplicateShard) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReplicateShard) ProtoMessage() {}
func (x *ReplicateShard) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[76]
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 ReplicateShard.ProtoReflect.Descriptor instead.
func (*ReplicateShard) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{76}
}
func (x *ReplicateShard) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *ReplicateShard) GetToShardId() uint32 {
if x != nil && x.ToShardId != nil {
return *x.ToShardId
}
return 0
}
func (x *ReplicateShard) GetFromPeerId() uint64 {
if x != nil {
return x.FromPeerId
}
return 0
}
func (x *ReplicateShard) GetToPeerId() uint64 {
if x != nil {
return x.ToPeerId
}
return 0
}
func (x *ReplicateShard) GetMethod() ShardTransferMethod {
if x != nil && x.Method != nil {
return *x.Method
}
return ShardTransferMethod_StreamRecords
}
type AbortShardTransfer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
ToShardId *uint32 `protobuf:"varint,4,opt,name=to_shard_id,json=toShardId,proto3,oneof" json:"to_shard_id,omitempty"`
FromPeerId uint64 `protobuf:"varint,2,opt,name=from_peer_id,json=fromPeerId,proto3" json:"from_peer_id,omitempty"`
ToPeerId uint64 `protobuf:"varint,3,opt,name=to_peer_id,json=toPeerId,proto3" json:"to_peer_id,omitempty"`
}
func (x *AbortShardTransfer) Reset() {
*x = AbortShardTransfer{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AbortShardTransfer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AbortShardTransfer) ProtoMessage() {}
func (x *AbortShardTransfer) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[77]
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 AbortShardTransfer.ProtoReflect.Descriptor instead.
func (*AbortShardTransfer) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{77}
}
func (x *AbortShardTransfer) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *AbortShardTransfer) GetToShardId() uint32 {
if x != nil && x.ToShardId != nil {
return *x.ToShardId
}
return 0
}
func (x *AbortShardTransfer) GetFromPeerId() uint64 {
if x != nil {
return x.FromPeerId
}
return 0
}
func (x *AbortShardTransfer) GetToPeerId() uint64 {
if x != nil {
return x.ToPeerId
}
return 0
}
type RestartTransfer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Local shard id
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
ToShardId *uint32 `protobuf:"varint,5,opt,name=to_shard_id,json=toShardId,proto3,oneof" json:"to_shard_id,omitempty"`
FromPeerId uint64 `protobuf:"varint,2,opt,name=from_peer_id,json=fromPeerId,proto3" json:"from_peer_id,omitempty"`
ToPeerId uint64 `protobuf:"varint,3,opt,name=to_peer_id,json=toPeerId,proto3" json:"to_peer_id,omitempty"`
Method ShardTransferMethod `protobuf:"varint,4,opt,name=method,proto3,enum=qdrant.ShardTransferMethod" json:"method,omitempty"`
}
func (x *RestartTransfer) Reset() {
*x = RestartTransfer{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RestartTransfer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RestartTransfer) ProtoMessage() {}
func (x *RestartTransfer) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[78]
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 RestartTransfer.ProtoReflect.Descriptor instead.
func (*RestartTransfer) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{78}
}
func (x *RestartTransfer) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *RestartTransfer) GetToShardId() uint32 {
if x != nil && x.ToShardId != nil {
return *x.ToShardId
}
return 0
}
func (x *RestartTransfer) GetFromPeerId() uint64 {
if x != nil {
return x.FromPeerId
}
return 0
}
func (x *RestartTransfer) GetToPeerId() uint64 {
if x != nil {
return x.ToPeerId
}
return 0
}
func (x *RestartTransfer) GetMethod() ShardTransferMethod {
if x != nil {
return x.Method
}
return ShardTransferMethod_StreamRecords
}
type ReplicatePoints struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Source shard key
FromShardKey *ShardKey `protobuf:"bytes,1,opt,name=from_shard_key,json=fromShardKey,proto3" json:"from_shard_key,omitempty"`
// Target shard key
ToShardKey *ShardKey `protobuf:"bytes,2,opt,name=to_shard_key,json=toShardKey,proto3" json:"to_shard_key,omitempty"`
// If set - only points matching the filter will be replicated
Filter *Filter `protobuf:"bytes,3,opt,name=filter,proto3,oneof" json:"filter,omitempty"`
}
func (x *ReplicatePoints) Reset() {
*x = ReplicatePoints{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReplicatePoints) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReplicatePoints) ProtoMessage() {}
func (x *ReplicatePoints) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[79]
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 ReplicatePoints.ProtoReflect.Descriptor instead.
func (*ReplicatePoints) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{79}
}
func (x *ReplicatePoints) GetFromShardKey() *ShardKey {
if x != nil {
return x.FromShardKey
}
return nil
}
func (x *ReplicatePoints) GetToShardKey() *ShardKey {
if x != nil {
return x.ToShardKey
}
return nil
}
func (x *ReplicatePoints) GetFilter() *Filter {
if x != nil {
return x.Filter
}
return nil
}
type Replica struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
PeerId uint64 `protobuf:"varint,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *Replica) Reset() {
*x = Replica{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Replica) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Replica) ProtoMessage() {}
func (x *Replica) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[80]
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 Replica.ProtoReflect.Descriptor instead.
func (*Replica) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{80}
}
func (x *Replica) GetShardId() uint32 {
if x != nil {
return x.ShardId
}
return 0
}
func (x *Replica) GetPeerId() uint64 {
if x != nil {
return x.PeerId
}
return 0
}
type CreateShardKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// User-defined shard key
ShardKey *ShardKey `protobuf:"bytes,1,opt,name=shard_key,json=shardKey,proto3" json:"shard_key,omitempty"`
// Number of shards to create per shard key
ShardsNumber *uint32 `protobuf:"varint,2,opt,name=shards_number,json=shardsNumber,proto3,oneof" json:"shards_number,omitempty"`
// Number of replicas of each shard to create
ReplicationFactor *uint32 `protobuf:"varint,3,opt,name=replication_factor,json=replicationFactor,proto3,oneof" json:"replication_factor,omitempty"`
// List of peer ids, allowed to create shards. If empty - all peers are allowed
Placement []uint64 `protobuf:"varint,4,rep,packed,name=placement,proto3" json:"placement,omitempty"`
// Initial state of created replicas. Warning: use with care.
InitialState *ReplicaState `protobuf:"varint,5,opt,name=initial_state,json=initialState,proto3,enum=qdrant.ReplicaState,oneof" json:"initial_state,omitempty"`
}
func (x *CreateShardKey) Reset() {
*x = CreateShardKey{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateShardKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateShardKey) ProtoMessage() {}
func (x *CreateShardKey) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[81]
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 CreateShardKey.ProtoReflect.Descriptor instead.
func (*CreateShardKey) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{81}
}
func (x *CreateShardKey) GetShardKey() *ShardKey {
if x != nil {
return x.ShardKey
}
return nil
}
func (x *CreateShardKey) GetShardsNumber() uint32 {
if x != nil && x.ShardsNumber != nil {
return *x.ShardsNumber
}
return 0
}
func (x *CreateShardKey) GetReplicationFactor() uint32 {
if x != nil && x.ReplicationFactor != nil {
return *x.ReplicationFactor
}
return 0
}
func (x *CreateShardKey) GetPlacement() []uint64 {
if x != nil {
return x.Placement
}
return nil
}
func (x *CreateShardKey) GetInitialState() ReplicaState {
if x != nil && x.InitialState != nil {
return *x.InitialState
}
return ReplicaState_Active
}
type DeleteShardKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Shard key to delete
ShardKey *ShardKey `protobuf:"bytes,1,opt,name=shard_key,json=shardKey,proto3" json:"shard_key,omitempty"`
}
func (x *DeleteShardKey) Reset() {
*x = DeleteShardKey{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteShardKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteShardKey) ProtoMessage() {}
func (x *DeleteShardKey) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[82]
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 DeleteShardKey.ProtoReflect.Descriptor instead.
func (*DeleteShardKey) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{82}
}
func (x *DeleteShardKey) GetShardKey() *ShardKey {
if x != nil {
return x.ShardKey
}
return nil
}
type UpdateCollectionClusterSetupRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// Types that are assignable to Operation:
//
// *UpdateCollectionClusterSetupRequest_MoveShard
// *UpdateCollectionClusterSetupRequest_ReplicateShard
// *UpdateCollectionClusterSetupRequest_AbortTransfer
// *UpdateCollectionClusterSetupRequest_DropReplica
// *UpdateCollectionClusterSetupRequest_CreateShardKey
// *UpdateCollectionClusterSetupRequest_DeleteShardKey
// *UpdateCollectionClusterSetupRequest_RestartTransfer
// *UpdateCollectionClusterSetupRequest_ReplicatePoints
Operation isUpdateCollectionClusterSetupRequest_Operation `protobuf_oneof:"operation"`
// Wait timeout for operation commit in seconds.
// If not specified - default value will be supplied.
Timeout *uint64 `protobuf:"varint,6,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}
func (x *UpdateCollectionClusterSetupRequest) Reset() {
*x = UpdateCollectionClusterSetupRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCollectionClusterSetupRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCollectionClusterSetupRequest) ProtoMessage() {}
func (x *UpdateCollectionClusterSetupRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[83]
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 UpdateCollectionClusterSetupRequest.ProtoReflect.Descriptor instead.
func (*UpdateCollectionClusterSetupRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{83}
}
func (x *UpdateCollectionClusterSetupRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (m *UpdateCollectionClusterSetupRequest) GetOperation() isUpdateCollectionClusterSetupRequest_Operation {
if m != nil {
return m.Operation
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetMoveShard() *MoveShard {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_MoveShard); ok {
return x.MoveShard
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetReplicateShard() *ReplicateShard {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_ReplicateShard); ok {
return x.ReplicateShard
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetAbortTransfer() *AbortShardTransfer {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_AbortTransfer); ok {
return x.AbortTransfer
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetDropReplica() *Replica {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_DropReplica); ok {
return x.DropReplica
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetCreateShardKey() *CreateShardKey {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_CreateShardKey); ok {
return x.CreateShardKey
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetDeleteShardKey() *DeleteShardKey {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_DeleteShardKey); ok {
return x.DeleteShardKey
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetRestartTransfer() *RestartTransfer {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_RestartTransfer); ok {
return x.RestartTransfer
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetReplicatePoints() *ReplicatePoints {
if x, ok := x.GetOperation().(*UpdateCollectionClusterSetupRequest_ReplicatePoints); ok {
return x.ReplicatePoints
}
return nil
}
func (x *UpdateCollectionClusterSetupRequest) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
type isUpdateCollectionClusterSetupRequest_Operation interface {
isUpdateCollectionClusterSetupRequest_Operation()
}
type UpdateCollectionClusterSetupRequest_MoveShard struct {
MoveShard *MoveShard `protobuf:"bytes,2,opt,name=move_shard,json=moveShard,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_ReplicateShard struct {
ReplicateShard *ReplicateShard `protobuf:"bytes,3,opt,name=replicate_shard,json=replicateShard,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_AbortTransfer struct {
AbortTransfer *AbortShardTransfer `protobuf:"bytes,4,opt,name=abort_transfer,json=abortTransfer,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_DropReplica struct {
DropReplica *Replica `protobuf:"bytes,5,opt,name=drop_replica,json=dropReplica,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_CreateShardKey struct {
CreateShardKey *CreateShardKey `protobuf:"bytes,7,opt,name=create_shard_key,json=createShardKey,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_DeleteShardKey struct {
DeleteShardKey *DeleteShardKey `protobuf:"bytes,8,opt,name=delete_shard_key,json=deleteShardKey,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_RestartTransfer struct {
RestartTransfer *RestartTransfer `protobuf:"bytes,9,opt,name=restart_transfer,json=restartTransfer,proto3,oneof"`
}
type UpdateCollectionClusterSetupRequest_ReplicatePoints struct {
ReplicatePoints *ReplicatePoints `protobuf:"bytes,10,opt,name=replicate_points,json=replicatePoints,proto3,oneof"`
}
func (*UpdateCollectionClusterSetupRequest_MoveShard) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_ReplicateShard) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_AbortTransfer) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_DropReplica) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_CreateShardKey) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_DeleteShardKey) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_RestartTransfer) isUpdateCollectionClusterSetupRequest_Operation() {
}
func (*UpdateCollectionClusterSetupRequest_ReplicatePoints) isUpdateCollectionClusterSetupRequest_Operation() {
}
type UpdateCollectionClusterSetupResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result bool `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
}
func (x *UpdateCollectionClusterSetupResponse) Reset() {
*x = UpdateCollectionClusterSetupResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCollectionClusterSetupResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCollectionClusterSetupResponse) ProtoMessage() {}
func (x *UpdateCollectionClusterSetupResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[84]
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 UpdateCollectionClusterSetupResponse.ProtoReflect.Descriptor instead.
func (*UpdateCollectionClusterSetupResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{84}
}
func (x *UpdateCollectionClusterSetupResponse) GetResult() bool {
if x != nil {
return x.Result
}
return false
}
type CreateShardKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// Request to create shard key
Request *CreateShardKey `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
// Wait timeout for operation commit in seconds.
// If not specified - default value will be supplied.
Timeout *uint64 `protobuf:"varint,3,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}
func (x *CreateShardKeyRequest) Reset() {
*x = CreateShardKeyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateShardKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateShardKeyRequest) ProtoMessage() {}
func (x *CreateShardKeyRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[85]
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 CreateShardKeyRequest.ProtoReflect.Descriptor instead.
func (*CreateShardKeyRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{85}
}
func (x *CreateShardKeyRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (x *CreateShardKeyRequest) GetRequest() *CreateShardKey {
if x != nil {
return x.Request
}
return nil
}
func (x *CreateShardKeyRequest) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
type DeleteShardKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
// Request to delete shard key
Request *DeleteShardKey `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
// Wait timeout for operation commit in seconds.
// If not specified - default value will be supplied.
Timeout *uint64 `protobuf:"varint,3,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}
func (x *DeleteShardKeyRequest) Reset() {
*x = DeleteShardKeyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteShardKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteShardKeyRequest) ProtoMessage() {}
func (x *DeleteShardKeyRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[86]
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 DeleteShardKeyRequest.ProtoReflect.Descriptor instead.
func (*DeleteShardKeyRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{86}
}
func (x *DeleteShardKeyRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
func (x *DeleteShardKeyRequest) GetRequest() *DeleteShardKey {
if x != nil {
return x.Request
}
return nil
}
func (x *DeleteShardKeyRequest) GetTimeout() uint64 {
if x != nil && x.Timeout != nil {
return *x.Timeout
}
return 0
}
type ListShardKeysRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the collection
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
}
func (x *ListShardKeysRequest) Reset() {
*x = ListShardKeysRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListShardKeysRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListShardKeysRequest) ProtoMessage() {}
func (x *ListShardKeysRequest) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[87]
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 ListShardKeysRequest.ProtoReflect.Descriptor instead.
func (*ListShardKeysRequest) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{87}
}
func (x *ListShardKeysRequest) GetCollectionName() string {
if x != nil {
return x.CollectionName
}
return ""
}
type CreateShardKeyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result bool `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
}
func (x *CreateShardKeyResponse) Reset() {
*x = CreateShardKeyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateShardKeyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateShardKeyResponse) ProtoMessage() {}
func (x *CreateShardKeyResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[88]
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 CreateShardKeyResponse.ProtoReflect.Descriptor instead.
func (*CreateShardKeyResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{88}
}
func (x *CreateShardKeyResponse) GetResult() bool {
if x != nil {
return x.Result
}
return false
}
type DeleteShardKeyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result bool `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
}
func (x *DeleteShardKeyResponse) Reset() {
*x = DeleteShardKeyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteShardKeyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteShardKeyResponse) ProtoMessage() {}
func (x *DeleteShardKeyResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[89]
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 DeleteShardKeyResponse.ProtoReflect.Descriptor instead.
func (*DeleteShardKeyResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{89}
}
func (x *DeleteShardKeyResponse) GetResult() bool {
if x != nil {
return x.Result
}
return false
}
type ShardKeyDescription struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *ShardKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
}
func (x *ShardKeyDescription) Reset() {
*x = ShardKeyDescription{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShardKeyDescription) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShardKeyDescription) ProtoMessage() {}
func (x *ShardKeyDescription) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[90]
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 ShardKeyDescription.ProtoReflect.Descriptor instead.
func (*ShardKeyDescription) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{90}
}
func (x *ShardKeyDescription) GetKey() *ShardKey {
if x != nil {
return x.Key
}
return nil
}
type ListShardKeysResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShardKeys []*ShardKeyDescription `protobuf:"bytes,1,rep,name=shard_keys,json=shardKeys,proto3" json:"shard_keys,omitempty"`
// Time spent to process
Time float64 `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *ListShardKeysResponse) Reset() {
*x = ListShardKeysResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_collections_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListShardKeysResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListShardKeysResponse) ProtoMessage() {}
func (x *ListShardKeysResponse) ProtoReflect() protoreflect.Message {
mi := &file_collections_proto_msgTypes[91]
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 ListShardKeysResponse.ProtoReflect.Descriptor instead.
func (*ListShardKeysResponse) Descriptor() ([]byte, []int) {
return file_collections_proto_rawDescGZIP(), []int{91}
}
func (x *ListShardKeysResponse) GetShardKeys() []*ShardKeyDescription {
if x != nil {
return x.ShardKeys
}
return nil
}
func (x *ListShardKeysResponse) GetTime() float64 {
if x != nil {
return x.Time
}
return 0
}
var File_collections_proto protoreflect.FileDescriptor
var file_collections_proto_rawDesc = []byte{
0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x06, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x13, 0x6a, 0x73, 0x6f,
0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x13, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x03, 0x0a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x69,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08,
0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x68, 0x6e, 0x73, 0x77,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x48, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x44, 0x69, 0x66, 0x66, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x13, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x01, 0x52, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64,
0x69, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x6f, 0x6e, 0x44,
0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79,
0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x48, 0x03, 0x52, 0x08, 0x64, 0x61,
0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x75, 0x6c,
0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d,
0x75, 0x6c, 0x74, 0x69, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x48, 0x04, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x6e, 0x73,
0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x71, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0b, 0x0a, 0x09,
0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x22, 0xf8, 0x01, 0x0a, 0x10, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x44, 0x69, 0x66, 0x66, 0x12, 0x3c, 0x0a, 0x0b, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x48, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69,
0x66, 0x66, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x13, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66,
0x48, 0x01, 0x52, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f,
0x64, 0x69, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x6f, 0x6e,
0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x6e, 0x73, 0x77,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x71, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0x93, 0x01, 0x0a, 0x0f,
0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x70, 0x12,
0x32, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03,
0x6d, 0x61, 0x70, 0x1a, 0x4c, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x61, 0x70, 0x12, 0x36, 0x0a, 0x03, 0x6d, 0x61, 0x70,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x44, 0x69, 0x66, 0x66,
0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6d, 0x61,
0x70, 0x1a, 0x50, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x44, 0x69, 0x66, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x83, 0x01, 0x0a, 0x0d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56,
0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x06, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f,
0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d,
0x61, 0x70, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x70, 0x42,
0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x56, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x12,
0x32, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x44, 0x69, 0x66, 0x66, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x6d, 0x61,
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x44, 0x69, 0x66,
0x66, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61,
0x70, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x12,
0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73,
0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x05,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69,
0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, 0x08,
0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
0x65, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x03, 0x6d, 0x61, 0x70,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6d, 0x61, 0x70,
0x1a, 0x52, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x11, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x56, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d,
0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x56, 0x65, 0x63, 0x74,
0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x63, 0x6f,
0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x42, 0x0a,
0x17, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45,
0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x60, 0x0a,
0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69,
0x73, 0x74, 0x73, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22,
0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x6e, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x43,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x4f,
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61,
0x64, 0x73, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x73, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x13,
0x0a, 0x07, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x75, 0x74,
0x6f, 0x10, 0x00, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x37,
0x0a, 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x98, 0x03, 0x0a, 0x0e, 0x48, 0x6e, 0x73, 0x77, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x12, 0x11, 0x0a, 0x01, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x01, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c,
0x65, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x04, 0x48, 0x01, 0x52, 0x0b, 0x65, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x61,
0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x04, 0x48, 0x02, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x68, 0x72,
0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x6d, 0x61, 0x78,
0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64,
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x49, 0x6e,
0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x88, 0x01, 0x01,
0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28,
0x08, 0x48, 0x04, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x20,
0x0a, 0x09, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28,
0x04, 0x48, 0x05, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x88, 0x01, 0x01,
0x12, 0x2a, 0x0a, 0x0e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0d, 0x69, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x04, 0x0a, 0x02,
0x5f, 0x6d, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72,
0x75, 0x63, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x61,
0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f,
0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72,
0x65, 0x61, 0x64, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b,
0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x42, 0x11,
0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65,
0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x13, 0x66, 0x75, 0x6c, 0x6c, 0x5f,
0x73, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x61, 0x6e,
0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07,
0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52,
0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x08, 0x64, 0x61,
0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x48, 0x02,
0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a,
0x14, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65,
0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73,
0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe1,
0x01, 0x0a, 0x0d, 0x57, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66,
0x12, 0x2b, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
0x5f, 0x6d, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x61, 0x6c,
0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a,
0x12, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x68,
0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x10, 0x77, 0x61, 0x6c,
0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x68, 0x65, 0x61, 0x64, 0x88, 0x01, 0x01,
0x12, 0x2f, 0x0a, 0x11, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x63,
0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0f, 0x77,
0x61, 0x6c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x88, 0x01,
0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69,
0x74, 0x79, 0x5f, 0x6d, 0x62, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65,
0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x68, 0x65, 0x61, 0x64, 0x42, 0x14, 0x0a, 0x12,
0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, 0x73,
0x65, 0x64, 0x22, 0xf3, 0x06, 0x0a, 0x14, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72,
0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x12, 0x30, 0x0a, 0x11, 0x64,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x64, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a,
0x18, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x65, 0x63, 0x74,
0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48,
0x01, 0x52, 0x15, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x63, 0x74,
0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x14, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65,
0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
0x48, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x69,
0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x6d, 0x61, 0x70, 0x5f,
0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48,
0x04, 0x52, 0x0f, 0x6d, 0x65, 0x6d, 0x6d, 0x61, 0x70, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e,
0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
0x04, 0x48, 0x05, 0x52, 0x11, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72,
0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x66, 0x6c, 0x75,
0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18,
0x07, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x10, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e,
0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x23,
0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f,
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65,
0x61, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x20, 0x64, 0x65, 0x70,
0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x88, 0x01, 0x01,
0x12, 0x5d, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x78, 0x4f,
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61,
0x64, 0x73, 0x48, 0x08, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12,
0x34, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x6e, 0x6f, 0x70, 0x74,
0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x12,
0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f,
0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x65, 0x66,
0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x67, 0x6d,
0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x65, 0x6d,
0x6d, 0x61, 0x70, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x15, 0x0a,
0x13, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73,
0x68, 0x6f, 0x6c, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x26, 0x0a, 0x24, 0x5f,
0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f,
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65,
0x61, 0x64, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x70, 0x74, 0x69,
0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73,
0x42, 0x16, 0x0a, 0x14, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x6e, 0x6f,
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x12, 0x53, 0x63, 0x61,
0x6c, 0x61, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a,
0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48,
0x00, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22,
0x0a, 0x0a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x48, 0x01, 0x52, 0x09, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52, 0x61, 0x6d, 0x88,
0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x42,
0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d, 0x22, 0x84,
0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73,
0x52, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79,
0x73, 0x5f, 0x72, 0x61, 0x6d, 0x22, 0xbf, 0x01, 0x0a, 0x1f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79,
0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72,
0x79, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x64,
0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x73,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x44, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0a,
0x0a, 0x06, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x63,
0x61, 0x6c, 0x61, 0x72, 0x34, 0x42, 0x69, 0x74, 0x73, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53,
0x63, 0x61, 0x6c, 0x61, 0x72, 0x38, 0x42, 0x69, 0x74, 0x73, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07,
0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x81, 0x02, 0x0a, 0x12, 0x42, 0x69, 0x6e, 0x61,
0x72, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22,
0x0a, 0x0a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52, 0x61, 0x6d, 0x88,
0x01, 0x01, 0x12, 0x43, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x69,
0x6e, 0x61, 0x72, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f,
0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79,
0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x27, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x51,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79,
0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x02, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72,
0x79, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b,
0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 0x75, 0x65,
0x72, 0x79, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x83, 0x01, 0x0a, 0x11,
0x54, 0x75, 0x72, 0x62, 0x6f, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52,
0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x75, 0x72,
0x62, 0x6f, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x01,
0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x6c,
0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x62, 0x69, 0x74,
0x73, 0x22, 0x86, 0x02, 0x0a, 0x12, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x63, 0x61, 0x6c,
0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x12, 0x37,
0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3b, 0x0a,
0x0a, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x75, 0x72, 0x62, 0x6f,
0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a,
0x74, 0x75, 0x72, 0x62, 0x6f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x71, 0x75,
0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x0a, 0x0a, 0x08, 0x44, 0x69,
0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xba, 0x02, 0x0a, 0x16, 0x51, 0x75, 0x61, 0x6e, 0x74,
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66,
0x66, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61,
0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
0x06, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x12, 0x2e, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x12, 0x34, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79,
0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06,
0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x71,
0x75, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x54, 0x75, 0x72, 0x62, 0x6f, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x71, 0x75,
0x61, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x0d, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f,
0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x71,
0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x48, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69,
0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78,
0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1c, 0x75, 0x6e,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e,
0x67, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x48, 0x03, 0x52, 0x1a, 0x75, 0x6e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x46, 0x69, 0x6c,
0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x88, 0x01,
0x01, 0x12, 0x41, 0x0a, 0x1a, 0x75, 0x6e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x18, 0x75, 0x6e, 0x69, 0x6e, 0x64, 0x65, 0x78,
0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6d,
0x61, 0x78, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
0x48, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x61, 0x78, 0x48, 0x6e, 0x73,
0x77, 0x45, 0x66, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01,
0x28, 0x08, 0x48, 0x06, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x6f,
0x77, 0x45, 0x78, 0x61, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x73, 0x65, 0x61,
0x72, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6d, 0x70,
0x6c, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x15, 0x73, 0x65,
0x61, 0x72, 0x63, 0x68, 0x4d, 0x61, 0x78, 0x4f, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6d, 0x70, 0x6c,
0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74,
0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09,
0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x12, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61,
0x78, 0x42, 0x61, 0x74, 0x63, 0x68, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a,
0x14, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74, 0x63,
0x68, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x12, 0x73,
0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x74, 0x63, 0x68, 0x73, 0x69, 0x7a,
0x65, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69,
0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a,
0x52, 0x1c, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56,
0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01,
0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0b, 0x52, 0x0d, 0x72, 0x65,
0x61, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d,
0x0a, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d,
0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74,
0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a,
0x21, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74,
0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0d, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x43,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15,
0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0e, 0x52, 0x13, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x04, 0x48, 0x0f, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
0x78, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74,
0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x10, 0x52, 0x11, 0x6d, 0x75, 0x6c,
0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01,
0x01, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x70, 0x61, 0x72,
0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x11, 0x52, 0x0c, 0x73, 0x70, 0x61, 0x72,
0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x6d,
0x61, 0x78, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x12, 0x20, 0x01, 0x28, 0x04, 0x48, 0x12, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x6d, 0x61,
0x78, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x48, 0x13, 0x52, 0x14, 0x6d,
0x61, 0x78, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65,
0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x65,
0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x14, 0x52, 0x18, 0x6d,
0x61, 0x78, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x71,
0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d,
0x61, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x75,
0x6e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69,
0x6e, 0x67, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f,
0x75, 0x6e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x69, 0x6e, 0x67, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73,
0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x65,
0x66, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c,
0x6f, 0x77, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, 0x65, 0x61,
0x72, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6d, 0x70,
0x6c, 0x69, 0x6e, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x5f,
0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x17, 0x0a,
0x15, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74,
0x63, 0x68, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f,
0x72, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42,
0x13, 0x0a, 0x11, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c,
0x69, 0x6d, 0x69, 0x74, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6d, 0x61,
0x78, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65,
0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x65,
0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74,
0x4d, 0x6f, 0x64, 0x65, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x55, 0x0a, 0x0d, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x70, 0x61, 0x72, 0x73,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x70, 0x61, 0x72, 0x73,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x59, 0x0a, 0x11, 0x53, 0x70, 0x61, 0x72, 0x73,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64,
0x65, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x45, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65,
0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65,
0x6e, 0x67, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x61,
0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d,
0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xed, 0x01, 0x0a, 0x1b, 0x53, 0x74,
0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x12, 0x6d, 0x75, 0x6c,
0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53,
0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69,
0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x1a, 0x63, 0x0a, 0x16, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d,
0x6f, 0x64, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4d, 0x0a, 0x15, 0x53, 0x74, 0x72,
0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x63, 0x74,
0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x56, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78,
0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x94, 0x0a, 0x0a, 0x10, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x48, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
0x69, 0x66, 0x66, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x57, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x48,
0x01, 0x52, 0x09, 0x77, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12,
0x4e, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x48, 0x02, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69,
0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12,
0x26, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x64, 0x69,
0x73, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
0x48, 0x04, 0x52, 0x0d, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x48, 0x06, 0x52, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x0d, 0x48, 0x07, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x77, 0x72,
0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f,
0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x08, 0x52, 0x16,
0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79,
0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x13, 0x71, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x48, 0x09, 0x52, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0f, 0x73,
0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68,
0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x0a, 0x52, 0x0e,
0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01,
0x01, 0x12, 0x53, 0x0a, 0x15, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65,
0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0b, 0x52, 0x13,
0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69,
0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0c, 0x52, 0x10,
0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4a, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72,
0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x68, 0x61,
0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x6e,
0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0a, 0x0a,
0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13,
0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f,
0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72,
0x42, 0x16, 0x0a, 0x14, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x68, 0x61,
0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x18, 0x0a, 0x16,
0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63,
0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08,
0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x22,
0x8b, 0x07, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a,
0x11, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x48, 0x00, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69,
0x7a, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a,
0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01,
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x44, 0x69, 0x66, 0x66, 0x48, 0x02, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x0b, 0x68, 0x6e, 0x73, 0x77, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x48, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x44, 0x69, 0x66, 0x66, 0x48, 0x03, 0x52, 0x0a, 0x68, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x48, 0x04, 0x52, 0x0d, 0x76, 0x65, 0x63, 0x74,
0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x13,
0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66, 0x66, 0x48, 0x05, 0x52, 0x12, 0x71, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88,
0x01, 0x01, 0x12, 0x53, 0x0a, 0x15, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73,
0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x06, 0x52,
0x13, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63,
0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x72,
0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x07, 0x52,
0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08,
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4a, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x18, 0x0a, 0x16,
0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63,
0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a,
0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69,
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x07, 0x74,
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x49, 0x0a, 0x1b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
0x22, 0xcc, 0x05, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x68, 0x61,
0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x64,
0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0d, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x12, 0x41, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x00, 0x52, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48,
0x01, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61,
0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x77, 0x72, 0x69, 0x74, 0x65,
0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x66, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x16, 0x77, 0x72, 0x69,
0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x46, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x66,
0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x10, 0x72, 0x65, 0x61, 0x64, 0x46, 0x61, 0x6e, 0x4f, 0x75,
0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x68,
0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x09, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61,
0x72, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x04, 0x52, 0x0e, 0x73,
0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01,
0x12, 0x53, 0x0a, 0x15, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56,
0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x05, 0x52, 0x13, 0x73,
0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x15, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x61,
0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x11, 0x72, 0x65, 0x61, 0x64, 0x46, 0x61, 0x6e, 0x4f,
0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f,
0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65,
0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x66, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x61, 0x6e,
0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f,
0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42,
0x18, 0x0a, 0x16, 0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x65,
0x61, 0x64, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
0x5f, 0x6d, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22,
0x9b, 0x03, 0x0a, 0x14, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x44, 0x69, 0x66, 0x66, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18,
0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63,
0x79, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01,
0x52, 0x16, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
0x63, 0x79, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6f,
0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61,
0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x64,
0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x10, 0x72, 0x65, 0x61, 0x64, 0x46, 0x61, 0x6e,
0x4f, 0x75, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x15,
0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c,
0x61, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x11, 0x72,
0x65, 0x61, 0x64, 0x46, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x73,
0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x77,
0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79,
0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x6e, 0x5f, 0x64,
0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f,
0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x61, 0x6e,
0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x73, 0x22, 0xda, 0x04,
0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x68, 0x6e, 0x73, 0x77, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x48, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66,
0x66, 0x52, 0x0a, 0x68, 0x6e, 0x73, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a,
0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x44, 0x69, 0x66, 0x66, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x57, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x66,
0x66, 0x52, 0x09, 0x77, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x13,
0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x4b,
0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f,
0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x08, 0x6d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a,
0x4a, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f,
0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6d,
0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x4b,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x69, 0x73, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01,
0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x48, 0x6e, 0x73, 0x77, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73,
0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73,
0x77, 0x22, 0xfa, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x6c, 0x6f, 0x6f, 0x6b,
0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x6f, 0x6f, 0x6b,
0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01,
0x12, 0x26, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6e,
0x63, 0x69, 0x70, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64,
0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x06, 0x6f, 0x6e, 0x44,
0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x5f, 0x68, 0x6e, 0x73, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0a, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07,
0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61, 0x6e, 0x67,
0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70,
0x61, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0e,
0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x22, 0xab,
0x01, 0x0a, 0x10, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01,
0x01, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61,
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x72, 0x69,
0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02,
0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88, 0x01, 0x01, 0x42,
0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x0e, 0x0a, 0x0c,
0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x22, 0x70, 0x0a, 0x0e,
0x47, 0x65, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c,
0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48,
0x00, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88,
0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0e,
0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x22, 0x44,
0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x53, 0x65, 0x74, 0x12, 0x1c,
0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75,
0x73, 0x74, 0x6f, 0x6d, 0x22, 0xd8, 0x04, 0x0a, 0x0f, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x54, 0x79,
0x70, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x21, 0x0a,
0x09, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01,
0x12, 0x27, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x65,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x6d, 0x61, 0x78,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
0x48, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x88,
0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01,
0x12, 0x37, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f,
0x70, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x09, 0x73, 0x74, 0x6f,
0x70, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x68, 0x72,
0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01,
0x28, 0x08, 0x48, 0x05, 0x52, 0x0e, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x6d, 0x6d,
0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x53, 0x74, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
0x74, 0x68, 0x6d, 0x48, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x6d, 0x6d, 0x65, 0x72, 0x88, 0x01,
0x01, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x73, 0x63, 0x69, 0x69, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x69,
0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0c, 0x61, 0x73, 0x63, 0x69,
0x69, 0x46, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
0x48, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88, 0x01,
0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x42,
0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x65,
0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
0x6c, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42,
0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x42, 0x12, 0x0a,
0x10, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e,
0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x74, 0x65, 0x6d, 0x6d, 0x65, 0x72, 0x42, 0x10, 0x0a,
0x0e, 0x5f, 0x61, 0x73, 0x63, 0x69, 0x69, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x22,
0x5c, 0x0a, 0x11, 0x53, 0x74, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72,
0x69, 0x74, 0x68, 0x6d, 0x12, 0x34, 0x0a, 0x08, 0x73, 0x6e, 0x6f, 0x77, 0x62, 0x61, 0x6c, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x53, 0x6e, 0x6f, 0x77, 0x62, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00,
0x52, 0x08, 0x73, 0x6e, 0x6f, 0x77, 0x62, 0x61, 0x6c, 0x6c, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74,
0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2c, 0x0a,
0x0e, 0x53, 0x6e, 0x6f, 0x77, 0x62, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x71, 0x0a, 0x0f, 0x42,
0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c,
0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48,
0x00, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88,
0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0e,
0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x22, 0xae,
0x01, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73,
0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73,
0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63,
0x69, 0x70, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x73,
0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28,
0x08, 0x48, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88,
0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0f,
0x0a, 0x0d, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e, 0x73, 0x77, 0x22,
0xa1, 0x01, 0x0a, 0x0f, 0x55, 0x75, 0x69, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x69, 0x73, 0x54, 0x65, 0x6e, 0x61,
0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b,
0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6e,
0x73, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x48, 0x6e, 0x73, 0x77, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73,
0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x6e, 0x5f, 0x64,
0x69, 0x73, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68,
0x6e, 0x73, 0x77, 0x22, 0xfa, 0x04, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x6b, 0x65,
0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x12, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x69, 0x6e,
0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x66, 0x6c,
0x6f, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x48, 0x00, 0x52, 0x10, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x10, 0x67, 0x65, 0x6f, 0x5f, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x6f, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x74, 0x65, 0x78, 0x74,
0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x78,
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x0f,
0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
0x45, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x51, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44,
0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x48, 0x00, 0x52, 0x13, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e,
0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x75, 0x75, 0x69,
0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x75,
0x69, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52,
0x0f, 0x75, 0x75, 0x69, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x42, 0x0e, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x22, 0xb7, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65,
0x6d, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37,
0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42,
0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x6b, 0x0a, 0x0f, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a,
0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c,
0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65,
0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00,
0x52, 0x0e, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73,
0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x9f, 0x05, 0x0a, 0x0e, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x10,
0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0e, 0x70, 0x61, 0x79,
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x29, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x61,
0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x26, 0x0a, 0x0c, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
0x04, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x76,
0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x04, 0x48, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x56, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x08,
0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69,
0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x71, 0x75,
0x65, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x1a,
0x5b, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d,
0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x18, 0x0a,
0x16, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08,
0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x6d, 0x0a, 0x0d, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a,
0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00,
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xc9, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x69,
0x61, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0c,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65,
0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x69, 0x61,
0x73, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73,
0x12, 0x38, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c,
0x69, 0x61, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0b, 0x52,
0x65, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x6c,
0x64, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x41, 0x6c, 0x69,
0x61, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73,
0x4e, 0x61, 0x6d, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x69, 0x61,
0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x1c, 0x4c, 0x69,
0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61,
0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
0x61, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x44, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x69,
0x61, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22,
0x5d, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x47,
0x0a, 0x1c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27,
0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x47, 0x0a, 0x08, 0x53, 0x68, 0x61, 0x72, 0x64,
0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12,
0x18, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48,
0x00, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x22, 0xbc, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x21,
0x0a, 0x0c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x14, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a,
0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b,
0x65, 0x79, 0x48, 0x00, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x88, 0x01,
0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x22,
0xb3, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17,
0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72,
0x64, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x68, 0x61, 0x72,
0x64, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73,
0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61,
0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x74,
0x6f, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x66,
0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12,
0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x6f, 0x12,
0x12, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73,
0x79, 0x6e, 0x63, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
0x5f, 0x69, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69,
0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49,
0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x68,
0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x48,
0x00, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39,
0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x68, 0x61,
0x72, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x68,
0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xe3, 0x02, 0x0a, 0x1d, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65,
0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72,
0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x61,
0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x3c,
0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18,
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52,
0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c,
0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0f,
0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53,
0x68, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73,
0x12, 0x4b, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64,
0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64,
0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe0, 0x01,
0x0a, 0x09, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73,
0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61,
0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x74,
0x6f, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x66,
0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x04, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a,
0x0a, 0x74, 0x6f, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x04, 0x52, 0x08, 0x74, 0x6f, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x6d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x71, 0x64,
0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61,
0x72, 0x64, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x22, 0xe5, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x68,
0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x23,
0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x74, 0x6f, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64,
0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50,
0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x70, 0x65, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x6f, 0x50, 0x65, 0x65,
0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61,
0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a,
0x0c, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a,
0x07, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x41, 0x62, 0x6f,
0x72, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12,
0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0b, 0x74, 0x6f,
0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48,
0x00, 0x52, 0x09, 0x74, 0x6f, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12,
0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x65, 0x65, 0x72, 0x49,
0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x6f, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x22,
0xd6, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x66, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x23,
0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x74, 0x6f, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64,
0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50,
0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x70, 0x65, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x6f, 0x50, 0x65, 0x65,
0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61,
0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x6f, 0x5f,
0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0e,
0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68,
0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x53, 0x68, 0x61, 0x72,
0x64, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x0c, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x74, 0x6f,
0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e,
0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x22, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73,
0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22,
0xb6, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b,
0x65, 0x79, 0x12, 0x2d, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53,
0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65,
0x79, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72,
0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72,
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12,
0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03,
0x28, 0x04, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a,
0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x02, 0x52, 0x0c, 0x69, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a,
0x0e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42,
0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x09, 0x73, 0x68,
0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52,
0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x22, 0x8c, 0x05, 0x0a, 0x23, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x6d, 0x6f,
0x76, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72,
0x64, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x41,
0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x48,
0x00, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
0x64, 0x12, 0x43, 0x0a, 0x0e, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73,
0x66, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x64, 0x72, 0x61,
0x6e, 0x74, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72,
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x48, 0x00, 0x52,
0x0b, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x42, 0x0a, 0x10,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x48, 0x00,
0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79,
0x12, 0x42, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71, 0x64, 0x72,
0x61, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b,
0x65, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
0x64, 0x4b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61,
0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x00, 0x52,
0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73,
0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
0x04, 0x48, 0x01, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42,
0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3e, 0x0a, 0x24, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
0x64, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00,
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x71,
0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
0x64, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00,
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74,
0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x30, 0x0a, 0x16, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x39, 0x0a,
0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x67, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74,
0x53, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53,
0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x12, 0x0a,
0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d,
0x65, 0x2a, 0x3c, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a,
0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x33, 0x32, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x69, 0x6e, 0x74, 0x38,
0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x31, 0x36, 0x10, 0x03, 0x2a,
0x1d, 0x0a, 0x08, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x4e,
0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x64, 0x66, 0x10, 0x01, 0x2a, 0x23,
0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d,
0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x61, 0x78, 0x53, 0x69,
0x6d, 0x10, 0x00, 0x2a, 0x4f, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
0x13, 0x0a, 0x0f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x6f, 0x73, 0x69, 0x6e, 0x65, 0x10, 0x01,
0x12, 0x0a, 0x0a, 0x06, 0x45, 0x75, 0x63, 0x6c, 0x69, 0x64, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03,
0x44, 0x6f, 0x74, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x61, 0x6e, 0x68, 0x61, 0x74, 0x74,
0x61, 0x6e, 0x10, 0x04, 0x2a, 0x59, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x6e, 0x6b, 0x6e,
0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x01,
0x12, 0x0a, 0x0a, 0x06, 0x59, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03,
0x52, 0x65, 0x64, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x72, 0x65, 0x79, 0x10, 0x04, 0x2a,
0x7e, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x10, 0x02, 0x12,
0x09, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x65,
0x6f, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x10, 0x05, 0x12, 0x08, 0x0a,
0x04, 0x42, 0x6f, 0x6f, 0x6c, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x74,
0x69, 0x6d, 0x65, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x10, 0x08, 0x2a,
0x35, 0x0a, 0x10, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x51, 0x75,
0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
0x49, 0x6e, 0x74, 0x38, 0x10, 0x01, 0x2a, 0x3d, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x06, 0x0a, 0x02, 0x78, 0x34,
0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x78, 0x38, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x78, 0x31,
0x36, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x78, 0x33, 0x32, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03,
0x78, 0x36, 0x34, 0x10, 0x04, 0x2a, 0x49, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x51,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64,
0x69, 0x6e, 0x67, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x6e, 0x65, 0x42, 0x69, 0x74, 0x10, 0x00, 0x12,
0x0b, 0x0a, 0x07, 0x54, 0x77, 0x6f, 0x42, 0x69, 0x74, 0x73, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e,
0x4f, 0x6e, 0x65, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x6c, 0x66, 0x42, 0x69, 0x74, 0x73, 0x10, 0x02,
0x2a, 0x41, 0x0a, 0x11, 0x54, 0x75, 0x72, 0x62, 0x6f, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x42, 0x69,
0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x69, 0x74, 0x73, 0x31, 0x10, 0x00,
0x12, 0x0b, 0x0a, 0x07, 0x42, 0x69, 0x74, 0x73, 0x31, 0x5f, 0x35, 0x10, 0x01, 0x12, 0x09, 0x0a,
0x05, 0x42, 0x69, 0x74, 0x73, 0x32, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x69, 0x74, 0x73,
0x34, 0x10, 0x03, 0x2a, 0x26, 0x0a, 0x0e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x75, 0x74, 0x6f, 0x10, 0x00, 0x12,
0x0a, 0x0a, 0x06, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x01, 0x2a, 0x54, 0x0a, 0x0d, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07,
0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x72, 0x65,
0x66, 0x69, 0x78, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70,
0x61, 0x63, 0x65, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x64, 0x10, 0x03, 0x12,
0x10, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x75, 0x61, 0x6c, 0x10,
0x04, 0x2a, 0xc1, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61,
0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x00, 0x12, 0x08,
0x0a, 0x04, 0x44, 0x65, 0x61, 0x64, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74,
0x69, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
0x69, 0x7a, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x65, 0x72, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x68,
0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x68,
0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x10,
0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x61, 0x64, 0x10,
0x09, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x79, 0x10, 0x0a, 0x2a, 0x27, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64,
0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02,
0x55, 0x70, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x6f, 0x77, 0x6e, 0x10, 0x01, 0x2a, 0x61,
0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70,
0x73, 0x68, 0x6f, 0x74, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x61, 0x6c, 0x44, 0x65, 0x6c,
0x74, 0x61, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69,
0x6e, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x10,
0x03, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_collections_proto_rawDescOnce sync.Once
file_collections_proto_rawDescData = file_collections_proto_rawDesc
)
func file_collections_proto_rawDescGZIP() []byte {
file_collections_proto_rawDescOnce.Do(func() {
file_collections_proto_rawDescData = protoimpl.X.CompressGZIP(file_collections_proto_rawDescData)
})
return file_collections_proto_rawDescData
}
var file_collections_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
var file_collections_proto_msgTypes = make([]protoimpl.MessageInfo, 101)
var file_collections_proto_goTypes = []any{
(Datatype)(0), // 0: qdrant.Datatype
(Modifier)(0), // 1: qdrant.Modifier
(MultiVectorComparator)(0), // 2: qdrant.MultiVectorComparator
(Distance)(0), // 3: qdrant.Distance
(CollectionStatus)(0), // 4: qdrant.CollectionStatus
(PayloadSchemaType)(0), // 5: qdrant.PayloadSchemaType
(QuantizationType)(0), // 6: qdrant.QuantizationType
(CompressionRatio)(0), // 7: qdrant.CompressionRatio
(BinaryQuantizationEncoding)(0), // 8: qdrant.BinaryQuantizationEncoding
(TurboQuantBitSize)(0), // 9: qdrant.TurboQuantBitSize
(ShardingMethod)(0), // 10: qdrant.ShardingMethod
(TokenizerType)(0), // 11: qdrant.TokenizerType
(ReplicaState)(0), // 12: qdrant.ReplicaState
(ReshardingDirection)(0), // 13: qdrant.ReshardingDirection
(ShardTransferMethod)(0), // 14: qdrant.ShardTransferMethod
(MaxOptimizationThreads_Setting)(0), // 15: qdrant.MaxOptimizationThreads.Setting
(BinaryQuantizationQueryEncoding_Setting)(0), // 16: qdrant.BinaryQuantizationQueryEncoding.Setting
(*VectorParams)(nil), // 17: qdrant.VectorParams
(*VectorParamsDiff)(nil), // 18: qdrant.VectorParamsDiff
(*VectorParamsMap)(nil), // 19: qdrant.VectorParamsMap
(*VectorParamsDiffMap)(nil), // 20: qdrant.VectorParamsDiffMap
(*VectorsConfig)(nil), // 21: qdrant.VectorsConfig
(*VectorsConfigDiff)(nil), // 22: qdrant.VectorsConfigDiff
(*SparseVectorParams)(nil), // 23: qdrant.SparseVectorParams
(*SparseVectorConfig)(nil), // 24: qdrant.SparseVectorConfig
(*MultiVectorConfig)(nil), // 25: qdrant.MultiVectorConfig
(*GetCollectionInfoRequest)(nil), // 26: qdrant.GetCollectionInfoRequest
(*CollectionExistsRequest)(nil), // 27: qdrant.CollectionExistsRequest
(*CollectionExists)(nil), // 28: qdrant.CollectionExists
(*CollectionExistsResponse)(nil), // 29: qdrant.CollectionExistsResponse
(*ListCollectionsRequest)(nil), // 30: qdrant.ListCollectionsRequest
(*CollectionDescription)(nil), // 31: qdrant.CollectionDescription
(*GetCollectionInfoResponse)(nil), // 32: qdrant.GetCollectionInfoResponse
(*ListCollectionsResponse)(nil), // 33: qdrant.ListCollectionsResponse
(*MaxOptimizationThreads)(nil), // 34: qdrant.MaxOptimizationThreads
(*OptimizerStatus)(nil), // 35: qdrant.OptimizerStatus
(*CollectionWarning)(nil), // 36: qdrant.CollectionWarning
(*HnswConfigDiff)(nil), // 37: qdrant.HnswConfigDiff
(*SparseIndexConfig)(nil), // 38: qdrant.SparseIndexConfig
(*WalConfigDiff)(nil), // 39: qdrant.WalConfigDiff
(*OptimizersConfigDiff)(nil), // 40: qdrant.OptimizersConfigDiff
(*ScalarQuantization)(nil), // 41: qdrant.ScalarQuantization
(*ProductQuantization)(nil), // 42: qdrant.ProductQuantization
(*BinaryQuantizationQueryEncoding)(nil), // 43: qdrant.BinaryQuantizationQueryEncoding
(*BinaryQuantization)(nil), // 44: qdrant.BinaryQuantization
(*TurboQuantization)(nil), // 45: qdrant.TurboQuantization
(*QuantizationConfig)(nil), // 46: qdrant.QuantizationConfig
(*Disabled)(nil), // 47: qdrant.Disabled
(*QuantizationConfigDiff)(nil), // 48: qdrant.QuantizationConfigDiff
(*StrictModeConfig)(nil), // 49: qdrant.StrictModeConfig
(*StrictModeSparseConfig)(nil), // 50: qdrant.StrictModeSparseConfig
(*StrictModeSparse)(nil), // 51: qdrant.StrictModeSparse
(*StrictModeMultivectorConfig)(nil), // 52: qdrant.StrictModeMultivectorConfig
(*StrictModeMultivector)(nil), // 53: qdrant.StrictModeMultivector
(*CreateCollection)(nil), // 54: qdrant.CreateCollection
(*UpdateCollection)(nil), // 55: qdrant.UpdateCollection
(*DeleteCollection)(nil), // 56: qdrant.DeleteCollection
(*CollectionOperationResponse)(nil), // 57: qdrant.CollectionOperationResponse
(*CollectionParams)(nil), // 58: qdrant.CollectionParams
(*CollectionParamsDiff)(nil), // 59: qdrant.CollectionParamsDiff
(*CollectionConfig)(nil), // 60: qdrant.CollectionConfig
(*KeywordIndexParams)(nil), // 61: qdrant.KeywordIndexParams
(*IntegerIndexParams)(nil), // 62: qdrant.IntegerIndexParams
(*FloatIndexParams)(nil), // 63: qdrant.FloatIndexParams
(*GeoIndexParams)(nil), // 64: qdrant.GeoIndexParams
(*StopwordsSet)(nil), // 65: qdrant.StopwordsSet
(*TextIndexParams)(nil), // 66: qdrant.TextIndexParams
(*StemmingAlgorithm)(nil), // 67: qdrant.StemmingAlgorithm
(*SnowballParams)(nil), // 68: qdrant.SnowballParams
(*BoolIndexParams)(nil), // 69: qdrant.BoolIndexParams
(*DatetimeIndexParams)(nil), // 70: qdrant.DatetimeIndexParams
(*UuidIndexParams)(nil), // 71: qdrant.UuidIndexParams
(*PayloadIndexParams)(nil), // 72: qdrant.PayloadIndexParams
(*PayloadSchemaInfo)(nil), // 73: qdrant.PayloadSchemaInfo
(*UpdateQueueInfo)(nil), // 74: qdrant.UpdateQueueInfo
(*CollectionInfo)(nil), // 75: qdrant.CollectionInfo
(*ChangeAliases)(nil), // 76: qdrant.ChangeAliases
(*AliasOperations)(nil), // 77: qdrant.AliasOperations
(*CreateAlias)(nil), // 78: qdrant.CreateAlias
(*RenameAlias)(nil), // 79: qdrant.RenameAlias
(*DeleteAlias)(nil), // 80: qdrant.DeleteAlias
(*ListAliasesRequest)(nil), // 81: qdrant.ListAliasesRequest
(*ListCollectionAliasesRequest)(nil), // 82: qdrant.ListCollectionAliasesRequest
(*AliasDescription)(nil), // 83: qdrant.AliasDescription
(*ListAliasesResponse)(nil), // 84: qdrant.ListAliasesResponse
(*CollectionClusterInfoRequest)(nil), // 85: qdrant.CollectionClusterInfoRequest
(*ShardKey)(nil), // 86: qdrant.ShardKey
(*LocalShardInfo)(nil), // 87: qdrant.LocalShardInfo
(*RemoteShardInfo)(nil), // 88: qdrant.RemoteShardInfo
(*ShardTransferInfo)(nil), // 89: qdrant.ShardTransferInfo
(*ReshardingInfo)(nil), // 90: qdrant.ReshardingInfo
(*CollectionClusterInfoResponse)(nil), // 91: qdrant.CollectionClusterInfoResponse
(*MoveShard)(nil), // 92: qdrant.MoveShard
(*ReplicateShard)(nil), // 93: qdrant.ReplicateShard
(*AbortShardTransfer)(nil), // 94: qdrant.AbortShardTransfer
(*RestartTransfer)(nil), // 95: qdrant.RestartTransfer
(*ReplicatePoints)(nil), // 96: qdrant.ReplicatePoints
(*Replica)(nil), // 97: qdrant.Replica
(*CreateShardKey)(nil), // 98: qdrant.CreateShardKey
(*DeleteShardKey)(nil), // 99: qdrant.DeleteShardKey
(*UpdateCollectionClusterSetupRequest)(nil), // 100: qdrant.UpdateCollectionClusterSetupRequest
(*UpdateCollectionClusterSetupResponse)(nil), // 101: qdrant.UpdateCollectionClusterSetupResponse
(*CreateShardKeyRequest)(nil), // 102: qdrant.CreateShardKeyRequest
(*DeleteShardKeyRequest)(nil), // 103: qdrant.DeleteShardKeyRequest
(*ListShardKeysRequest)(nil), // 104: qdrant.ListShardKeysRequest
(*CreateShardKeyResponse)(nil), // 105: qdrant.CreateShardKeyResponse
(*DeleteShardKeyResponse)(nil), // 106: qdrant.DeleteShardKeyResponse
(*ShardKeyDescription)(nil), // 107: qdrant.ShardKeyDescription
(*ListShardKeysResponse)(nil), // 108: qdrant.ListShardKeysResponse
nil, // 109: qdrant.VectorParamsMap.MapEntry
nil, // 110: qdrant.VectorParamsDiffMap.MapEntry
nil, // 111: qdrant.SparseVectorConfig.MapEntry
nil, // 112: qdrant.StrictModeSparseConfig.SparseConfigEntry
nil, // 113: qdrant.StrictModeMultivectorConfig.MultivectorConfigEntry
nil, // 114: qdrant.CreateCollection.MetadataEntry
nil, // 115: qdrant.UpdateCollection.MetadataEntry
nil, // 116: qdrant.CollectionConfig.MetadataEntry
nil, // 117: qdrant.CollectionInfo.PayloadSchemaEntry
(*Filter)(nil), // 118: qdrant.Filter
(*Value)(nil), // 119: qdrant.Value
}
var file_collections_proto_depIdxs = []int32{
3, // 0: qdrant.VectorParams.distance:type_name -> qdrant.Distance
37, // 1: qdrant.VectorParams.hnsw_config:type_name -> qdrant.HnswConfigDiff
46, // 2: qdrant.VectorParams.quantization_config:type_name -> qdrant.QuantizationConfig
0, // 3: qdrant.VectorParams.datatype:type_name -> qdrant.Datatype
25, // 4: qdrant.VectorParams.multivector_config:type_name -> qdrant.MultiVectorConfig
37, // 5: qdrant.VectorParamsDiff.hnsw_config:type_name -> qdrant.HnswConfigDiff
48, // 6: qdrant.VectorParamsDiff.quantization_config:type_name -> qdrant.QuantizationConfigDiff
109, // 7: qdrant.VectorParamsMap.map:type_name -> qdrant.VectorParamsMap.MapEntry
110, // 8: qdrant.VectorParamsDiffMap.map:type_name -> qdrant.VectorParamsDiffMap.MapEntry
17, // 9: qdrant.VectorsConfig.params:type_name -> qdrant.VectorParams
19, // 10: qdrant.VectorsConfig.params_map:type_name -> qdrant.VectorParamsMap
18, // 11: qdrant.VectorsConfigDiff.params:type_name -> qdrant.VectorParamsDiff
20, // 12: qdrant.VectorsConfigDiff.params_map:type_name -> qdrant.VectorParamsDiffMap
38, // 13: qdrant.SparseVectorParams.index:type_name -> qdrant.SparseIndexConfig
1, // 14: qdrant.SparseVectorParams.modifier:type_name -> qdrant.Modifier
111, // 15: qdrant.SparseVectorConfig.map:type_name -> qdrant.SparseVectorConfig.MapEntry
2, // 16: qdrant.MultiVectorConfig.comparator:type_name -> qdrant.MultiVectorComparator
28, // 17: qdrant.CollectionExistsResponse.result:type_name -> qdrant.CollectionExists
75, // 18: qdrant.GetCollectionInfoResponse.result:type_name -> qdrant.CollectionInfo
31, // 19: qdrant.ListCollectionsResponse.collections:type_name -> qdrant.CollectionDescription
15, // 20: qdrant.MaxOptimizationThreads.setting:type_name -> qdrant.MaxOptimizationThreads.Setting
0, // 21: qdrant.SparseIndexConfig.datatype:type_name -> qdrant.Datatype
34, // 22: qdrant.OptimizersConfigDiff.max_optimization_threads:type_name -> qdrant.MaxOptimizationThreads
6, // 23: qdrant.ScalarQuantization.type:type_name -> qdrant.QuantizationType
7, // 24: qdrant.ProductQuantization.compression:type_name -> qdrant.CompressionRatio
16, // 25: qdrant.BinaryQuantizationQueryEncoding.setting:type_name -> qdrant.BinaryQuantizationQueryEncoding.Setting
8, // 26: qdrant.BinaryQuantization.encoding:type_name -> qdrant.BinaryQuantizationEncoding
43, // 27: qdrant.BinaryQuantization.query_encoding:type_name -> qdrant.BinaryQuantizationQueryEncoding
9, // 28: qdrant.TurboQuantization.bits:type_name -> qdrant.TurboQuantBitSize
41, // 29: qdrant.QuantizationConfig.scalar:type_name -> qdrant.ScalarQuantization
42, // 30: qdrant.QuantizationConfig.product:type_name -> qdrant.ProductQuantization
44, // 31: qdrant.QuantizationConfig.binary:type_name -> qdrant.BinaryQuantization
45, // 32: qdrant.QuantizationConfig.turboquant:type_name -> qdrant.TurboQuantization
41, // 33: qdrant.QuantizationConfigDiff.scalar:type_name -> qdrant.ScalarQuantization
42, // 34: qdrant.QuantizationConfigDiff.product:type_name -> qdrant.ProductQuantization
47, // 35: qdrant.QuantizationConfigDiff.disabled:type_name -> qdrant.Disabled
44, // 36: qdrant.QuantizationConfigDiff.binary:type_name -> qdrant.BinaryQuantization
45, // 37: qdrant.QuantizationConfigDiff.turboquant:type_name -> qdrant.TurboQuantization
52, // 38: qdrant.StrictModeConfig.multivector_config:type_name -> qdrant.StrictModeMultivectorConfig
50, // 39: qdrant.StrictModeConfig.sparse_config:type_name -> qdrant.StrictModeSparseConfig
112, // 40: qdrant.StrictModeSparseConfig.sparse_config:type_name -> qdrant.StrictModeSparseConfig.SparseConfigEntry
113, // 41: qdrant.StrictModeMultivectorConfig.multivector_config:type_name -> qdrant.StrictModeMultivectorConfig.MultivectorConfigEntry
37, // 42: qdrant.CreateCollection.hnsw_config:type_name -> qdrant.HnswConfigDiff
39, // 43: qdrant.CreateCollection.wal_config:type_name -> qdrant.WalConfigDiff
40, // 44: qdrant.CreateCollection.optimizers_config:type_name -> qdrant.OptimizersConfigDiff
21, // 45: qdrant.CreateCollection.vectors_config:type_name -> qdrant.VectorsConfig
46, // 46: qdrant.CreateCollection.quantization_config:type_name -> qdrant.QuantizationConfig
10, // 47: qdrant.CreateCollection.sharding_method:type_name -> qdrant.ShardingMethod
24, // 48: qdrant.CreateCollection.sparse_vectors_config:type_name -> qdrant.SparseVectorConfig
49, // 49: qdrant.CreateCollection.strict_mode_config:type_name -> qdrant.StrictModeConfig
114, // 50: qdrant.CreateCollection.metadata:type_name -> qdrant.CreateCollection.MetadataEntry
40, // 51: qdrant.UpdateCollection.optimizers_config:type_name -> qdrant.OptimizersConfigDiff
59, // 52: qdrant.UpdateCollection.params:type_name -> qdrant.CollectionParamsDiff
37, // 53: qdrant.UpdateCollection.hnsw_config:type_name -> qdrant.HnswConfigDiff
22, // 54: qdrant.UpdateCollection.vectors_config:type_name -> qdrant.VectorsConfigDiff
48, // 55: qdrant.UpdateCollection.quantization_config:type_name -> qdrant.QuantizationConfigDiff
24, // 56: qdrant.UpdateCollection.sparse_vectors_config:type_name -> qdrant.SparseVectorConfig
49, // 57: qdrant.UpdateCollection.strict_mode_config:type_name -> qdrant.StrictModeConfig
115, // 58: qdrant.UpdateCollection.metadata:type_name -> qdrant.UpdateCollection.MetadataEntry
21, // 59: qdrant.CollectionParams.vectors_config:type_name -> qdrant.VectorsConfig
10, // 60: qdrant.CollectionParams.sharding_method:type_name -> qdrant.ShardingMethod
24, // 61: qdrant.CollectionParams.sparse_vectors_config:type_name -> qdrant.SparseVectorConfig
58, // 62: qdrant.CollectionConfig.params:type_name -> qdrant.CollectionParams
37, // 63: qdrant.CollectionConfig.hnsw_config:type_name -> qdrant.HnswConfigDiff
40, // 64: qdrant.CollectionConfig.optimizer_config:type_name -> qdrant.OptimizersConfigDiff
39, // 65: qdrant.CollectionConfig.wal_config:type_name -> qdrant.WalConfigDiff
46, // 66: qdrant.CollectionConfig.quantization_config:type_name -> qdrant.QuantizationConfig
49, // 67: qdrant.CollectionConfig.strict_mode_config:type_name -> qdrant.StrictModeConfig
116, // 68: qdrant.CollectionConfig.metadata:type_name -> qdrant.CollectionConfig.MetadataEntry
11, // 69: qdrant.TextIndexParams.tokenizer:type_name -> qdrant.TokenizerType
65, // 70: qdrant.TextIndexParams.stopwords:type_name -> qdrant.StopwordsSet
67, // 71: qdrant.TextIndexParams.stemmer:type_name -> qdrant.StemmingAlgorithm
68, // 72: qdrant.StemmingAlgorithm.snowball:type_name -> qdrant.SnowballParams
61, // 73: qdrant.PayloadIndexParams.keyword_index_params:type_name -> qdrant.KeywordIndexParams
62, // 74: qdrant.PayloadIndexParams.integer_index_params:type_name -> qdrant.IntegerIndexParams
63, // 75: qdrant.PayloadIndexParams.float_index_params:type_name -> qdrant.FloatIndexParams
64, // 76: qdrant.PayloadIndexParams.geo_index_params:type_name -> qdrant.GeoIndexParams
66, // 77: qdrant.PayloadIndexParams.text_index_params:type_name -> qdrant.TextIndexParams
69, // 78: qdrant.PayloadIndexParams.bool_index_params:type_name -> qdrant.BoolIndexParams
70, // 79: qdrant.PayloadIndexParams.datetime_index_params:type_name -> qdrant.DatetimeIndexParams
71, // 80: qdrant.PayloadIndexParams.uuid_index_params:type_name -> qdrant.UuidIndexParams
5, // 81: qdrant.PayloadSchemaInfo.data_type:type_name -> qdrant.PayloadSchemaType
72, // 82: qdrant.PayloadSchemaInfo.params:type_name -> qdrant.PayloadIndexParams
4, // 83: qdrant.CollectionInfo.status:type_name -> qdrant.CollectionStatus
35, // 84: qdrant.CollectionInfo.optimizer_status:type_name -> qdrant.OptimizerStatus
60, // 85: qdrant.CollectionInfo.config:type_name -> qdrant.CollectionConfig
117, // 86: qdrant.CollectionInfo.payload_schema:type_name -> qdrant.CollectionInfo.PayloadSchemaEntry
36, // 87: qdrant.CollectionInfo.warnings:type_name -> qdrant.CollectionWarning
74, // 88: qdrant.CollectionInfo.update_queue:type_name -> qdrant.UpdateQueueInfo
77, // 89: qdrant.ChangeAliases.actions:type_name -> qdrant.AliasOperations
78, // 90: qdrant.AliasOperations.create_alias:type_name -> qdrant.CreateAlias
79, // 91: qdrant.AliasOperations.rename_alias:type_name -> qdrant.RenameAlias
80, // 92: qdrant.AliasOperations.delete_alias:type_name -> qdrant.DeleteAlias
83, // 93: qdrant.ListAliasesResponse.aliases:type_name -> qdrant.AliasDescription
12, // 94: qdrant.LocalShardInfo.state:type_name -> qdrant.ReplicaState
86, // 95: qdrant.LocalShardInfo.shard_key:type_name -> qdrant.ShardKey
12, // 96: qdrant.RemoteShardInfo.state:type_name -> qdrant.ReplicaState
86, // 97: qdrant.RemoteShardInfo.shard_key:type_name -> qdrant.ShardKey
86, // 98: qdrant.ReshardingInfo.shard_key:type_name -> qdrant.ShardKey
13, // 99: qdrant.ReshardingInfo.direction:type_name -> qdrant.ReshardingDirection
87, // 100: qdrant.CollectionClusterInfoResponse.local_shards:type_name -> qdrant.LocalShardInfo
88, // 101: qdrant.CollectionClusterInfoResponse.remote_shards:type_name -> qdrant.RemoteShardInfo
89, // 102: qdrant.CollectionClusterInfoResponse.shard_transfers:type_name -> qdrant.ShardTransferInfo
90, // 103: qdrant.CollectionClusterInfoResponse.resharding_operations:type_name -> qdrant.ReshardingInfo
14, // 104: qdrant.MoveShard.method:type_name -> qdrant.ShardTransferMethod
14, // 105: qdrant.ReplicateShard.method:type_name -> qdrant.ShardTransferMethod
14, // 106: qdrant.RestartTransfer.method:type_name -> qdrant.ShardTransferMethod
86, // 107: qdrant.ReplicatePoints.from_shard_key:type_name -> qdrant.ShardKey
86, // 108: qdrant.ReplicatePoints.to_shard_key:type_name -> qdrant.ShardKey
118, // 109: qdrant.ReplicatePoints.filter:type_name -> qdrant.Filter
86, // 110: qdrant.CreateShardKey.shard_key:type_name -> qdrant.ShardKey
12, // 111: qdrant.CreateShardKey.initial_state:type_name -> qdrant.ReplicaState
86, // 112: qdrant.DeleteShardKey.shard_key:type_name -> qdrant.ShardKey
92, // 113: qdrant.UpdateCollectionClusterSetupRequest.move_shard:type_name -> qdrant.MoveShard
93, // 114: qdrant.UpdateCollectionClusterSetupRequest.replicate_shard:type_name -> qdrant.ReplicateShard
94, // 115: qdrant.UpdateCollectionClusterSetupRequest.abort_transfer:type_name -> qdrant.AbortShardTransfer
97, // 116: qdrant.UpdateCollectionClusterSetupRequest.drop_replica:type_name -> qdrant.Replica
98, // 117: qdrant.UpdateCollectionClusterSetupRequest.create_shard_key:type_name -> qdrant.CreateShardKey
99, // 118: qdrant.UpdateCollectionClusterSetupRequest.delete_shard_key:type_name -> qdrant.DeleteShardKey
95, // 119: qdrant.UpdateCollectionClusterSetupRequest.restart_transfer:type_name -> qdrant.RestartTransfer
96, // 120: qdrant.UpdateCollectionClusterSetupRequest.replicate_points:type_name -> qdrant.ReplicatePoints
98, // 121: qdrant.CreateShardKeyRequest.request:type_name -> qdrant.CreateShardKey
99, // 122: qdrant.DeleteShardKeyRequest.request:type_name -> qdrant.DeleteShardKey
86, // 123: qdrant.ShardKeyDescription.key:type_name -> qdrant.ShardKey
107, // 124: qdrant.ListShardKeysResponse.shard_keys:type_name -> qdrant.ShardKeyDescription
17, // 125: qdrant.VectorParamsMap.MapEntry.value:type_name -> qdrant.VectorParams
18, // 126: qdrant.VectorParamsDiffMap.MapEntry.value:type_name -> qdrant.VectorParamsDiff
23, // 127: qdrant.SparseVectorConfig.MapEntry.value:type_name -> qdrant.SparseVectorParams
51, // 128: qdrant.StrictModeSparseConfig.SparseConfigEntry.value:type_name -> qdrant.StrictModeSparse
53, // 129: qdrant.StrictModeMultivectorConfig.MultivectorConfigEntry.value:type_name -> qdrant.StrictModeMultivector
119, // 130: qdrant.CreateCollection.MetadataEntry.value:type_name -> qdrant.Value
119, // 131: qdrant.UpdateCollection.MetadataEntry.value:type_name -> qdrant.Value
119, // 132: qdrant.CollectionConfig.MetadataEntry.value:type_name -> qdrant.Value
73, // 133: qdrant.CollectionInfo.PayloadSchemaEntry.value:type_name -> qdrant.PayloadSchemaInfo
134, // [134:134] is the sub-list for method output_type
134, // [134:134] is the sub-list for method input_type
134, // [134:134] is the sub-list for extension type_name
134, // [134:134] is the sub-list for extension extendee
0, // [0:134] is the sub-list for field type_name
}
func init() { file_collections_proto_init() }
func file_collections_proto_init() {
if File_collections_proto != nil {
return
}
file_json_with_int_proto_init()
file_qdrant_common_proto_init()
if !protoimpl.UnsafeEnabled {
file_collections_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*VectorParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*VectorParamsDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*VectorParamsMap); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[3].Exporter = func(v any, i int) any {
switch v := v.(*VectorParamsDiffMap); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[4].Exporter = func(v any, i int) any {
switch v := v.(*VectorsConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[5].Exporter = func(v any, i int) any {
switch v := v.(*VectorsConfigDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[6].Exporter = func(v any, i int) any {
switch v := v.(*SparseVectorParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[7].Exporter = func(v any, i int) any {
switch v := v.(*SparseVectorConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[8].Exporter = func(v any, i int) any {
switch v := v.(*MultiVectorConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[9].Exporter = func(v any, i int) any {
switch v := v.(*GetCollectionInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[10].Exporter = func(v any, i int) any {
switch v := v.(*CollectionExistsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[11].Exporter = func(v any, i int) any {
switch v := v.(*CollectionExists); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[12].Exporter = func(v any, i int) any {
switch v := v.(*CollectionExistsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[13].Exporter = func(v any, i int) any {
switch v := v.(*ListCollectionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[14].Exporter = func(v any, i int) any {
switch v := v.(*CollectionDescription); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[15].Exporter = func(v any, i int) any {
switch v := v.(*GetCollectionInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[16].Exporter = func(v any, i int) any {
switch v := v.(*ListCollectionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[17].Exporter = func(v any, i int) any {
switch v := v.(*MaxOptimizationThreads); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[18].Exporter = func(v any, i int) any {
switch v := v.(*OptimizerStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[19].Exporter = func(v any, i int) any {
switch v := v.(*CollectionWarning); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[20].Exporter = func(v any, i int) any {
switch v := v.(*HnswConfigDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[21].Exporter = func(v any, i int) any {
switch v := v.(*SparseIndexConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[22].Exporter = func(v any, i int) any {
switch v := v.(*WalConfigDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[23].Exporter = func(v any, i int) any {
switch v := v.(*OptimizersConfigDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[24].Exporter = func(v any, i int) any {
switch v := v.(*ScalarQuantization); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[25].Exporter = func(v any, i int) any {
switch v := v.(*ProductQuantization); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[26].Exporter = func(v any, i int) any {
switch v := v.(*BinaryQuantizationQueryEncoding); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[27].Exporter = func(v any, i int) any {
switch v := v.(*BinaryQuantization); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[28].Exporter = func(v any, i int) any {
switch v := v.(*TurboQuantization); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[29].Exporter = func(v any, i int) any {
switch v := v.(*QuantizationConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[30].Exporter = func(v any, i int) any {
switch v := v.(*Disabled); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[31].Exporter = func(v any, i int) any {
switch v := v.(*QuantizationConfigDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[32].Exporter = func(v any, i int) any {
switch v := v.(*StrictModeConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[33].Exporter = func(v any, i int) any {
switch v := v.(*StrictModeSparseConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[34].Exporter = func(v any, i int) any {
switch v := v.(*StrictModeSparse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[35].Exporter = func(v any, i int) any {
switch v := v.(*StrictModeMultivectorConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[36].Exporter = func(v any, i int) any {
switch v := v.(*StrictModeMultivector); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[37].Exporter = func(v any, i int) any {
switch v := v.(*CreateCollection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[38].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCollection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[39].Exporter = func(v any, i int) any {
switch v := v.(*DeleteCollection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[40].Exporter = func(v any, i int) any {
switch v := v.(*CollectionOperationResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[41].Exporter = func(v any, i int) any {
switch v := v.(*CollectionParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[42].Exporter = func(v any, i int) any {
switch v := v.(*CollectionParamsDiff); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[43].Exporter = func(v any, i int) any {
switch v := v.(*CollectionConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[44].Exporter = func(v any, i int) any {
switch v := v.(*KeywordIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[45].Exporter = func(v any, i int) any {
switch v := v.(*IntegerIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[46].Exporter = func(v any, i int) any {
switch v := v.(*FloatIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[47].Exporter = func(v any, i int) any {
switch v := v.(*GeoIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[48].Exporter = func(v any, i int) any {
switch v := v.(*StopwordsSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[49].Exporter = func(v any, i int) any {
switch v := v.(*TextIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[50].Exporter = func(v any, i int) any {
switch v := v.(*StemmingAlgorithm); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[51].Exporter = func(v any, i int) any {
switch v := v.(*SnowballParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[52].Exporter = func(v any, i int) any {
switch v := v.(*BoolIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[53].Exporter = func(v any, i int) any {
switch v := v.(*DatetimeIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[54].Exporter = func(v any, i int) any {
switch v := v.(*UuidIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[55].Exporter = func(v any, i int) any {
switch v := v.(*PayloadIndexParams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[56].Exporter = func(v any, i int) any {
switch v := v.(*PayloadSchemaInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[57].Exporter = func(v any, i int) any {
switch v := v.(*UpdateQueueInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[58].Exporter = func(v any, i int) any {
switch v := v.(*CollectionInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[59].Exporter = func(v any, i int) any {
switch v := v.(*ChangeAliases); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[60].Exporter = func(v any, i int) any {
switch v := v.(*AliasOperations); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[61].Exporter = func(v any, i int) any {
switch v := v.(*CreateAlias); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[62].Exporter = func(v any, i int) any {
switch v := v.(*RenameAlias); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[63].Exporter = func(v any, i int) any {
switch v := v.(*DeleteAlias); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[64].Exporter = func(v any, i int) any {
switch v := v.(*ListAliasesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[65].Exporter = func(v any, i int) any {
switch v := v.(*ListCollectionAliasesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[66].Exporter = func(v any, i int) any {
switch v := v.(*AliasDescription); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[67].Exporter = func(v any, i int) any {
switch v := v.(*ListAliasesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[68].Exporter = func(v any, i int) any {
switch v := v.(*CollectionClusterInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[69].Exporter = func(v any, i int) any {
switch v := v.(*ShardKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[70].Exporter = func(v any, i int) any {
switch v := v.(*LocalShardInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[71].Exporter = func(v any, i int) any {
switch v := v.(*RemoteShardInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[72].Exporter = func(v any, i int) any {
switch v := v.(*ShardTransferInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[73].Exporter = func(v any, i int) any {
switch v := v.(*ReshardingInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[74].Exporter = func(v any, i int) any {
switch v := v.(*CollectionClusterInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[75].Exporter = func(v any, i int) any {
switch v := v.(*MoveShard); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[76].Exporter = func(v any, i int) any {
switch v := v.(*ReplicateShard); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[77].Exporter = func(v any, i int) any {
switch v := v.(*AbortShardTransfer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[78].Exporter = func(v any, i int) any {
switch v := v.(*RestartTransfer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[79].Exporter = func(v any, i int) any {
switch v := v.(*ReplicatePoints); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[80].Exporter = func(v any, i int) any {
switch v := v.(*Replica); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[81].Exporter = func(v any, i int) any {
switch v := v.(*CreateShardKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[82].Exporter = func(v any, i int) any {
switch v := v.(*DeleteShardKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[83].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCollectionClusterSetupRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[84].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCollectionClusterSetupResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[85].Exporter = func(v any, i int) any {
switch v := v.(*CreateShardKeyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[86].Exporter = func(v any, i int) any {
switch v := v.(*DeleteShardKeyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[87].Exporter = func(v any, i int) any {
switch v := v.(*ListShardKeysRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[88].Exporter = func(v any, i int) any {
switch v := v.(*CreateShardKeyResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[89].Exporter = func(v any, i int) any {
switch v := v.(*DeleteShardKeyResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[90].Exporter = func(v any, i int) any {
switch v := v.(*ShardKeyDescription); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_collections_proto_msgTypes[91].Exporter = func(v any, i int) any {
switch v := v.(*ListShardKeysResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_collections_proto_msgTypes[0].OneofWrappers = []any{}
file_collections_proto_msgTypes[1].OneofWrappers = []any{}
file_collections_proto_msgTypes[4].OneofWrappers = []any{
(*VectorsConfig_Params)(nil),
(*VectorsConfig_ParamsMap)(nil),
}
file_collections_proto_msgTypes[5].OneofWrappers = []any{
(*VectorsConfigDiff_Params)(nil),
(*VectorsConfigDiff_ParamsMap)(nil),
}
file_collections_proto_msgTypes[6].OneofWrappers = []any{}
file_collections_proto_msgTypes[17].OneofWrappers = []any{
(*MaxOptimizationThreads_Value)(nil),
(*MaxOptimizationThreads_Setting_)(nil),
}
file_collections_proto_msgTypes[20].OneofWrappers = []any{}
file_collections_proto_msgTypes[21].OneofWrappers = []any{}
file_collections_proto_msgTypes[22].OneofWrappers = []any{}
file_collections_proto_msgTypes[23].OneofWrappers = []any{}
file_collections_proto_msgTypes[24].OneofWrappers = []any{}
file_collections_proto_msgTypes[25].OneofWrappers = []any{}
file_collections_proto_msgTypes[26].OneofWrappers = []any{
(*BinaryQuantizationQueryEncoding_Setting_)(nil),
}
file_collections_proto_msgTypes[27].OneofWrappers = []any{}
file_collections_proto_msgTypes[28].OneofWrappers = []any{}
file_collections_proto_msgTypes[29].OneofWrappers = []any{
(*QuantizationConfig_Scalar)(nil),
(*QuantizationConfig_Product)(nil),
(*QuantizationConfig_Binary)(nil),
(*QuantizationConfig_Turboquant)(nil),
}
file_collections_proto_msgTypes[31].OneofWrappers = []any{
(*QuantizationConfigDiff_Scalar)(nil),
(*QuantizationConfigDiff_Product)(nil),
(*QuantizationConfigDiff_Disabled)(nil),
(*QuantizationConfigDiff_Binary)(nil),
(*QuantizationConfigDiff_Turboquant)(nil),
}
file_collections_proto_msgTypes[32].OneofWrappers = []any{}
file_collections_proto_msgTypes[34].OneofWrappers = []any{}
file_collections_proto_msgTypes[36].OneofWrappers = []any{}
file_collections_proto_msgTypes[37].OneofWrappers = []any{}
file_collections_proto_msgTypes[38].OneofWrappers = []any{}
file_collections_proto_msgTypes[39].OneofWrappers = []any{}
file_collections_proto_msgTypes[41].OneofWrappers = []any{}
file_collections_proto_msgTypes[42].OneofWrappers = []any{}
file_collections_proto_msgTypes[43].OneofWrappers = []any{}
file_collections_proto_msgTypes[44].OneofWrappers = []any{}
file_collections_proto_msgTypes[45].OneofWrappers = []any{}
file_collections_proto_msgTypes[46].OneofWrappers = []any{}
file_collections_proto_msgTypes[47].OneofWrappers = []any{}
file_collections_proto_msgTypes[49].OneofWrappers = []any{}
file_collections_proto_msgTypes[50].OneofWrappers = []any{
(*StemmingAlgorithm_Snowball)(nil),
}
file_collections_proto_msgTypes[52].OneofWrappers = []any{}
file_collections_proto_msgTypes[53].OneofWrappers = []any{}
file_collections_proto_msgTypes[54].OneofWrappers = []any{}
file_collections_proto_msgTypes[55].OneofWrappers = []any{
(*PayloadIndexParams_KeywordIndexParams)(nil),
(*PayloadIndexParams_IntegerIndexParams)(nil),
(*PayloadIndexParams_FloatIndexParams)(nil),
(*PayloadIndexParams_GeoIndexParams)(nil),
(*PayloadIndexParams_TextIndexParams)(nil),
(*PayloadIndexParams_BoolIndexParams)(nil),
(*PayloadIndexParams_DatetimeIndexParams)(nil),
(*PayloadIndexParams_UuidIndexParams)(nil),
}
file_collections_proto_msgTypes[56].OneofWrappers = []any{}
file_collections_proto_msgTypes[57].OneofWrappers = []any{}
file_collections_proto_msgTypes[58].OneofWrappers = []any{}
file_collections_proto_msgTypes[59].OneofWrappers = []any{}
file_collections_proto_msgTypes[60].OneofWrappers = []any{
(*AliasOperations_CreateAlias)(nil),
(*AliasOperations_RenameAlias)(nil),
(*AliasOperations_DeleteAlias)(nil),
}
file_collections_proto_msgTypes[69].OneofWrappers = []any{
(*ShardKey_Keyword)(nil),
(*ShardKey_Number)(nil),
}
file_collections_proto_msgTypes[70].OneofWrappers = []any{}
file_collections_proto_msgTypes[71].OneofWrappers = []any{}
file_collections_proto_msgTypes[72].OneofWrappers = []any{}
file_collections_proto_msgTypes[73].OneofWrappers = []any{}
file_collections_proto_msgTypes[75].OneofWrappers = []any{}
file_collections_proto_msgTypes[76].OneofWrappers = []any{}
file_collections_proto_msgTypes[77].OneofWrappers = []any{}
file_collections_proto_msgTypes[78].OneofWrappers = []any{}
file_collections_proto_msgTypes[79].OneofWrappers = []any{}
file_collections_proto_msgTypes[81].OneofWrappers = []any{}
file_collections_proto_msgTypes[83].OneofWrappers = []any{
(*UpdateCollectionClusterSetupRequest_MoveShard)(nil),
(*UpdateCollectionClusterSetupRequest_ReplicateShard)(nil),
(*UpdateCollectionClusterSetupRequest_AbortTransfer)(nil),
(*UpdateCollectionClusterSetupRequest_DropReplica)(nil),
(*UpdateCollectionClusterSetupRequest_CreateShardKey)(nil),
(*UpdateCollectionClusterSetupRequest_DeleteShardKey)(nil),
(*UpdateCollectionClusterSetupRequest_RestartTransfer)(nil),
(*UpdateCollectionClusterSetupRequest_ReplicatePoints)(nil),
}
file_collections_proto_msgTypes[85].OneofWrappers = []any{}
file_collections_proto_msgTypes[86].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_collections_proto_rawDesc,
NumEnums: 17,
NumMessages: 101,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_collections_proto_goTypes,
DependencyIndexes: file_collections_proto_depIdxs,
EnumInfos: file_collections_proto_enumTypes,
MessageInfos: file_collections_proto_msgTypes,
}.Build()
File_collections_proto = out.File
file_collections_proto_rawDesc = nil
file_collections_proto_goTypes = nil
file_collections_proto_depIdxs = nil
}